@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/chivo-vietnamese-wght-normal.BjQIDkhi.woff2) format("woff2-variations");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:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/chivo-latin-ext-wght-normal.CuxPzFD0.woff2) format("woff2-variations");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:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/chivo-latin-wght-normal.CPi3f958.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff")}@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")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff")}:root{color-scheme:dark;--ground: #13181a;--surface: #1b2124;--surface-raised: #212829;--hairline: #2b3335;--hairline-strong: #6d7c70;--ink: #e9edeb;--ink-muted: #96a19e;--signal: #b7f34d;--signal-hover: #cdf97c;--on-signal: #0b0f0c;--signal-ink: #b7f34d;--copper: #e08a4c;--button-fill: var(--signal);--button-fill-hover: var(--signal-hover);--button-text: var(--on-signal);--field: #20362a;--on-field: #f1f4ec;--wheat: #e7d9a6;--on-wheat: #20362a;--error: #ff9b7a;--focus: #b7f34d;--font-display: "Chivo Variable", Chivo, "Helvetica Neue", Arial, sans-serif;--font-sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--space-6: 64px;--space-7: 96px;--radius-sm: 0px;--radius-md: 0px;--radius-full: 9999px;--measure: 1280px;--gutter: clamp(16px, 4vw, 64px);--rail: 160px;--section-y: clamp(var(--space-6), 10vh, var(--space-7));--ease: cubic-bezier(.22, .61, .36, 1);--dur: .25s}:root[data-theme=light]{color-scheme:light;--ground: #f6f7f4;--surface: #ffffff;--surface-raised: #eceee9;--hairline: #d8dcd6;--hairline-strong: #7a807a;--ink: #13181a;--ink-muted: #4d5654;--signal-hover: #a4e33a;--signal-ink: #3a6410;--copper: #9a4a1c;--button-fill: var(--ink);--button-fill-hover: #2b3335;--button-text: var(--surface);--error: #a8361a;--focus: #2f5509}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--ground);color:var(--ink);font:400 16px/24px var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}img,svg,canvas{display:block;max-width:100%}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:900;line-height:1.15;letter-spacing:-.015em;text-wrap:balance}.t-hero{font-size:clamp(44px,8vw,72px);line-height:1;letter-spacing:-.02em}.t-display{font-size:clamp(34px,5vw,48px);line-height:1.08;letter-spacing:-.02em}.t-head{font-size:clamp(26px,3.4vw,32px);line-height:1.19;letter-spacing:-.015em}.t-subhead{font-size:22px;line-height:28px;letter-spacing:-.01em}.t-sub{font-size:18px;line-height:28px;color:var(--ink-muted);text-wrap:pretty}.t-body{max-width:64ch;text-wrap:pretty}.t-dim{color:var(--ink-muted)}.t-small{font-size:14px;line-height:20px}.mono,.eyebrow{font:500 12px/16px var(--font-mono);letter-spacing:.04em}.eyebrow{color:var(--copper)}code{font:400 .875em/1.4 var(--font-mono);color:var(--signal-ink);background:var(--surface-raised);border:1px solid var(--hairline);padding:.1em .36em}a{color:var(--signal-ink);text-decoration:none;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}a:hover{color:var(--ink)}.t-body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:var(--gutter);top:0;transform:translateY(-140%);z-index:100;background:var(--button-fill);color:var(--button-text);padding:var(--space-2) var(--space-3);font:500 12px/16px var(--font-mono);transition:transform .2s var(--ease)}.skip-link:focus-visible{transform:translateY(var(--space-2))}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.shell{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}.rail-grid{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-4);align-items:start}@media(max-width:720px){.rail-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}}.section{padding-block:var(--section-y);border-top:1px solid var(--hairline)}.section__rail{position:sticky;top:6rem;display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:720px){.section__rail{position:static}}.section__label{color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.section__body>*+*{margin-top:var(--space-5)}.rule{height:1px;border:0;background:var(--hairline)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:600 15px/20px var(--font-sans);cursor:pointer}.btn:hover{color:var(--ink);background:var(--surface-raised)}.btn--primary{background:var(--button-fill);border-color:transparent;color:var(--button-text)}.btn--primary:hover{background:var(--button-fill-hover);color:var(--button-text)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-2);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:color-mix(in srgb,var(--ink) 75%,var(--ink-muted));font:500 12px/16px var(--font-mono);letter-spacing:.04em;white-space:nowrap}.tag--signal{border-color:var(--signal-ink);color:var(--signal-ink)}.data-label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-muted);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.data-label:before{content:"";flex:none;width:8px;height:8px;border-radius:var(--radius-full);background:var(--signal-ink)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-4);color:var(--ink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.theme[data-astro-cid-x3pjskd3]{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:.4rem .55rem;min-height:32px;border:1px solid var(--hairline-strong);background:transparent;color:var(--ink-muted);cursor:pointer;outline-offset:2px;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.theme[data-astro-cid-x3pjskd3]:hover,.theme[data-astro-cid-x3pjskd3]:focus-visible{color:var(--ink);background:var(--surface)}.theme__mark[data-astro-cid-x3pjskd3]{width:.8125rem;height:.8125rem}.theme__mark--sun[data-astro-cid-x3pjskd3]{display:none}:root[data-theme=light] .theme__mark--moon[data-astro-cid-x3pjskd3]{display:none}:root[data-theme=light] .theme__mark--sun[data-astro-cid-x3pjskd3]{display:block}.masthead[data-astro-cid-r6zpem2t]{position:sticky;top:0;z-index:50;background:var(--ground);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease)}.masthead[data-astro-cid-r6zpem2t][data-scrolled],.masthead[data-astro-cid-r6zpem2t][data-open]{border-bottom-color:var(--hairline)}.masthead__inner[data-astro-cid-r6zpem2t]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);min-height:64px}.masthead__controls[data-astro-cid-r6zpem2t]{grid-column:-2;justify-self:end;display:flex;align-items:stretch;gap:var(--space-2)}.lockup[data-astro-cid-r6zpem2t]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink)}.lockup[data-astro-cid-r6zpem2t]:hover{color:var(--ink)}.lockup__mark[data-astro-cid-r6zpem2t]{flex:none;width:32px;height:32px;fill:var(--signal-ink);transition:transform var(--dur) var(--ease)}.lockup[data-astro-cid-r6zpem2t]:hover .lockup__mark[data-astro-cid-r6zpem2t]{transform:translateY(-2px)}.lockup__text[data-astro-cid-r6zpem2t]{display:grid}.lockup__name[data-astro-cid-r6zpem2t]{font:900 16px/20px var(--font-display);letter-spacing:-.01em}.lockup__role[data-astro-cid-r6zpem2t]{color:var(--ink-muted);font:400 12px/16px var(--font-sans)}.masthead__nav[data-astro-cid-r6zpem2t]{justify-self:end}.nav__list[data-astro-cid-r6zpem2t]{display:flex;align-items:center;gap:var(--space-1)}.nav__link[data-astro-cid-r6zpem2t]{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding:var(--space-2) var(--space-3);color:var(--ink-muted);font:500 14px/20px var(--font-sans);white-space:nowrap}.nav__index[data-astro-cid-r6zpem2t]{display:none;color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.nav__link[data-astro-cid-r6zpem2t]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:2px;height:2px;background:var(--signal-ink);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav__link[data-astro-cid-r6zpem2t]:hover,.nav__link[data-astro-cid-r6zpem2t][aria-current]{color:var(--ink)}.nav__link[data-astro-cid-r6zpem2t]:hover:after,.nav__link[data-astro-cid-r6zpem2t][aria-current]:after{transform:scaleX(1)}.menu-btn[data-astro-cid-r6zpem2t]{display:none;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--hairline-strong);background:transparent;color:var(--ink);font:500 12px/16px var(--font-mono);letter-spacing:.04em;cursor:pointer}.menu-btn[data-astro-cid-r6zpem2t]:hover{background:var(--surface-raised)}.menu-btn__icon[data-astro-cid-r6zpem2t]{position:relative;width:14px;height:8px}.menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform var(--dur) var(--ease),top var(--dur) var(--ease)}.menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]:first-child{top:0}.menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]:last-child{top:calc(100% - 1.5px)}.menu-btn[data-astro-cid-r6zpem2t][aria-expanded=true] .menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]{top:calc(50% - .75px)}.menu-btn[data-astro-cid-r6zpem2t][aria-expanded=true] .menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]:first-child{transform:rotate(45deg)}.menu-btn[data-astro-cid-r6zpem2t][aria-expanded=true] .menu-btn__icon[data-astro-cid-r6zpem2t] span[data-astro-cid-r6zpem2t]:last-child{transform:rotate(-45deg)}@media(max-width:860px){.masthead__inner[data-astro-cid-r6zpem2t]{min-height:60px}.masthead__inner[data-astro-cid-r6zpem2t]{grid-template-columns:1fr auto}.menu-btn[data-astro-cid-r6zpem2t]{display:inline-flex}.masthead__nav[data-astro-cid-r6zpem2t]{position:absolute;top:100%;left:0;right:0;justify-self:stretch;display:grid;gap:var(--space-5);padding:var(--space-3) var(--gutter) var(--space-5);background:var(--ground);border-bottom:1px solid var(--hairline);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.masthead[data-astro-cid-r6zpem2t][data-open] .masthead__nav[data-astro-cid-r6zpem2t]{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.nav__list[data-astro-cid-r6zpem2t]{display:grid;align-items:stretch;gap:0}.nav__list[data-astro-cid-r6zpem2t] li[data-astro-cid-r6zpem2t]+li[data-astro-cid-r6zpem2t]{border-top:1px solid var(--hairline)}.nav__link[data-astro-cid-r6zpem2t]{display:flex;gap:var(--space-3);padding:var(--space-3) 0;color:var(--ink);font:900 26px/32px var(--font-display);letter-spacing:-.015em}.nav__index[data-astro-cid-r6zpem2t]{display:inline}.nav__link[data-astro-cid-r6zpem2t]:after{left:0;right:auto;width:40px;bottom:8px}}.circuit-signals[data-astro-cid-52ok4l6c]{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.page[data-astro-cid-5hce7sga]{position:relative;z-index:1}.footer[data-astro-cid-5hce7sga]{border-top:1px solid var(--hairline)}.footer__inner[data-astro-cid-5hce7sga]{padding-block:var(--space-5);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.footer__line[data-astro-cid-5hce7sga]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.footer__name[data-astro-cid-5hce7sga]{color:var(--ink)}.footer__sep[data-astro-cid-5hce7sga],.footer__rights[data-astro-cid-5hce7sga]{color:var(--ink-muted)}
