/*! tailwindcss v4.3.2 | 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)))){*,:before,:after,::backdrop{--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-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-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}}}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-cyrillic-wght-normal.CjwCQKo9.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-ext-wght-normal.BDUtSsKd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-wght-normal.ObQm3Zd1.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/jost-cyrillic-wght-italic.BC0WGFb7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-ext-wght-italic.DU2jD5Pk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Jost Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-wght-italic.b6W-FdEu.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.DzyfIafT.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BWSLJLk6.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.C9H9m1vD.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.C1uRvKPU.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.BqRLTx4X.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-italic.Bmy0yRBR.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-italic.BqzjwPnH.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-italic.CsGuNfVR.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-italic.BfAgiArQ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-italic.DnchwVcj.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-italic.B1mMy0tD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Sans 3 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-italic.Bg-PIjcQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--font-weight-normal:400;--font-weight-semibold:600;--tracking-tight:-.025em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent-200:#d7cdea;--color-accent-300:#c1afe4;--color-accent-400:#aa8ee1;--color-accent-500:#8b69ce;--color-accent-600:#6842b3;--color-accent-700:#4e3384;--color-ink:#f2f2f4;--color-soft:#b9bac6;--color-muted:#878899;--color-faint:#7d7e8e;--color-accent:var(--color-accent-500);--color-accent-hi:var(--color-accent-400);--color-accent-muted:#8b69ce2e;--color-accent-surface:#8b69ce14;--color-page:#101014;--color-surface:#ffffff09;--color-line:#fff3;--font-ui:"Jost Variable", "Jost", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-chrome:"Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--font-copy:"Source Sans 3 Variable", "Source Sans 3", ui-sans-serif, system-ui, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-display:clamp(2.375rem, 1.55rem + 3.6vw, 3.25rem);--text-display--line-height:1.25;--text-title:1.625rem;--text-title--line-height:1.3;--text-heading:1.3rem;--text-heading--line-height:1.4;--text-subhead:1.1875rem;--text-subhead--line-height:1.45;--text-body:1.15rem;--text-body--line-height:1.7;--text-meta:1.0625rem;--text-meta--line-height:1.65;--text-ui:.9375rem;--text-ui--line-height:1.5;--text-micro:.8125rem;--text-micro--line-height:1.25;--spacing-group:2.5rem;--spacing-section:6rem;--radius-token:.35rem;--radius-panel:.75rem}}@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,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]){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;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{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{.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.mx-auto{margin-inline:auto}.my-10{margin-block:calc(var(--spacing) * 10)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-group{margin-top:var(--spacing-group)}.mt-section{margin-top:var(--spacing-section)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[5\.5rem_1fr\]{grid-template-columns:5.5rem 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}: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-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-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-section>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing-section) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing-section) * 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-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-line{border-color:var(--color-line)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-6{padding-top:calc(var(--spacing) * 6)}.font-copy{font-family:var(--font-copy)}.font-data{font-family:var(--font-data)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-display{font-size:var(--text-display);line-height:var(--tw-leading,var(--text-display--line-height))}.text-meta{font-size:var(--text-meta);line-height:var(--tw-leading,var(--text-meta--line-height))}.text-micro{font-size:var(--text-micro);line-height:var(--tw-leading,var(--text-micro--line-height))}.text-subhead{font-size:var(--text-subhead);line-height:var(--tw-leading,var(--text-subhead--line-height))}.text-ui{font-size:var(--text-ui);line-height:var(--tw-leading,var(--text-ui--line-height))}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-soft{color:var(--color-soft)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.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,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}@media (width>=40rem){.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-x-4{column-gap:calc(var(--spacing) * 4)}.sm\:gap-x-6{column-gap:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}}}:root{color-scheme:dark;--motion:.16s;--ease:ease;scrollbar-width:thin;scrollbar-color:#34304a var(--color-page)}html{background:var(--color-page)}body{background:var(--color-page);color:var(--color-ink);font-family:var(--font-ui)}::selection{background:var(--color-accent-muted);color:var(--color-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-page)}::-webkit-scrollbar-thumb{background:#34304a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#453f61}:is(header,footer),.site-link,.tag-link{font-family:var(--font-chrome)}.metadata-row{font-family:var(--font-chrome);font-size:var(--text-ui);font-weight:500}.site-link{color:var(--color-muted);transition:color var(--motion) var(--ease)}.site-link:hover{color:var(--color-accent-hi)}.site-link-strong{color:var(--color-ink);transition:color var(--motion) var(--ease)}.site-link-strong:hover,.site-link-active{color:var(--color-accent-hi)}.site-icon-link{color:var(--color-faint);transition:color var(--motion) var(--ease), transform var(--motion) var(--ease)}.site-icon-link:hover{color:var(--color-accent-hi)}.site-icon-link:active{transform:translateY(1px)}.now-playing-track{color:var(--color-soft);text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion) var(--ease);overflow:hidden}.now-playing-track[href]:hover{color:var(--color-accent-hi)}.eq{flex:none;align-items:flex-end;gap:2px;height:10px;display:inline-flex}.now-note{color:var(--color-faint);flex:none}.eq i{background:var(--color-accent-hi);border-radius:1px;width:2px;display:block}.eq i:first-child{height:5px}.eq i:nth-child(2){height:10px}.eq i:nth-child(3){height:7px}.reading-rail{--rail-width:2px;--rail-length:50%;--rail-track:#ffffff0f;--rail-fill:var(--color-accent);--rail-radius:999px;--article-half:21rem;--stop-size:12px;--stop-ring:3.5px;--stop-idle:#ffffff38;--stop-done:var(--color-accent-hi);--stop-scale:1.15;--mark-length:9px;--mark-weight:2px;--mark-idle:#ffffff57;top:calc(50% - var(--rail-length) / 2);left:calc((50% - var(--article-half)) / 2 - var(--stop-size) / 2);z-index:40;height:var(--rail-length);width:var(--stop-size);justify-content:center;display:none;position:fixed}@media (width>=64rem){.reading-rail:not([hidden]){display:flex}.reading-progress{display:none}}.reading-rail-track{width:var(--rail-width);border-radius:var(--rail-radius);background:var(--rail-track);height:100%;position:relative;overflow:hidden}.reading-rail-track i{border-radius:var(--rail-radius);background:var(--rail-fill);width:100%;height:0;display:block}.reading-rail-stops{position:absolute;inset:0}.reading-rail-stop{height:var(--stop-size);width:var(--stop-size);position:absolute;left:50%;transform:translate(-50%,-50%)}.reading-rail-stop:before{content:"";border:var(--stop-ring) solid var(--color-page);background:var(--stop-idle);transition:background-color var(--motion) var(--ease), transform var(--motion) var(--ease);border-radius:50%;position:absolute;inset:0}.reading-rail-stop.is-read:before{background:var(--stop-done);transform:scale(var(--stop-scale))}.reading-rail-stop:hover:before,.reading-rail-stop:focus-visible:before{transform:scale(1.5)}.reading-rail-stop:focus-visible{outline:none}.reading-rail-stop:focus-visible:before{box-shadow:0 0 0 2px var(--color-page), 0 0 0 3.5px var(--color-accent-hi)}.reading-rail-mark{height:var(--mark-weight);width:var(--mark-length);border-radius:var(--rail-radius);background:var(--mark-idle);position:absolute;left:50%;transform:translate(-50%,-50%)}.reading-rail-stop:after{content:attr(data-label);max-width:min(11rem, calc(25vw - var(--article-half) / 2 - 1.5rem));color:var(--color-muted);font-family:var(--font-chrome);font-size:var(--text-micro);text-align:right;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity var(--motion) var(--ease), transform var(--motion) var(--ease);pointer-events:none;line-height:1.3;position:absolute;top:50%;right:calc(100% + .75rem);overflow:hidden;transform:translateY(-50%)translate(.25rem)}.reading-rail-stop:hover:after,.reading-rail-stop:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}.reading-progress{z-index:50;background:linear-gradient(var(--color-accent-muted) 0 3px, transparent 3px), linear-gradient(to bottom, var(--color-page) 0 6px, transparent 15px);pointer-events:none;height:15px;position:fixed;inset:0 0 auto}.reading-progress i{transform-origin:0;background:var(--color-accent);height:3px;display:block;transform:scaleX(0)}.article-content :is(h2,h3) .heading-anchor{color:var(--color-accent);font-family:var(--font-data);opacity:0;transition:opacity var(--motion) var(--ease);margin-left:.4em;font-size:.8em;font-weight:400;text-decoration:none}.article-content :is(h2,h3):hover .heading-anchor,.article-content .heading-anchor:focus-visible{opacity:1}.page-lede{line-height:1.55}.typed-text{color:var(--color-ink)}.typed-mark{color:var(--color-accent);transition:color var(--motion) var(--ease);text-decoration:none}.typed-mark[href]:hover,.typed-mark[href]:focus-visible{color:var(--color-accent-hi)}.caret{background:var(--color-accent-hi);vertical-align:-.16em;border-radius:1px;width:.5ch;height:1.05em;margin-left:.1em;display:none}.caret.is-typing{display:inline-block}.caret.is-idle{animation:1.05s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.section-label{color:var(--color-accent);font-size:var(--text-ui);letter-spacing:.06em;text-transform:lowercase;font-weight:600}.year-heading{color:var(--color-faint);font-family:var(--font-chrome);font-size:var(--text-ui);font-variant-numeric:tabular-nums;font-weight:500}.pull-quote{color:var(--color-soft);font-family:var(--font-ui);font-size:var(--text-heading);text-align:center;text-wrap:balance;margin-inline:0;margin-bottom:0;font-weight:600;line-height:1.5}.pull-quote p{margin:0}.pull-quote p+p{color:var(--color-accent-hi)}.pull-quote p:first-child:before{content:"“";color:var(--color-faint);margin-left:-.55em}.pull-quote p:last-child:after{content:"”";color:var(--color-faint);margin-right:-.55em}.tag-row{flex-wrap:wrap;gap:0 1rem;margin-block:-.75rem;display:flex}.tag-link{min-height:2.75rem;color:var(--color-muted);font-size:var(--text-ui);transition:color var(--motion) var(--ease);align-items:center;font-weight:600;display:inline-flex}.tag-link:before{content:"#";color:var(--color-accent)}.tag-link:hover{color:var(--color-accent-hi)}.tech-line{color:var(--color-faint);font-family:var(--font-data);font-size:var(--text-micro);letter-spacing:.01em;flex-wrap:wrap;align-items:baseline;margin-top:.5rem;line-height:1.5;display:flex}.tech-line-item{white-space:nowrap}.tech-line-dot{margin:0 .4rem}.project-list{border-top:1px solid var(--color-line)}.project-row{isolation:isolate;grid-template-columns:6rem 1fr auto;align-items:baseline;gap:.125rem 1.375rem;margin-inline:-.625rem;padding:1rem .625rem 1.0625rem;display:grid;position:relative}.project-row:before{content:"";z-index:-1;background:var(--color-accent-surface);--wash-fade:linear-gradient(to right, transparent 0%, #00000008 3%, #0000001f 6%, #0000004d 10%, #0000008c 14%, #000000c7 17%, #000000ed 20%, #000 24%, #000 76%, #000000ed 80%, #000000c7 83%, #0000008c 86%, #0000004d 90%, #0000001f 94%, #00000008 97%, transparent 100%);-webkit-mask-image:var(--wash-fade);-webkit-mask-image:var(--wash-fade);mask-image:var(--wash-fade);opacity:0;transition:opacity var(--motion) var(--ease);position:absolute;inset:0}@supports (mask-composite:intersect) and (background:rgb(from red r g b / calc(alpha / 2))){.project-row:before{background:rgb(from var(--color-accent-surface) r g b / calc(alpha / .85));-webkit-mask-image:var(--wash-fade), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0.3 0 0 0 0.7'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-image:var(--wash-fade), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0.3 0 0 0 0.7'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:var(--wash-fade), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0.3 0 0 0 0.7'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-size:100% 100%,120px 120px;mask-repeat:no-repeat,repeat;mask-composite:intersect}}.project-row:hover:before{opacity:1}.project-row:after{content:"";border-bottom:1px solid var(--color-line);position:absolute;bottom:0;left:.625rem;right:.625rem}.project-list-flush .project-row:last-child:after{content:none}.project-row-rail{color:var(--color-faint);font-family:var(--font-chrome);font-weight:500;font-size:var(--text-micro);font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}.project-row-name{color:var(--color-ink);font-size:var(--text-subhead);transition:color var(--motion) var(--ease);font-weight:600}.project-row:hover .project-row-name{color:var(--color-accent-hi)}.project-row-designation{color:var(--color-faint);font-family:var(--font-chrome);font-weight:500;font-size:var(--text-micro);white-space:nowrap}.project-row-sep{margin-right:.5rem;display:none}.project-row-body{grid-column:2/-1}.project-row-description{max-width:56ch;color:var(--color-muted);font-family:var(--font-copy);font-size:var(--text-meta);margin-top:.3125rem;line-height:1.8;display:block}@media not all and (width>=40rem){.project-row{grid-template-columns:auto 1fr;column-gap:.5rem}.project-row-rail{grid-area:1/1}.project-row-designation{grid-area:1/2;justify-self:start}.project-row-sep{display:inline}.project-row-name{grid-area:2/1/2/-1;margin-top:.25rem}.project-row-body{grid-area:3/1/3/-1}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.metadata-separator{color:var(--color-faint);font-style:normal}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.article-content img[src*=happycat]{cursor:url(/cursors/swipe.png) 9 4,grab}.article-content{color:var(--color-soft);font-family:var(--font-copy);font-size:var(--text-body);font-weight:400;line-height:var(--text-body--line-height)}.article-content>*+*{margin-top:1.5rem}.article-content :is(h2,h3,h4,h5,h6)+*{margin-top:.75rem}.article-content :is(h2,h3,h4,h5,h6){font-family:var(--font-ui)}.article-content h2{color:var(--color-ink);font-size:var(--text-title);line-height:var(--text-title--line-height);letter-spacing:-.025em;margin-top:3.5rem;font-weight:600}.article-content h3{color:var(--color-ink);font-size:var(--text-heading);line-height:var(--text-heading--line-height);margin-top:2.5rem;font-weight:600}.article-content p{color:var(--color-soft)}.article-content a{color:var(--color-ink);text-decoration-line:underline;-webkit-text-decoration-color:var(--color-accent-muted);-webkit-text-decoration-color:var(--color-accent-muted);text-decoration-color:var(--color-accent-muted);text-underline-offset:.18em;transition:color var(--motion) var(--ease), text-decoration-color var(--motion) var(--ease)}.article-content a:hover{color:var(--color-accent-hi);-webkit-text-decoration-color:var(--color-accent-hi);-webkit-text-decoration-color:var(--color-accent-hi);text-decoration-color:var(--color-accent-hi)}.article-content ul,.article-content ol{padding-left:1.5rem}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li+li{margin-top:.5rem}.article-content blockquote{border-left:3px solid var(--color-accent);background:var(--color-accent-muted);color:var(--color-soft);padding:1rem 1.25rem}.article-content blockquote>:first-child{margin-top:0}.article-content blockquote>:last-child{margin-bottom:0}.article-content code{border:1px solid var(--color-line);border-radius:var(--radius-token);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-data);padding:.15rem .35rem;font-size:.85em}.article-content pre{border:1px solid var(--color-line);border-radius:var(--radius-panel);padding:1rem;overflow-x:auto;background:var(--color-surface)!important}.article-content pre code{border:0;padding:0;background:0 0!important}.article-content hr{border:0;border-top:1px solid var(--color-line);margin:2rem 0}.article-content img{max-width:100%;height:auto;margin:2rem auto;display:block}.article-content p:has(>img){margin-block:2rem}.article-content p:has(>img) img{margin-block:0}.article-content p:has(>img)+p{margin-top:-1rem}.article-content p:has(>img)+p em{color:var(--color-faint);font-size:var(--text-ui);text-align:center;line-height:1.6;display:block}.article-content .callout{border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-soft);padding:1rem 1.25rem}.article-content .callout>*+*{margin-top:.75rem}.article-content .callout-title{color:var(--color-ink);font-family:var(--font-chrome);font-size:var(--text-ui);text-transform:lowercase;font-weight:600}.article-content .callout>:first-child{margin-top:0}.article-content .callout>:last-child{margin-bottom:0}.now-grid{gap:.4375rem;margin:0;display:grid}.now-grid>div,.now-row{grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1rem;display:grid}@media not all and (width>=40rem){.now-grid{gap:1rem}.now-grid>div,.now-row{grid-template-columns:1fr;gap:.0625rem}}.now-grid dt,.now-row [data-now-label]{color:var(--color-faint);font-family:var(--font-chrome);font-size:var(--text-ui)}.now-grid dd{color:var(--color-soft);font-family:var(--font-data);font-size:var(--text-micro);font-variant-numeric:tabular-nums;margin:0}.typed-cell{display:grid}.typed-cell>*{grid-area:1/1}.typed-ghost{visibility:hidden}.typed-live{display:block}.typed-ghost .caret{display:inline-block}.now-value{align-items:center;gap:.5rem;min-width:0;display:flex}.swatches{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.swatch{flex-direction:column;gap:.5rem;display:flex}.swatch-chip{background:var(--chip);height:3.5rem;box-shadow:inset 0 0 0 1px var(--color-line);border-radius:.375rem;display:block}.swatch-chip.is-layered{background:linear-gradient(to right, var(--color-page) 0 50%, var(--color-ink) 50% 100%);position:relative;overflow:hidden}.swatch-chip.is-layered:after{content:"";background:var(--chip);position:absolute;inset:0}.swatch-meta{flex-direction:column;gap:.1875rem;display:flex}.swatch-name{color:var(--color-soft);font-family:var(--font-data);font-size:var(--text-micro)}.swatch-value{color:var(--color-faint);font-family:var(--font-data);font-size:var(--text-micro);font-variant-numeric:tabular-nums}.swatch-note,.specimen-note{color:var(--color-muted);font-family:var(--font-copy);font-size:var(--text-micro);margin-top:.25rem;line-height:1.6}.specimen{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.specimen-row{border-bottom:1px solid var(--color-line);flex-direction:column;gap:.5rem;padding:1.125rem 0;display:flex}.specimen-meta{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.specimen-name{color:var(--color-accent-hi);font-family:var(--font-data);font-size:var(--text-micro)}.specimen-value{color:var(--color-faint);font-family:var(--font-data);font-size:var(--text-micro);font-variant-numeric:tabular-nums;text-align:right}.specimen-sample{color:var(--color-ink);overflow-wrap:anywhere;display:block}@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-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-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}
