@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_dd5b2f{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_898c26{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_898c26{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--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-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:host,:root{--font-sans:var(--font-space-grotesk),"Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,"SF Mono",monospace;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-space-grotesk),"Helvetica Neue",Arial,sans-serif;--default-mono-font-family:var(--font-jetbrains-mono),ui-monospace,"SF Mono",monospace}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;transition:background-color .35s,color .35s}::selection{background-color:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}html.theme-switching,html.theme-switching *,html.theme-switching body{transition:background-color .18s,border-color .18s,color .18s,fill .18s,stroke .18s}#main{scroll-margin-top:84px}}@layer components;@layer utilities{.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;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}}.wrap{max-width:1280px;margin-inline:auto;padding-inline:40px}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.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-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-24{margin-top:calc(var(--spacing) * 24)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-auto{height:auto}.h-full{height:100%}.min-h-\[70vh\]{min-height:70vh}.min-h-dvh{min-height:100dvh}.w-\[8\.5rem\]{width:8.5rem}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[620px\]{max-width:620px}.max-w-\[640px\]{max-width:640px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[12ch\]{min-width:12ch}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(240px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * 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-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-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-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-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--line)}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:var(--accent)}.border-line{border-color:var(--line)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-panel-2{background-color:var(--panel-2)}.bg-paper{background-color:var(--bg)}.bg-paper-raised{background-color:var(--panel)}.bg-transparent{background-color:#0000}.u-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;padding-bottom:1px;text-decoration:none;transition:background-size .2s}.u-link:hover{background-size:100% 1px}.p-3{padding:calc(var(--spacing) * 3)}.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)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.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-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-right{text-align:right}.font-mono{font-family:var(--font-jetbrains-mono),ui-monospace,"SF Mono",monospace}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[11\.5px\]{font-size:11.5px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[15\.5px\]{font-size:15.5px}.text-\[16\.5px\]{font-size:16.5px}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.4em\]{--tw-tracking:.4em;letter-spacing:.4em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--dim\)\]{color:var(--dim)}.text-accent-ink{color:var(--accent-ink)}.text-accent-text{color:var(--accent-text)}.text-faint{color:var(--faint)}.text-ink{color:var(--text)}.text-ink-muted{color:var(--dim)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-accent{accent-color:var(--accent)}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:text-accent-text:is(:where(.group):hover *){color:var(--accent-text)}}.file\:mr-3::file-selector-button{margin-right:calc(var(--spacing) * 3)}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:border::file-selector-button{border-style:var(--tw-border-style);border-width:1px}.file\:border-line::file-selector-button{border-color:var(--line)}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:py-1\.5::file-selector-button{padding-block:calc(var(--spacing) * 1.5)}.file\:font-mono::file-selector-button{font-family:var(--font-jetbrains-mono),ui-monospace,"SF Mono",monospace}.file\:text-\[0\.6875rem\]::file-selector-button{font-size:.6875rem}.file\:tracking-\[0\.12em\]::file-selector-button{--tw-tracking:.12em;letter-spacing:.12em}.file\:text-ink-muted::file-selector-button{color:var(--dim)}.file\:uppercase::file-selector-button{text-transform:uppercase}.placeholder\:text-faint::placeholder{color:var(--faint)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[0\.75em\]:before{content:var(--tw-content);top:.75em}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-3:before{content:var(--tw-content);width:calc(var(--spacing) * 3)}.before\:bg-faint:before{content:var(--tw-content);background-color:var(--faint)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--accent)}.hover\:border-line:hover{border-color:var(--line)}.hover\:text-accent-text:hover{color:var(--accent-text)}.hover\:text-ink:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_6px_28px_var\(--accent-dim\)\]:hover{--tw-shadow:0 6px 28px var(--tw-shadow-color,var(--accent-dim));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[60\]:focus{z-index:60}.focus\:border:focus{border-style:var(--tw-border-style);border-width:1px}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:border-line:focus{border-color:var(--line)}.focus\:bg-paper:focus{background-color:var(--bg)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus\:ring-accent-dim:focus{--tw-ring-color:var(--accent-dim)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:text-\[44px\]{font-size:44px}}@media (min-width:64rem){.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-\[13rem_1fr\]{grid-template-columns:13rem 1fr}}}:root{--accent:#c8f55f;--bg:#0b0e13;--panel:#10141c;--panel-2:#0e1219;--line:#1e2530;--line-2:#161c26;--text:#e8edf4;--dim:#9aa5b7;--faint:#747f92;--accent-text:var(--accent);--accent-dim:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--accent-dim:color-mix(in oklab,var(--accent) 14%,transparent)}}:root{--accent-ink:#0b0e13;--grid-line:#ffffff08;--depth:#2e3a55;--cursor:var(--accent)}[data-theme=light]{--bg:#f1f2ec;--panel:#fafaf6;--panel-2:#f5f6f0;--line:#d9dcd0;--line-2:#e3e5db;--text:#14171d;--dim:#4b5260;--faint:#686e79;--accent-text:var(--accent)}@supports (color:color-mix(in lab,red,red)){[data-theme=light]{--accent-text:color-mix(in oklab,var(--accent) 52%,#232b00)}}[data-theme=light]{--accent-dim:var(--accent)}@supports (color:color-mix(in lab,red,red)){[data-theme=light]{--accent-dim:color-mix(in oklab,var(--accent) 22%,transparent)}}[data-theme=light]{--grid-line:#00000009;--depth:#b9c0ce;--cursor:var(--accent-text)}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}#main{padding-top:96px}@media (max-width:899px){#main{padding-top:80px}}.accent{color:var(--accent-text)}.panel{border:1px solid var(--line);background:var(--panel);position:relative}.panel .tick{pointer-events:none;width:9px;height:9px;position:absolute}.panel .tick:after,.panel .tick:before{content:"";background:var(--accent);position:absolute}.panel .tick:before{width:9px;height:1.5px}.panel .tick:after{width:1.5px;height:9px}.tick.tl{top:-1px;left:-1px}.tick.tr{top:-1px;right:-1px;transform:scaleX(-1)}.tick.bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.tick.br{bottom:-1px;right:-1px;transform:scale(-1)}.panel-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;color:var(--dim);justify-content:space-between;align-items:center;gap:16px;padding:15px 24px;font-size:12px;display:flex}.panel-head .live{color:var(--accent-text)}.facts{grid-template-columns:1fr 1fr 1fr 1fr;margin-top:56px;display:grid}.facts>div{border:1px solid var(--line);background:var(--panel);margin-top:-1px;margin-left:-1px;padding:22px 26px}.facts .k{letter-spacing:.12em;color:var(--faint);font-size:11.5px}.facts .k,.facts .v{font-family:var(--font-mono)}.facts .v{color:var(--text);overflow-wrap:anywhere;margin-top:8px;font-size:14.5px;font-weight:700}.view-all{justify-content:center;margin-top:40px;display:flex}.view-all a{font-family:var(--font-mono);letter-spacing:.1em;color:var(--dim);border:1px solid var(--line);padding:16px 36px;font-size:13px;font-weight:700;transition:all .18s}.view-all a:hover{color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.section{padding-top:140px}.section-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:12px;display:flex}.section-kicker{letter-spacing:.14em;color:var(--accent-text);font-size:13px}.back-link,.section-kicker{font-family:var(--font-mono);text-transform:uppercase}.back-link{letter-spacing:.1em;color:var(--faint);align-items:center;gap:8px;font-size:12px;transition:color .15s;display:inline-flex}.back-link .back-arrow{transition:transform .18s;display:inline-block}.back-link:hover{color:var(--text)}.back-link:hover .back-arrow{transform:translate(-3px)}.page-head .back-link{margin-bottom:14px}.section-meta{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);font-size:12.5px}.section h2{letter-spacing:-.02em;margin:10px 0 0;font-size:44px;font-weight:600}.section-rule{background:var(--line);transform-origin:0;height:1px;margin-top:32px}.nav-pill{z-index:50;border:1px solid var(--line);background:var(--panel);border-radius:999px;max-width:calc(100vw - 32px);padding:16px 24px;position:fixed;top:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.nav-pill{background:color-mix(in oklab,var(--panel) 82%,transparent)}}.nav-pill{-webkit-backdrop-filter:blur(12px);view-transition-name:site-nav}@media (prefers-reduced-motion:no-preference){.nav-pill{transition:padding .24s cubic-bezier(.16,1,.3,1)}}.nav-pill[data-condensed=true]{padding:10px 24px}.nav-pill-inner{justify-content:space-between;align-items:center;gap:28px;height:100%;display:flex}.nav-pill-logo{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.nav-pill-logo:hover{color:var(--accent-text)}.nav-pill-logo-short,.nav-pill[data-condensed=true] .nav-pill-logo-full{display:none}.nav-pill[data-condensed=true] .nav-pill-logo-short{display:inline}.nav-pill-center{display:none}.nav-pill-links{font-family:var(--font-mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase;white-space:nowrap;align-items:center;gap:28px;font-size:12px;display:flex;position:relative}.nav-pill-links a{padding:4px 0;transition:color .15s}.nav-pill-links a.active,.nav-pill-links a:hover{color:var(--text)}.nav-pill-dot{background:var(--accent);opacity:0;pointer-events:none;border-radius:999px;width:4px;height:4px;position:absolute;bottom:-7px;left:0;transform:translate(0)}@media (prefers-reduced-motion:no-preference){.nav-pill-dot{transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .16s}}.nav-pill-actions{align-items:center;gap:10px;display:flex}.nav-pill-look,.nav-pill-theme,.theme-btn{display:inline-flex}.theme-btn{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:7px 14px;font-size:11.5px;transition:border-color .15s}.theme-btn:hover{border-color:var(--accent)}.kbd-btn,.look-btn{min-width:44px;min-height:44px}.kbd-btn{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--faint);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:7px 14px;font-size:11.5px;transition:border-color .15s,color .15s;display:inline-flex;position:relative}.kbd-btn:hover{border-color:var(--accent);color:var(--text)}.kbd-btn-label--narrow{display:none}@media (max-width:899px){.kbd-btn-label--wide,.nav-pill-center,.nav-pill-look,.nav-pill-theme{display:none}.kbd-btn-label--narrow{display:inline}}@media (min-width:900px){.nav-pill-center{display:flex}}@media print{.nav-pill{display:none}}.progress{z-index:51;transform-origin:0;background:var(--accent);pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.hero{padding-top:120px;position:relative}.status-line{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);align-items:center;gap:12px;min-height:20px;margin-bottom:36px;font-size:13px;display:flex}.status-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent);border-radius:99px;flex:none}.hero h1{letter-spacing:-.04em;max-width:1200px;margin:0;font-size:clamp(44px,7.8vw,144px);font-weight:600;line-height:.92}.hero-sub{color:var(--dim);text-wrap:pretty;max-width:640px;margin:44px 0 0;font-size:21px;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:52px;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:15px 28px;font-size:13.5px;font-weight:700;transition:all .18s;display:inline-flex}.btn:hover{color:var(--text);transform:translateY(-2px)}.btn-primary,.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{color:var(--accent-ink);box-shadow:0 6px 28px var(--accent-dim)}@media (max-width:640px){.hero .hero-actions{gap:12px}.hero .hero-actions>span{width:100%}.hero .hero-actions>span:not(:first-child){width:calc(50% - 6px)}.hero .hero-actions .btn{justify-content:center;width:100%}}.contrib-panel{margin-top:20px}.contrib-body{flex-direction:column;gap:14px;padding:24px;display:flex}.contrib-scroll{max-width:100%;overflow-x:auto}.contrib-graph{width:max-content;display:block}.contrib-cells,.contrib-months{grid-template-columns:repeat(var(--cols),clamp(9px,1.1vw,14px));column-gap:3px;width:max-content;display:grid}.contrib-cells{grid-template-rows:repeat(7,clamp(9px,1.1vw,14px));row-gap:3px}.contrib-cell{border-radius:2px}.contrib-months{height:14px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);align-items:center;margin-top:8px;font-size:10px}@media (min-width:900px){.contrib-graph{width:100%}.contrib-cells,.contrib-months{grid-template-columns:repeat(var(--cols),minmax(0,1fr));width:100%}}.contrib-legend{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);flex:none;align-self:flex-end;align-items:center;gap:6px;font-size:10.5px;display:flex}.contrib-swatch{background:var(--accent);border-radius:2px;flex:none;width:9px;height:9px}.contrib-recent{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.02em;color:var(--dim);margin:0;padding:14px 24px;font-size:12.5px;transition:color .15s}.contrib-recent:hover{color:var(--accent-text)}html[data-look=house] .house-canvas{z-index:0;pointer-events:none;opacity:0;transition:opacity .4s;position:fixed;inset:0}html[data-look=house][data-house=on] .house-canvas{opacity:1}html[data-look=house] body>footer,html[data-look=house] body>main{z-index:1;position:relative}html[data-look=house] #main,html[data-look=house] body>footer{transition:opacity .3s}html[data-look=house][data-house-walking] #main,html[data-look=house][data-house-walking] body>footer{opacity:0;pointer-events:none;transition:opacity .2s}html[data-look=house][data-house-mode=walk] #main{height:calc(var(--walk,1) * 100vh);padding-top:0}html[data-look=house][data-house-mode=walk] body>footer{display:none}html[data-look=house][data-house-mode=walk] [data-house-orphan],html[data-look=house][data-house-mode=walk] [data-stop]{z-index:2;box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:none;opacity:0;pointer-events:none;width:min(46ch,38vw);max-width:640px;max-height:calc(100vh - 200px);margin:0;padding:28px;transition:opacity .32s;position:fixed;top:50%;overflow-y:auto;translate:0 -50%}html[data-look=house][data-house-mode=walk] [data-stop].reveal,html[data-look=house][data-house-mode=walk] [data-stop].reveal.in{opacity:0;transition:opacity .32s;transform:none}html[data-look=house][data-house-mode=walk] [data-stop]::-webkit-scrollbar{display:none}html[data-look=house][data-house-mode=walk] [data-stop]{background:var(--panel)}@supports (color:color-mix(in lab,red,red)){html[data-look=house][data-house-mode=walk] [data-stop]{background:color-mix(in srgb,var(--panel) 88%,transparent)}}html[data-look=house][data-house-mode=walk] [data-stop]{border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-look=house][data-house-mode=walk] [data-stop]:before{content:"";pointer-events:none;background-repeat:no-repeat;background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px;position:absolute;inset:-1px}html[data-look=house][data-house-mode=walk] [data-house-orphan]{border:0;width:min(46ch,38vw);max-height:100vh;padding:0;top:0;left:0}html[data-look=house][data-house-mode=walk] [data-side=left]{left:6vw}html[data-look=house][data-house-mode=walk] [data-side=right]{right:6vw}html[data-look=house][data-house-mode=walk] [data-side=center]{left:50%;translate:-50% -50%}html[data-look=house][data-house-mode=walk] [data-stop=hero]{width:min(60ch,44vw);padding:32px}html[data-look=house][data-house-mode=walk] [data-stop][data-active],html[data-look=house][data-house-mode=walk] [data-stop][data-active].reveal,html[data-look=house][data-house-mode=walk] [data-stop][data-active].reveal.in{opacity:1;pointer-events:auto}html[data-look=house][data-house-mode=walk] [data-house-pin=top-left]{z-index:3;width:38vw;margin:0;position:fixed;top:100px;left:6vw}html[data-look=house][data-house-mode=walk] [data-house-pin=top-left].work-filter{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:2px;overflow-x:auto}html[data-look=house][data-house-mode=walk] [data-house-pin=top-left].work-filter::-webkit-scrollbar{display:none}html[data-look=house][data-house-mode=walk] [data-house-pin=top-left] .filter-chip{white-space:nowrap;flex:none;padding:7px 12px;font-size:11px}html[data-look=house][data-house-mode=walk] [data-stop] h1{font-size:clamp(40px,4.6vw,84px)}html[data-look=house][data-house-mode=walk] [data-stop] .contact-panel h2,html[data-look=house][data-house-mode=walk] [data-stop] .work-aside-heading,html[data-look=house][data-house-mode=walk] [data-stop] h2{font-size:min(40px,3.1vw);line-height:1.12}html[data-look=house][data-house-mode=walk] [data-stop] .page-head,html[data-look=house][data-house-mode=walk] [data-stop].page-head{padding-top:0}html[data-look=house][data-house-mode=walk] [data-stop] .contact-sub,html[data-look=house][data-house-mode=walk] [data-stop] .hero-sub,html[data-look=house][data-house-mode=walk] [data-stop] .page-sub{max-width:none;font-size:16px}html[data-look=house][data-house-mode=walk] [data-stop] .wrap,html[data-look=house][data-house-mode=walk] [data-stop].wrap{max-width:none;margin-inline:0;padding-inline:0}html[data-look=house][data-house-mode=walk] [data-stop] .section,html[data-look=house][data-house-mode=walk] [data-stop].section{padding-block:0}html[data-look=house][data-house-mode=walk] [data-stop] .panel{background:0 0;border-color:#0000}html[data-look=house][data-house-mode=walk] [data-stop] .panel .tick{display:none}html[data-look=house][data-house-mode=walk] [data-stop] .contact-panel{padding:0;display:block}html[data-look=house][data-house-mode=walk] [data-stop] .contact-actions{margin-top:24px}html[data-look=house][data-house-mode=walk] [data-stop=stats] .grid{grid-template-columns:minmax(0,1fr);gap:14px}html[data-look=house][data-house-mode=walk] [data-stop=stats] .contrib-cells,html[data-look=house][data-house-mode=walk] [data-stop=stats] .contrib-months{column-gap:1px}html[data-look=house][data-house-mode=walk] [data-stop=stats] .contrib-cells{grid-template-rows:repeat(7,5px);row-gap:1px}html[data-look=house][data-house-mode=walk] [data-stop=stats] .contrib-recent,html[data-look=house][data-house-mode=walk] [data-stop=stats] .panel-head{padding-inline:0}html[data-look=house][data-house-mode=walk] [data-stop=stats] .contrib-panel>div:last-child{padding:12px 0 0}html[data-look=house][data-house-mode=walk] [data-stop].pcard-item{border:1px solid var(--line)}html[data-look=house][data-house-mode=walk] [data-stop].pcard-item .pcard{border:0;padding:0;display:block}html[data-look=house][data-house-mode=walk] [data-stop].pcard-item .pcard-rail{gap:16px;margin-bottom:10px;display:flex}html[data-look=house][data-house-mode=walk] [data-stop].pcard-item .pcard-metric{text-align:left;margin-top:16px}html[data-look=house][data-house-mode=read] #main{z-index:2;box-sizing:border-box;background:var(--panel);width:min(52vw,860px);height:auto;margin-inline:6vw auto;padding:28px 28px 64px;position:relative}@supports (color:color-mix(in lab,red,red)){html[data-look=house][data-house-mode=read] #main{background:color-mix(in srgb,var(--panel) 88%,transparent)}}html[data-look=house][data-house-mode=read] #main{border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-look=house][data-house-mode=read] #main:before{content:"";pointer-events:none;background-repeat:no-repeat;background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px,9px 1.5px,1.5px 9px;position:absolute;inset:-1px}html[data-look=house][data-house-mode=read] #main .wrap{max-width:none;padding-inline:0}html[data-look=house][data-house-mode=read] #main h1{font-size:clamp(40px,4.6vw,84px)}html[data-look=house][data-house-mode=read] #main .case-hero-backdrop,html[data-look=house][data-house-mode=read] body>footer{display:none}.house-labels{z-index:1;pointer-events:none;font-family:var(--font-mono);opacity:0;transition:opacity .4s;position:fixed;inset:0;overflow:hidden}html[data-look=house][data-house=on] .house-labels{opacity:1}html[data-look=house][data-house-walking] .house-labels{opacity:0;transition:opacity .2s}.house-label{will-change:transform;white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 2px var(--bg),0 0 6px var(--bg);font-size:10.5px;position:absolute;top:0;left:0}.house-label[hidden]{display:none}.house-label--door{pointer-events:auto;color:var(--text);background:var(--bg);align-items:center;gap:7px;padding:3px 8px;font-size:11px;display:flex}@supports (color:color-mix(in lab,red,red)){.house-label--door{background:color-mix(in srgb,var(--bg) 62%,transparent)}}.house-label--door{border:1px solid var(--line);cursor:pointer}.house-label--door:before{content:"";background:var(--accent);flex:none;width:7px;height:1.5px}.house-label--door:hover{color:var(--accent-text);border-color:var(--accent-dim)}.house-label--placard{pointer-events:auto;white-space:normal;background:var(--bg);max-width:190px;padding:5px 8px;display:block}@supports (color:color-mix(in lab,red,red)){.house-label--placard{background:color-mix(in srgb,var(--bg) 62%,transparent)}}.house-label--placard{border-left:1.5px solid var(--accent);text-decoration:none}.house-label--placard .house-label-title{color:var(--text);letter-spacing:.06em;font-size:11px;display:block}.house-label--placard .house-label-meta{color:var(--faint);margin-top:2px;font-size:9.5px;display:block}.house-label--placard:hover .house-label-title{color:var(--accent-text)}.house-label--caption{white-space:normal;background:var(--panel);max-width:200px;padding:4px 8px}@supports (color:color-mix(in lab,red,red)){.house-label--caption{background:color-mix(in srgb,var(--panel) 85%,transparent)}}.house-label--caption{color:var(--dim);font-size:11px}.house-label--caption strong{color:var(--text);letter-spacing:.08em;font-weight:500;display:block}.house-label[data-dim]{opacity:.15}@media (prefers-reduced-motion:reduce){html[data-look=house] #main,html[data-look=house] .house-labels,html[data-look=house] [data-stop]{transition-duration:.01ms}}.house-quality-notice{z-index:60;background:var(--panel);max-width:min(360px,100vw - 32px);padding:10px 14px;position:fixed;bottom:16px;left:16px}@supports (color:color-mix(in lab,red,red)){.house-quality-notice{background:color-mix(in srgb,var(--panel) 92%,transparent)}}.house-quality-notice{border:1px solid var(--line);font-family:var(--font-mono);color:var(--dim);border-radius:8px;font-size:11.5px;line-height:1.5;animation:house-quality-notice-in .2s both}.house-quality-notice a{color:var(--accent-text,var(--accent));text-underline-offset:2px;text-decoration:underline}@keyframes house-quality-notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.house-quality-notice{animation:none}}.runs{margin-top:0}.run{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr 300px;gap:32px;padding:36px 0;transition:background .2s;display:grid;position:relative}.run:hover{background:linear-gradient(90deg,transparent,var(--panel) 8%,var(--panel) 92%,transparent)}.run-rail{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);flex-direction:column;gap:8px;padding-top:6px;font-size:12.5px;display:flex}.run-rail .run-id{color:var(--dim);font-weight:700;transition:color .18s}.run:hover .run-id{color:var(--accent-text)}.run-main h3{letter-spacing:-.015em;flex-wrap:wrap;align-items:baseline;gap:14px;margin:0;font-size:28px;font-weight:600;display:flex}.run-main h3 .arrow{font-family:var(--font-mono);color:var(--faint);font-size:18px;transition:color .18s,transform .18s;display:inline-block}.run:hover .arrow{color:var(--accent-text);transform:translate(4px,-2px)}.run-sub{margin:6px 0 0}.run-desc,.run-sub{color:var(--dim);font-size:15.5px}.run-desc{text-wrap:pretty;max-width:620px;margin:16px 0 0;line-height:1.65}.run-stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.run-metric{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;padding-right:8px;display:flex}.run-metric .value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:34px;font-weight:700}.run-metric .label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);font-size:11.5px}.method-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:48px;display:grid}.method-card{padding:32px 28px}.method-card .idx{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent-text);font-size:12px}.method-card h3{letter-spacing:-.01em;margin:18px 0 0;font-size:24px;font-weight:600}.method-card p{color:var(--dim);text-wrap:pretty;margin:14px 0 0;font-size:15px;line-height:1.65}.toolbox{font-family:var(--font-mono);letter-spacing:.05em;color:var(--dim);flex-wrap:wrap;align-items:baseline;gap:24px;margin-top:20px;padding:22px 28px;font-size:13px;display:flex}.toolbox .k{color:var(--faint);letter-spacing:.12em;font-size:11.5px}.proj-sig path{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;vector-effect:non-scaling-stroke}@media screen and (prefers-reduced-motion:no-preference){body[data-motion=on] .reveal .proj-sig path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--k,0) * 6ms)}body[data-motion=on] .reveal.in .proj-sig path{stroke-dashoffset:0}}.pcard-list{margin-top:0;padding:0;list-style:none}.pcard-item{position:relative}.pcard-item[hidden]{display:none}.pcard{border-bottom:1px solid var(--line);isolation:isolate;--mx:50%;--my:50%;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));grid-template-columns:60px 1fr 190px;gap:26px;padding:36px 0;transition:background .2s;display:grid;position:relative}.pcard:hover{background:linear-gradient(90deg,transparent,var(--panel) 8%,var(--panel) 92%,transparent)}.pcard:after{content:"";left:0;right:0;top:var(--my);background:radial-gradient(140px circle at var(--mx) 50%,var(--accent) 0,transparent 75%);opacity:0;pointer-events:none;z-index:0;height:1px;transition:opacity .2s;position:absolute}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pcard:hover:after{opacity:.9}}.pcard-rail{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);z-index:1;flex-direction:column;grid-area:1/1;gap:8px;padding-top:6px;font-size:12.5px;display:flex;position:relative}.pcard-id{color:var(--dim);font-weight:700;transition:color .18s}.pcard:hover .pcard-id{color:var(--accent-text)}.pcard-main{z-index:1;grid-area:1/2;position:relative}.pcard-title{letter-spacing:-.02em;margin:0;font-size:clamp(26px,2.6vw,40px);font-weight:600;line-height:1.05}.pcard-arrow{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;font-size:18px;transition:color .18s,transform .18s;display:inline-block}.pcard:hover .pcard-arrow{color:var(--accent-text);transform:translate(4px,-2px)}.pcard-summary{color:var(--dim);max-width:620px;margin:8px 0 0;font-size:15.5px}.pcard-stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.pcard-chip{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);background:0 0;padding:4px 10px;font-size:11px}.pcard-metric{z-index:1;text-align:right;flex-direction:column;grid-area:1/3;justify-content:center;align-items:flex-end;gap:6px;padding-right:8px;display:flex;position:relative}.pcard-metric-value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:34px;font-weight:700}.pcard-metric-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);font-size:11.5px}@media (max-width:1080px){.pcard{grid-template-columns:64px 1fr 200px;gap:24px}.pcard-metric-value{font-size:28px}}@media (max-width:900px){.pcard{grid-template-columns:1fr;gap:16px;padding:30px 0}.pcard-main,.pcard-metric,.pcard-rail{grid-area:auto/1}.pcard-rail{flex-flow:wrap;align-items:baseline;gap:16px;padding-top:0}.pcard-metric{text-align:left;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:12px;padding-right:0}.pcard-metric-value{font-size:24px}.pcard-title{font-size:clamp(23px,6vw,30px)}}.work-grid{grid-template-columns:1fr;gap:0;display:grid}.work-aside{margin-bottom:40px}.work-aside-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-size:13px;display:block}.work-aside-heading{letter-spacing:-.02em;margin:10px 0 0;font-size:32px;font-weight:600}.work-aside-count{color:var(--faint);margin-top:18px;font-size:12.5px;display:block}.work-aside-count,.work-aside-link{font-family:var(--font-mono);letter-spacing:.1em}.work-aside-link{color:var(--dim);border:1px solid var(--line);margin-top:24px;padding:12px 22px;font-size:13px;font-weight:700;transition:all .18s;display:inline-block}.work-aside-link:hover{color:var(--text);border-color:var(--accent);transform:translateY(-2px)}@media (min-width:1280px){.work-grid{grid-template-columns:220px 1fr;align-items:start;gap:28px}.work-aside{margin-bottom:0;position:sticky;top:120px}}.work-filter{flex-wrap:wrap;gap:10px;margin:32px 0 8px;display:flex}.filter-chip{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;padding:8px 16px;font-size:11.5px;transition:all .15s}.filter-chip:hover{color:var(--text);border-color:var(--dim)}.filter-chip[aria-pressed=true]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.case-hero{position:relative}.case-hero-backdrop{height:min(420px,52vw);color:var(--accent);opacity:.75;pointer-events:none;position:absolute;top:0;left:0;right:0;overflow:hidden}[data-theme=light] .case-hero-backdrop{opacity:.8}.case-hero-sig{width:100%;height:100%;display:block}.case-hero-fade{background:linear-gradient(to bottom,transparent 40%,var(--bg) 60%);position:absolute;inset:0}.case-hero-content{z-index:1;padding-top:clamp(80px,11vw,124px);position:relative}.case-hero-content .page-head{padding-top:0}.case-hero-stack{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.case-hero-metric{align-items:baseline;gap:12px;margin-top:20px;display:flex}.case-hero-metric .pcard-metric-value{font-size:30px}.case-body-grid{grid-template-columns:1fr;gap:48px;display:grid}.case-toc-col{display:none}@media (min-width:1100px){.case-body-grid{grid-template-columns:200px 1fr;align-items:start}.case-toc-col{display:block;position:sticky;top:120px}}.case-toc{font-family:var(--font-mono)}.case-toc-label{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-size:11px;display:block}.case-toc ul{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.case-toc a{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:12px;transition:color .15s,border-color .15s;display:block}.case-toc a:hover{color:var(--text)}.case-toc a[data-active=true]{color:var(--accent-text);border-left-color:var(--accent)}.case-nav{margin-top:32px}.case-nav-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.case-nav-link{background:var(--bg);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:64px;padding:0 24px;transition:background .18s;display:flex}.case-nav-link:hover{background:var(--panel)}.case-nav-link--next{flex-direction:row-reverse}.case-nav-dir{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);flex:none;align-items:center;gap:8px;font-size:11px;display:inline-flex}.case-nav-arrow{transition:transform .18s;display:inline-block}.case-nav-link:hover .case-nav-arrow{transform:translate(-4px)}.case-nav-link--next:hover .case-nav-arrow{transform:translate(4px)}.case-nav-title{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;min-width:0;font-size:18px;font-weight:600;transition:color .18s;overflow:hidden}.case-nav-link--next .case-nav-title{text-align:right}.case-nav-link:hover .case-nav-title{color:var(--accent-text)}@media (max-width:720px){.case-nav-grid{grid-template-columns:1fr}.case-nav-link,.case-nav-link--next{flex-direction:row;min-height:56px}.case-nav-link--next .case-nav-title{text-align:left}}@media print{.case-hero-backdrop{display:none!important}.case-hero-content{padding-top:0}}html[data-look=house] .pcard-item[data-house-hover]{border-color:var(--accent-dim)}html[data-look=house] .pcard-item[data-house-hover] .pcard-title{color:var(--accent-text)}.page-head{padding-top:96px}.page-head .section-kicker{margin-bottom:18px;display:block}.page-head h1{letter-spacing:-.03em;margin:0;font-size:clamp(44px,5.5vw,72px);font-weight:600;line-height:1.04}.page-head .page-sub{color:var(--dim);text-wrap:pretty;max-width:640px;margin:28px 0 0;font-size:18px;line-height:1.65}.contact{padding-bottom:0}.contact-panel{grid-template-columns:1fr auto;align-items:center;gap:48px;margin-top:0;padding:72px 64px;display:grid}.contact-panel h2{letter-spacing:-.025em;max-width:640px;margin:0;font-size:52px;font-weight:600}.contact-sub{color:var(--dim);margin:18px 0 0;font-size:16.5px;line-height:1.6}.contact-actions{flex-direction:column;gap:12px;display:flex}.footer{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;color:var(--faint);margin-top:120px;font-size:12px}.footer-status{margin-top:28px}.footer-status-inner{flex-wrap:wrap;gap:10px 36px;padding:18px 26px;font-size:11.5px;display:flex}.footer-inner{justify-content:space-between;gap:24px;padding:28px 40px}.footer-inner,.footer-links{flex-wrap:wrap;max-width:1280px;margin:0 auto;display:flex}.footer-links{text-transform:uppercase;gap:22px;padding:0 40px 26px}.footer-links a{transition:color .15s}.footer-links a:hover{color:var(--text)}.theme-dark-hidden{display:none}[data-theme=light] .theme-dark-hidden{display:inline}.look-classic-hidden,[data-theme=light] .theme-dark-visible{display:none}html[data-look=house] .look-classic-hidden{display:inline}html[data-look=house] .look-classic-visible{display:none}.prose{max-width:680px;font-size:16.5px;line-height:1.75}.prose>*+*{margin-top:1.3em}.prose h2{letter-spacing:-.015em;border-top:1px solid var(--line);margin-top:2.4em;padding-top:1.2em;font-size:26px;font-weight:600;line-height:1.2}.prose h3{margin-top:1.8em;font-size:20px;font-weight:600}.prose a{font-family:var(--font-mono);color:var(--accent-text);text-underline-offset:3px;font-size:.92em;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose strong{font-weight:600}.prose em{font-style:italic}.prose blockquote{border-left:2px solid var(--accent);color:var(--dim);padding-left:20px}.prose ol,.prose ul{padding-left:0;list-style:none}.prose ol>li,.prose ul>li{margin-top:.5em;padding-left:28px;position:relative}.prose ul>li:before{content:"";border-top:1px solid var(--faint);width:12px;height:1px;position:absolute;top:.65em;left:0}.prose ol{counter-reset:item}.prose ol>li:before{counter-increment:item;content:counter(item,decimal-leading-zero);font-family:var(--font-mono);color:var(--accent-text);font-size:12px;line-height:2.2;position:absolute;left:0}.prose code{font-family:var(--font-mono);background-color:var(--panel);border:1px solid var(--line-2);border-radius:0;padding:.1em .35em;font-size:.85em}.prose pre{background-color:var(--panel-2);border:1px solid var(--line);padding:20px 24px;font-size:13.5px;line-height:1.7;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:none;padding:0}.prose pre code span{color:var(--shiki-dark)}[data-theme=light] .prose pre code span{color:var(--shiki-light)}.prose img{border:1px solid var(--line);width:100%;height:auto}.prose hr{border:none;border-top:1px solid var(--line);margin-block:2.5em}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--faint);border-bottom:1px solid var(--dim);padding:8px 16px 8px 0;font-size:11.5px;font-weight:500}.prose td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:10px 16px 10px 0}.field{transition:box-shadow .15s}.field:focus-within{box-shadow:0 0 0 1px var(--accent)}.timeline{position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:148px}.timeline-item{grid-template-columns:132px 1fr;gap:32px;padding:26px 0;display:grid;position:relative}.timeline-item+.timeline-item{border-top:1px solid var(--line-2)}.timeline-node{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--bg);border-radius:999px;position:absolute;top:30px;left:143.5px}.timeline-date{font-family:var(--font-mono);letter-spacing:.08em;color:var(--faint);padding-top:2px;font-size:12px;display:block}.timeline-body h3{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.timeline-org{margin-top:4px}.timeline-body p,.timeline-org{color:var(--dim);font-size:14.5px}.timeline-body p{margin-top:8px;line-height:1.6}@media (max-width:640px){.timeline-node,.timeline:before{display:none}.timeline-item{grid-template-columns:1fr;gap:6px}}.chip-groups{flex-direction:column;gap:18px;margin-top:28px;display:flex}.chip-group{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.chip-group>.k{font-family:var(--font-mono);letter-spacing:.12em;color:var(--faint);min-width:128px;font-size:11.5px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-group .chip,.note-row-tags .chip{border:1px solid var(--line);color:var(--dim);background:0 0;transition:border-color .15s,color .15s}.chip-group .chip:hover,.note-row-tags .chip:hover{border-color:var(--accent);color:var(--text)}.note-list{margin-top:0}.note-row{border-bottom:1px solid var(--line)}.note-row:first-child{border-top:1px solid var(--line)}.note-row-link{grid-template-columns:140px 1fr 120px;gap:32px;padding:30px 0;display:grid}.note-row-date{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);padding-top:6px;font-size:12.5px}.note-row-title{letter-spacing:-.015em;align-items:baseline;gap:12px;margin:0;font-size:25px;font-weight:600;display:inline-flex}.note-row-title-text{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;padding-bottom:2px;transition:background-size .24s}.note-row:hover .note-row-title-text{background-size:100% 1px}.note-row-title .arrow{font-family:var(--font-mono);color:var(--faint);font-size:16px;transition:color .18s,transform .18s}.note-row:hover .note-row-title .arrow{color:var(--accent-text);transform:translate(3px,-2px)}.note-row-sub{color:var(--dim);margin:8px 0 0;font-size:15px}.note-row-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.note-row-time{text-align:right;white-space:nowrap;font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);padding-top:6px;font-size:12px}@media (max-width:900px){.note-row-link{grid-template-columns:1fr;gap:12px;padding:26px 0}.note-row-time{text-align:left}}.glitch{display:inline-block;position:relative}.cmdk-overlay{z-index:100;background:var(--bg);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.cmdk-overlay{background:color-mix(in oklab,var(--bg) 55%,transparent)}}.cmdk-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;justify-content:center;align-items:flex-start;padding-top:16vh;display:flex}.cmdk-overlay.open{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:no-preference){.cmdk-overlay{transition:opacity .18s}}.cmdk{background:var(--panel);border:1px solid var(--line);width:min(580px,100vw - 48px);transform:translateY(8px);box-shadow:0 24px 80px #00000073}.cmdk-overlay.open .cmdk{transform:none}@media (prefers-reduced-motion:no-preference){.cmdk{transition:transform .18s}}.cmdk-input{border:none;border-bottom:1px solid var(--line);width:100%;font-family:var(--font-mono);color:var(--text);letter-spacing:.02em;background:0 0;outline:none;padding:18px 22px;font-size:15px}.cmdk-input::placeholder{color:var(--faint)}.cmdk-list{max-height:320px;padding:8px;overflow-y:auto}.cmdk-item{cursor:pointer;min-height:44px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--dim);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:13.5px;display:flex}.cmdk-item.active{background:var(--accent-dim);color:var(--text)}.cmdk-item .hint{letter-spacing:.1em;color:var(--faint);font-size:11px}.cmdk-item.active .hint{color:var(--accent-text)}.cmdk-foot{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);gap:18px;padding:12px 22px;font-size:11px;display:flex}.res-grid{grid-template-columns:1fr 360px;align-items:start;gap:24px;margin-top:64px;display:grid}.res-col{flex-direction:column;gap:24px;display:flex}.res-block{padding:32px 32px 36px}.res-block .blk-kicker{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent-text);font-size:12px}.res-item{padding:22px 0 0}.res-item+.res-item{border-top:1px solid var(--line-2);margin-top:22px}.res-item .row1{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.res-item h3{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.res-item .when{font-family:var(--font-mono);letter-spacing:.08em;color:var(--faint);white-space:nowrap;font-size:12px}.res-item p{color:var(--dim);text-wrap:pretty;margin:8px 0 0;font-size:14.5px;line-height:1.6}.res-item .res-stack{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent-text);margin-top:10px;font-size:11.5px}.res-item .res-highlights{margin:10px 0 0;padding:0;list-style:none}.res-item .res-highlights li{color:var(--dim);text-wrap:pretty;padding-left:16px;font-size:14.5px;line-height:1.6;position:relative}.res-item .res-highlights li+li{margin-top:6px}.res-item .res-highlights li:before{content:"•";color:var(--faint);position:absolute;left:0}.print-secondary{font-family:var(--font-mono);letter-spacing:.04em;color:var(--faint);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-self:center;padding:0;font-size:12.5px;text-decoration:underline}.print-secondary:hover{color:var(--text)}.skill-group{padding:18px 0 0}.skill-group+.skill-group{border-top:1px solid var(--line-2);margin-top:18px}.skill-group .k{font-family:var(--font-mono);letter-spacing:.12em;color:var(--faint);font-size:11.5px}.skill-group .v{color:var(--dim);margin-top:8px;font-size:14.5px;line-height:1.7}@media screen{[data-theme=light] .res-block .blk-kicker,[data-theme=light] .res-item .res-stack{color:var(--accent-text)}@supports (color:color-mix(in lab,red,red)){[data-theme=light] .res-block .blk-kicker,[data-theme=light] .res-item .res-stack{color:color-mix(in oklab,var(--accent-text) 84%,#000)}}}@media screen and (prefers-reduced-motion:no-preference){body[data-motion=on] .reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);transform:translateY(18px)}body[data-motion=on] .reveal.in{opacity:1;transform:none}body[data-motion=on] .section-rule{transition:transform 1.1s cubic-bezier(.16,1,.3,1) .1s;transform:scaleX(0)}body[data-motion=on] .section-rule.in{transform:scaleX(1)}body[data-motion=on] .timeline.reveal:before{transform-origin:top;transition:transform 1.2s cubic-bezier(.16,1,.3,1) .1s;transform:scaleY(0)}body[data-motion=on] .timeline.reveal.in:before{transform:scaleY(1)}}.line{margin:-.06em 0 -.18em;padding:.06em 0 .18em;overflow:hidden}.line,.line-in{display:block}@media screen and (prefers-reduced-motion:no-preference){html[data-anim=on] .line-in{animation:lineUp 1s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.1s + var(--i,0) * .13s);transform:translateY(135%)}}@keyframes lineUp{to{transform:none}}.word{white-space:nowrap}.char,.word{display:inline-block}.char{font-variation-settings:"wght" var(--wght,600)}@media screen and (prefers-reduced-motion:no-preference){html[data-anim=on] .char{opacity:0;animation:charUp .8s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.1s + var(--i,0) * .13s + var(--ci,0) * 18ms);transform:translateY(130%)}}@keyframes charUp{to{opacity:1;transform:none}}@media screen and (prefers-reduced-motion:no-preference){.glitch:after,.glitch:before{content:attr(data-text);opacity:0;pointer-events:none;position:absolute;inset:0}.glitch:before{color:var(--accent);animation:glitch-a 6.4s step-end infinite}.glitch:after{color:var(--depth);animation:glitch-b 6.4s step-end infinite}}@keyframes glitch-a{0%,1.5%,to{opacity:0}.5%{opacity:.9;clip-path:inset(10% 0 55%);transform:translate(-2px,-1px)}2%{opacity:.9;clip-path:inset(60% 0 5%);transform:translate(-2px,1px)}2.5%,4%{opacity:0}4.4%{opacity:.9;clip-path:inset(30% 0 40%);transform:translate(-2px)}4.9%{opacity:0}}@keyframes glitch-b{0%,1.2%,to{opacity:0}.7%{opacity:.9;clip-path:inset(55% 0 10%);transform:translate(2px,1px)}2.2%{opacity:.9;clip-path:inset(5% 0 60%);transform:translate(2px,-1px)}2.7%,4.2%{opacity:0}4.6%{opacity:.9;clip-path:inset(40% 0 30%);transform:translate(2px)}5.1%{opacity:0}}@media (max-width:1080px){.run{grid-template-columns:120px 1fr 220px;gap:24px}.run-metric .value{font-size:28px}.res-grid{grid-template-columns:1fr 320px}}@media (max-width:900px){.run{grid-template-columns:1fr;gap:16px;padding:30px 0}.run-rail{gap:16px;padding-top:0}.run-metric,.run-rail{flex-direction:row;align-items:baseline}.run-metric{text-align:left;justify-content:flex-start;gap:12px;padding-right:0}.run-metric .value{font-size:24px}.facts{grid-template-columns:1fr 1fr}.method-grid{gap:16px}.contact-panel,.method-grid,.res-grid{grid-template-columns:1fr}.contact-panel{gap:32px;padding:48px 32px}.contact-panel h2{font-size:clamp(32px,6vw,44px)}.contact-actions{flex-flow:wrap}}@media (max-width:720px){.nav-inner{gap:12px;padding:14px 20px}.nav-links{letter-spacing:.08em;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:11.5px}.nav-sep{display:none}.hero{padding-top:72px}.hero-sub{margin-top:32px;font-size:18px}.hero-actions{gap:10px;margin-top:36px}.btn{padding:13px 20px}.telemetry{margin-top:64px}.tele-body svg{height:110px}.section{padding-top:88px}.section h2{font-size:32px}.section-head{flex-wrap:wrap}.page-head{padding-top:64px}.run-main h3{font-size:23px}.res-block{padding:26px 22px 30px}.footer{margin-top:88px}.footer-inner{flex-direction:column;gap:10px}}@media (max-width:640px){.footer-inner,.footer-links,.nav-inner,.wrap{padding-inline:20px}.facts{grid-template-columns:1fr}}@media (max-width:560px){.hero h1{font-size:clamp(38px,11.5vw,52px)}.page-head h1{font-size:clamp(32px,10vw,44px)}.status-line{letter-spacing:.06em;flex-wrap:wrap;align-items:flex-start}.status-line>:last-child{flex:1 1 0;min-width:0}.status-line .status-dot{margin-top:6px}}.cursor-crosshair{pointer-events:none;z-index:9999;will-change:transform;opacity:1;width:40px;height:40px;margin-top:-20px;margin-left:-20px;transition:opacity .16s;position:fixed;top:0;left:0}.cursor-crosshair.is-hidden,.cursor-crosshair.is-text{opacity:0}.cursor-crosshair-dot,.cursor-crosshair-h,.cursor-crosshair-ring,.cursor-crosshair-v{background:var(--cursor);transition:opacity .16s,width .16s,height .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cursor-crosshair-h{width:16px;height:1px}.cursor-crosshair-v{width:1px;height:16px}.cursor-crosshair-dot{border-radius:50%;width:3px;height:3px}.cursor-crosshair-ring{border:1px solid var(--cursor);width:0;height:0;box-shadow:0 0 0 1px var(--bg);opacity:0;background:0 0;border-radius:50%}.cursor-crosshair.is-target .cursor-crosshair-dot,.cursor-crosshair.is-target .cursor-crosshair-h,.cursor-crosshair.is-target .cursor-crosshair-v{opacity:0}.cursor-crosshair.is-target .cursor-crosshair-ring{opacity:1;width:36px;height:36px}.cursor-crosshair-label{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);opacity:0;margin-left:14px;font-size:10.5px;transition:opacity .16s;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.cursor-crosshair.has-label .cursor-crosshair-label{opacity:1}html[data-cursor=on] body{cursor:none}html[data-cursor=on] [role=button],html[data-cursor=on] a,html[data-cursor=on] button{cursor:pointer}html[data-cursor=on] [contenteditable=true],html[data-cursor=on] [contenteditable],html[data-cursor=on] input,html[data-cursor=on] textarea{cursor:text}@media print{.cursor-crosshair{display:none!important}}::view-transition{pointer-events:none}::view-transition-old(root){animation:vt-fade-out .2s ease-out both}::view-transition-new(root){animation:vt-fade-in .24s ease-in both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}.progress{view-transition-name:progress}.cursor-crosshair{view-transition-name:cursor}.house-canvas{view-transition-name:house-canvas}::view-transition-group(site-nav){animation:none}::view-transition-group(progress){animation:none}::view-transition-group(cursor){animation:none}::view-transition-group(house-canvas){animation:none}::view-transition-old(site-nav){display:none}::view-transition-old(progress){display:none}::view-transition-old(cursor){display:none}::view-transition-old(house-canvas){display:none}::view-transition-new(site-nav){animation:none}::view-transition-new(progress){animation:none}::view-transition-new(cursor){animation:none}::view-transition-new(house-canvas){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important}::view-transition-new(*){animation-duration:0s!important}::view-transition-group(*){animation-duration:0s!important}html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media print{:root,:root[data-theme=light]{--bg:#fff;--panel:#fff;--panel-2:#fff;--line:#ccc;--line-2:#e2e2e2;--text:#111;--dim:#444;--faint:#777;--accent-text:#333;--accent-dim:#f0f0f0;--grid-line:transparent}html{color-scheme:light}body,html{background:#fff}body{color:#111}html[data-look=house] .house-canvas{display:none}html[data-look=house] [data-stop]{opacity:1;position:static;transform:none}html[data-look=house] #main{height:auto}.back-link,.btn,.cmdk-overlay,.footer,.hero-actions,.kbd-btn,.nav,.progress,.status-dot,.theme-btn,.view-all{display:none!important}.panel{box-shadow:none}.panel .tick{display:none}.page-head{padding-top:0}.page-head h1{font-size:34px}.page-head .page-sub{margin-top:10px;font-size:14px}.section{padding-top:32px}.res-grid{grid-template-columns:1fr 300px;gap:14px;margin-top:24px}.res-col{gap:14px}.res-block{padding:16px 18px 20px}.res-item{padding-top:12px}.res-item+.res-item{margin-top:12px}.res-item h3{font-size:15px}.res-item p{font-size:12px}.res-item .res-highlights{margin-top:6px}.res-item .res-highlights li{font-size:12px}.skill-group{padding-top:10px}.skill-group+.skill-group{margin-top:10px}.prose a:after{content:" (" attr(href) ")";font-family:var(--font-mono);color:var(--dim);word-break:break-all;font-size:.7em}.resume-print{font-size:10pt;line-height:1.3}.resume-print .page-head{padding-top:0}.resume-print .page-head h1{font-size:22px}.resume-print .page-head .page-sub{margin-top:4px;font-size:10.5px}.resume-print .section{padding-top:10px}.resume-print .res-grid{grid-template-columns:1fr 250px;gap:10px;margin-top:8px}.resume-print .res-col{gap:8px}.resume-print .res-block{padding:8px 12px 10px}.resume-print .res-block .blk-kicker{margin-bottom:4px;font-size:11px}.resume-print .res-item{break-inside:avoid;page-break-inside:avoid;padding-top:6px}.resume-print .res-item+.res-item{margin-top:6px}.resume-print .res-item .row1{gap:8px}.resume-print .res-item h3{font-size:11px}.resume-print .res-item .when,.resume-print .res-item p{font-size:9.5px}.resume-print .res-item .res-highlights{margin-top:3px}.resume-print .res-item .res-highlights li{margin-top:1px;font-size:9.5px}.resume-print .res-stack{margin-top:2px;font-size:9px}.resume-print .skill-group{break-inside:avoid;page-break-inside:avoid;padding-top:5px}.resume-print .skill-group+.skill-group{margin-top:5px}.resume-print .skill-group .k{font-size:9px}.resume-print .skill-group .v{font-size:9.5px;line-height:1.4;display:inline}}@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-divide-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-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}