@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/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(/assets/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(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/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(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.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:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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}:root{--paper:#f2f0ea;--surface:#faf9f5;--line:#d6d2c8;--line-soft:#e4e0d7;--graphite:#5e5d59;--faint:#9a968d;--ink:#16181b;--signal:#e0461e;--signal-text:#b3340f;--signal-soft:#e0461e1a;--plate-top:var(--surface);--plate-side:#e7e3da;--plate-off-top:#efece5;--plate-off-side:#e6e2da;--plate-off-stroke:#c3beb2;--font-sans:"Instrument Sans Variable", "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-display:clamp(2.5rem, 1.5rem + 3.2vw, 4.25rem);--fs-h2:clamp(2rem, 1.35rem + 2.2vw, 3.5rem);--fs-h3:clamp(1.5rem, 1.15rem + 1.1vw, 2.25rem);--fs-lead:clamp(1.125rem, 1.02rem + .35vw, 1.3125rem);--fs-body:clamp(1rem, .97rem + .12vw, 1.0625rem);--fs-small:.875rem;--fs-mono:.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:clamp(4rem, 2.5rem + 5vw, 7.5rem);--section-gap:clamp(6rem, 3.5rem + 8vw, 11rem);--gutter:16px;--margin:20px;--container:1280px;--columns:4;--radius:4px;--header-h:64px;--ease:cubic-bezier(.2, .7, .1, 1);--dur-fast:.18s;--dur:.6s;--dur-slow:1s}@media (width>=600px){:root{--margin:32px;--columns:8;--gutter:20px}}@media (width>=900px){:root{--margin:48px;--header-h:72px}}@media (width>=1100px){:root{--margin:112px;--columns:12;--gutter:24px}}@media (width>=1440px){:root{--margin:128px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 24px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.55;overflow-x:clip}img,video,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{text-wrap:balance;font-weight:500}p{text-wrap:pretty}::selection{background:var(--signal);color:var(--surface)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--surface);border-radius:var(--radius);transition:transform var(--dur-fast) var(--ease);padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:calc(var(--container) + 2 * var(--margin));padding-inline:var(--margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.section{padding-block:calc(var(--section-gap) / 2)}.t-display{font-size:var(--fs-display);letter-spacing:-.035em;font-weight:500;line-height:1.02}.t-h2{font-size:var(--fs-h2);letter-spacing:-.03em;font-weight:500;line-height:1.04}.t-h3{font-size:var(--fs-h3);letter-spacing:-.02em;font-weight:500;line-height:1.12}.t-lead{font-size:var(--fs-lead);color:var(--graphite);line-height:1.5}.t-mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);line-height:1.5}.t-mono-plain{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--graphite);line-height:1.6}.t-signal{color:var(--signal-text)}.link{color:var(--ink);background-image:linear-gradient(var(--signal), var(--signal));transition:background-size var(--dur) var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1.5px;padding-bottom:3px;text-decoration:none}@media (hover:hover) and (pointer:fine){.link:hover{animation:link-draw var(--dur) var(--ease)}}@keyframes link-draw{0%{background-position:100% 100%;background-size:100% 1.5px}49%{background-position:100% 100%;background-size:0 1.5px}50%{background-position:0 100%;background-size:0 1.5px}to{background-position:0 100%;background-size:100% 1.5px}}[data-reveal]{opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transition-delay:calc(var(--reveal-i,0) * 70ms);transform:translateY(14px)}[data-reveal][data-revealed]{opacity:1;transform:none}[data-reveal=figure]{clip-path:inset(6% 6% 6% 6% round var(--radius));transition:opacity var(--dur) var(--ease), clip-path var(--dur-slow) var(--ease);transform:none}[data-reveal=figure][data-revealed]{clip-path:inset(0)}@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal=figure]{opacity:1;clip-path:none;transition:none;transform:none}}::view-transition-old(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}::view-transition-group(*){animation-duration:.52s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}.strip[data-v-5e9d414a]{gap:4px;display:flex}.strip__seg[data-v-5e9d414a]{flex-direction:column;flex:1 1 0;gap:4px;display:flex}.strip__bar[data-v-5e9d414a]{background:var(--line);height:3px;transition:background-color .45s var(--ease);border-radius:2px}.is-on .strip__bar[data-v-5e9d414a]{background:var(--signal)}.strip__num[data-v-5e9d414a]{font-family:var(--font-mono);color:var(--faint);transition:color .45s var(--ease);font-size:.5625rem;line-height:1}.is-on .strip__num[data-v-5e9d414a]{color:var(--signal-text)}.header[data-v-0e2b8071]{z-index:30;transition:background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);position:fixed;inset:0 0 auto}.header.is-scrolled[data-v-0e2b8071]{box-shadow:0 1px 0 var(--line);background:#f2f0eaf5}.header__bar[data-v-0e2b8071]{height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-5);max-width:none;display:flex}@media (width>=1100px){.header__bar[data-v-0e2b8071]{padding-inline:40px}}.brand[data-v-0e2b8071]{align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand__name[data-v-0e2b8071]{letter-spacing:-.01em;font-weight:600}.brand__role[data-v-0e2b8071]{font-family:var(--font-mono);color:var(--graphite);font-size:.6875rem}@media (width<=599.98px){.brand__role[data-v-0e2b8071]{display:none}}.nav[data-v-0e2b8071]{align-items:center;gap:clamp(1.25rem,2.5vw,2.25rem);display:none}@media (width>=900px){.nav[data-v-0e2b8071]{display:flex}}.nav__link[data-v-0e2b8071]{font-size:.9375rem;text-decoration:none;position:relative}.nav__link[data-v-0e2b8071]:after{content:"";background:var(--signal);transform-origin:100%;height:1.5px;transition:transform var(--dur-fast) var(--ease);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.nav__link[data-v-0e2b8071]:hover:after{transform-origin:0;transform:scaleX(1)}}.nav__cta[data-v-0e2b8071]{border:1px solid var(--ink);border-radius:var(--radius);height:36px;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:0 14px;font-size:.875rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.nav__cta[data-v-0e2b8071]:hover{background:var(--ink);color:var(--surface)}}.burger[data-v-0e2b8071]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:44px;height:44px;display:flex}@media (width>=900px){.burger[data-v-0e2b8071]{display:none}}.burger__line[data-v-0e2b8071]{background:var(--ink);width:18px;height:1.5px;transition:transform var(--dur-fast) var(--ease)}.is-open .burger .burger__line[data-v-0e2b8071]:first-child{transform:translateY(4.75px)rotate(45deg)}.is-open .burger .burger__line[data-v-0e2b8071]:last-child{transform:translateY(-4.75px)rotate(-45deg)}.header__strip[data-v-0e2b8071]{opacity:0;max-width:none;height:0;transition:height var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);overflow:hidden}.header__strip.is-visible[data-v-0e2b8071]{opacity:1;height:26px}@media (width>=1100px){.header__strip[data-v-0e2b8071]{display:none}}.menu[data-v-0e2b8071]{inset:var(--header-h) 0 0;background:var(--paper);visibility:hidden;opacity:0;transition:opacity var(--dur-fast) var(--ease), visibility 0s linear var(--dur-fast);position:fixed}.menu.is-open[data-v-0e2b8071]{visibility:visible;opacity:1;transition:opacity var(--dur-fast) var(--ease)}@media (width>=900px){.menu[data-v-0e2b8071]{display:none}}.menu__nav[data-v-0e2b8071]{padding-top:var(--space-7);gap:var(--space-2);flex-direction:column;display:flex}.menu__link[data-v-0e2b8071]{letter-spacing:-.03em;opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transition-delay:calc(var(--i) * 50ms);padding-block:4px;font-size:2.5rem;font-weight:500;text-decoration:none;transform:translateY(10px)}.is-open .menu__link[data-v-0e2b8071]{opacity:1;transform:none}.menu__links[data-v-0e2b8071]{gap:var(--space-5);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--line);font-size:1rem;display:flex}.menu__links a[data-v-0e2b8071]{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.footer[data-v-a5cb55a8]{justify-content:space-between;gap:var(--space-3) var(--space-6);padding-block:var(--space-6) var(--space-7);border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--graphite);flex-wrap:wrap;font-size:.6875rem;display:flex}.footer__hint[data-v-a5cb55a8]{align-items:center;gap:8px;display:none}@media (width>=1100px){.footer__hint[data-v-a5cb55a8]{display:flex}}kbd[data-v-a5cb55a8]{border:1px solid var(--graphite);width:20px;height:20px;font-family:var(--font-mono);color:var(--ink);border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;font-size:.625rem;display:inline-flex}.grid-overlay[data-v-f38841aa]{z-index:40;pointer-events:none;position:fixed;inset:0}.grid-overlay__cols[data-v-f38841aa]{height:100%}.grid-overlay__cols span[data-v-f38841aa]{background:#e0461e0f;border-inline:1px solid #e0461e38}.grid-overlay__badge[data-v-f38841aa]{background:var(--ink);color:var(--surface);border-radius:var(--radius);font-family:var(--font-mono);padding:8px 12px;font-size:.6875rem;position:absolute;bottom:16px;right:16px}.grid-overlay__badge kbd[data-v-f38841aa]{color:#f08a6c;font-family:inherit}.grid-enter-active[data-v-f38841aa],.grid-leave-active[data-v-f38841aa]{transition:opacity var(--dur-fast) var(--ease)}.grid-enter-from[data-v-f38841aa],.grid-leave-to[data-v-f38841aa]{opacity:0}.plate polygon[data-v-3b25ec1a]{stroke-width:var(--sw,1px);stroke-linejoin:round;transition:fill var(--dur-fast) var(--ease), stroke var(--dur-fast) var(--ease)}.plate__top[data-v-3b25ec1a]{fill:var(--plate-off-top);stroke:var(--plate-off-stroke)}.plate__side[data-v-3b25ec1a]{fill:var(--plate-off-side);stroke:var(--plate-off-stroke)}.plate.is-on .plate__top[data-v-3b25ec1a]{fill:var(--plate-top);stroke:var(--ink)}.plate.is-on .plate__side[data-v-3b25ec1a]{fill:var(--plate-side);stroke:var(--ink)}.core__line[data-v-3b25ec1a]{stroke:var(--faint);stroke-width:1px;stroke-dasharray:2 4}.core__dot[data-v-3b25ec1a]{fill:var(--graphite)}.is-hidden[data-v-3b25ec1a]{display:none}.active__line[data-v-3b25ec1a]{stroke:var(--signal);stroke-width:2.5px;stroke-linecap:round}.active__dot[data-v-3b25ec1a]{fill:var(--signal);stroke:var(--surface);stroke-width:2px}.labels[data-v-3b25ec1a]{font-family:var(--font-sans)}.labels .label__leader[data-v-3b25ec1a]{stroke:var(--plate-off-stroke);stroke-width:1px;transition:stroke var(--dur-fast) var(--ease)}.labels .label__num[data-v-3b25ec1a]{font-family:var(--font-mono);fill:var(--faint)}.labels .label__name[data-v-3b25ec1a]{fill:var(--faint);font-weight:500}.labels .label__scope[data-v-3b25ec1a]{font-family:var(--font-mono);fill:var(--faint)}.labels text[data-v-3b25ec1a]{transition:fill var(--dur-fast) var(--ease)}.labels .is-on .label__leader[data-v-3b25ec1a]{stroke:var(--ink)}.labels .is-on .label__num[data-v-3b25ec1a]{fill:var(--signal-text)}.labels .is-on .label__name[data-v-3b25ec1a]{fill:var(--ink)}.labels .is-on .label__scope[data-v-3b25ec1a]{fill:var(--graphite)}.rail-num[data-v-3b25ec1a]{font-family:var(--font-mono);fill:var(--faint);transition:fill var(--dur-fast) var(--ease);font-size:10.5px}.rail-num.is-on[data-v-3b25ec1a]{fill:var(--signal-text)}.hit[data-v-3b25ec1a]{fill:#0000;stroke:#0000;cursor:pointer}.hit--core[data-v-3b25ec1a]{pointer-events:stroke}.hit--layer[data-v-3b25ec1a]{pointer-events:all}.stage[data-v-ac062c65]{z-index:20;pointer-events:none;position:fixed;inset:0}.stage__svg[data-v-ac062c65]{position:absolute;inset:0;overflow:visible}.tooltip[data-v-ac062c65]{background:var(--ink);width:max-content;max-width:240px;color:var(--surface);border-radius:var(--radius);flex-direction:column;gap:2px;padding:8px 12px;line-height:1.3;display:flex;position:absolute;top:0;left:0;translate:-50% -100%}.tooltip__name[data-v-ac062c65]{font-size:.9375rem;font-weight:500}.tooltip__span[data-v-ac062c65]{font-family:var(--font-mono);color:#f08a6c;font-size:.6875rem}.rail-label[data-v-ac062c65]{background:var(--ink);height:28px;color:var(--surface);border-radius:var(--radius);white-space:nowrap;align-items:center;gap:8px;padding:0 10px;font-size:.8125rem;display:flex;position:absolute;top:0;left:0;translate:0 -50%}.rail-label__num[data-v-ac062c65]{font-family:var(--font-mono);color:#f08a6c;font-size:.6875rem}.btn[data-v-1df4f475]{border-radius:var(--radius);white-space:nowrap;min-height:48px;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:0 20px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn[data-v-1df4f475] .btn__icon{font-family:var(--font-mono);transition:transform var(--dur-fast) var(--ease)}@media (hover:hover) and (pointer:fine){.btn[data-v-1df4f475]:hover .btn__icon{transform:translate(2px)}}.btn--solid[data-v-1df4f475]{background:var(--ink);color:var(--surface);border:1px solid var(--ink)}@media (hover:hover) and (pointer:fine){.btn--solid[data-v-1df4f475]:hover{background:#2a2d31}}.btn--outline[data-v-1df4f475]{border:1px solid var(--ink);color:var(--ink)}@media (hover:hover) and (pointer:fine){.btn--outline[data-v-1df4f475]:hover{background:var(--ink);color:var(--surface)}}.hero[data-v-0313e9fc]{padding-top:calc(var(--header-h) + var(--space-6));padding-bottom:var(--space-8);position:relative}@media (width>=1100px){.hero[data-v-0313e9fc]{min-height:max(720px,100svh);padding-bottom:var(--space-7);align-items:center;display:flex}}.hero__inner[data-v-0313e9fc]{gap:var(--space-7);display:grid}@media (width>=900px){.hero__inner[data-v-0313e9fc]{column-gap:var(--gutter);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}}@media (width>=1100px){.hero__inner[data-v-0313e9fc]{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}.hero__text[data-v-0313e9fc]{gap:var(--space-5);flex-direction:column;display:flex}@media (width>=1100px){.hero__text[data-v-0313e9fc]{gap:var(--space-6)}}.hero__kicker[data-v-0313e9fc]{flex-wrap:wrap;column-gap:1.2em;display:flex}.hero__kicker .hero__loc[data-v-0313e9fc]{color:var(--faint)}.hero__title[data-v-0313e9fc]{max-width:18ch}.hero__lead[data-v-0313e9fc]{max-width:36em}.hero__actions[data-v-0313e9fc]{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.status[data-v-0313e9fc]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:10px;min-height:34px;padding:0 12px;font-size:.8125rem;display:inline-flex}.status__dot[data-v-0313e9fc]{background:var(--signal);width:7px;height:7px;animation:pulse-0313e9fc 2.4s var(--ease) infinite;border-radius:50%;box-shadow:0 0 #e0461e80}@keyframes pulse-0313e9fc{0%{box-shadow:0 0 #e0461e73}70%,to{box-shadow:0 0 0 8px #e0461e00}}.hero__visual[data-v-0313e9fc]{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.hero__anchor[data-v-0313e9fc]{aspect-ratio:740/700;width:100%;max-width:680px}.hero__svg[data-v-0313e9fc]{width:100%;max-width:520px;height:auto;margin-inline:auto;overflow:visible}.legend[data-v-0313e9fc]{gap:var(--space-3);flex-direction:column;display:flex}.legend__hint[data-v-0313e9fc]{min-height:1.6em}.legend__list[data-v-0313e9fc]{flex-wrap:wrap;gap:6px;display:flex}@media (width<=599.98px){.legend__list[data-v-0313e9fc]{scrollbar-width:none;margin-right:calc(-1 * var(--margin));padding-right:var(--margin);flex-wrap:nowrap;overflow-x:auto}.legend__list[data-v-0313e9fc]::-webkit-scrollbar{display:none}}.legend__item[data-v-0313e9fc]{border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;min-height:36px;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:0 11px;font-size:.8125rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.legend__item[data-v-0313e9fc]:hover{border-color:var(--ink)}}.legend__item.is-active[data-v-0313e9fc]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.legend__item.is-active .legend__code[data-v-0313e9fc]{color:#f08a6c}.legend__code[data-v-0313e9fc]{font-family:var(--font-mono);color:var(--graphite);transition:color var(--dur-fast) var(--ease);font-size:.625rem}.hero__scroll[data-v-0313e9fc]{display:none}@media (width>=1100px){.hero__scroll[data-v-0313e9fc]{align-items:center;gap:10px;display:flex;position:absolute;bottom:28px;left:40px}}.hero__scroll-line[data-v-0313e9fc]{background:var(--ink);transform-origin:top;width:1px;height:22px;animation:scroll-hint-0313e9fc 2.2s var(--ease) infinite;display:block}@media (prefers-reduced-motion:reduce){.hero__scroll-line[data-v-0313e9fc]{animation:none}}@keyframes scroll-hint-0313e9fc{0%{transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.intro__grid[data-v-34db2984]{gap:var(--space-8);display:grid}@media (width>=900px){.intro__grid[data-v-34db2984]{column-gap:var(--space-8);grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start}}.intro__main[data-v-34db2984]{gap:var(--space-5);flex-direction:column;display:flex}.intro__statement[data-v-34db2984]{letter-spacing:-.02em;max-width:24ch;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.375rem);font-weight:500;line-height:1.22}.intro__muted[data-v-34db2984]{color:#858178}.intro__facts[data-v-34db2984]{gap:var(--space-5);display:grid}@media (width>=600px){.intro__facts[data-v-34db2984]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.intro__facts[data-v-34db2984]{grid-template-columns:minmax(0,1fr)}}.fact[data-v-34db2984]{padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;gap:6px;display:flex}.fact dd[data-v-34db2984]{margin:0;font-size:.9375rem;line-height:1.5}.section-head[data-v-98bcb081]{gap:var(--space-4);margin-bottom:var(--space-8);display:grid}@media (width>=900px){.section-head[data-v-98bcb081]{column-gap:var(--gutter);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}.section-head>p[data-v-98bcb081]{grid-column:1/-1}}.section-head__title[data-v-98bcb081]{max-width:16ch}.section-head__aside[data-v-98bcb081]{max-width:36ch}@media (width>=900px){.section-head__aside[data-v-98bcb081]{justify-self:end}}.media[data-v-065f9cd8]{flex-direction:column;gap:14px;min-width:0;display:flex}.media__frame[data-v-065f9cd8]{border-radius:var(--radius);background:var(--surface);width:100%;position:relative}.media--mobile .media__frame[data-v-065f9cd8]{border-radius:18px}.media__asset[data-v-065f9cd8]{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 0 0 1px #16181b14}.media__frame--contain[data-v-065f9cd8]{--mat:clamp(6px, 2.5cqw, 20px);border:1px solid var(--line-soft);container-type:inline-size}.media--mobile .media__frame--contain[data-v-065f9cd8]{--mat:clamp(6px, 5cqw, 16px)}.media__frame--contain .media__asset[data-v-065f9cd8]{inset:var(--mat);width:calc(100% - 2 * var(--mat));height:calc(100% - 2 * var(--mat));object-fit:contain;box-shadow:none;filter:drop-shadow(0 0 .5px #16181b59)drop-shadow(0 6px 14px #16181b12);border-radius:0}.media__frame--blend[data-v-065f9cd8]{--mat:clamp(12px, 7cqw, 40px)}.media__frame--blend .media__asset[data-v-065f9cd8]{mix-blend-mode:multiply;filter:none}.media__caption[data-v-065f9cd8]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--graphite);font-size:.6875rem;line-height:1.5}.media__label[data-v-065f9cd8]{color:var(--ink);margin-right:.5em}.tick[data-v-065f9cd8]{border:0 solid var(--ink);pointer-events:none;opacity:.8;width:9px;height:9px;position:absolute}.tick--tl[data-v-065f9cd8]{border-top-width:1px;border-left-width:1px;top:-6px;left:-6px}.tick--tr[data-v-065f9cd8]{border-top-width:1px;border-right-width:1px;top:-6px;right:-6px}.tick--bl[data-v-065f9cd8]{border-bottom-width:1px;border-left-width:1px;bottom:-6px;left:-6px}.tick--br[data-v-065f9cd8]{border-bottom-width:1px;border-right-width:1px;bottom:-6px;right:-6px}.placeholder[data-v-065f9cd8]{border:1px solid var(--line);border-radius:inherit;background-color:#f6f4ef;background-image:repeating-linear-gradient(135deg,#0000 0 9px,#dfdbd1 9px 10px);justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0;overflow:hidden}.placeholder__card[data-v-065f9cd8]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:min(92%,340px);font-family:var(--font-mono);color:var(--graphite);flex-direction:column;gap:3px;padding:12px 14px;font-size:.6875rem;line-height:1.5;display:flex}.media--compact .placeholder__card[data-v-065f9cd8]{padding:8px 10px;font-size:.625rem}.placeholder__tag[data-v-065f9cd8]{color:var(--signal-text);letter-spacing:.08em;text-transform:uppercase}.placeholder__brief[data-v-065f9cd8]{color:var(--ink);font-family:var(--font-sans);margin-bottom:4px;font-size:.8125rem;line-height:1.4}.media--compact .placeholder__brief[data-v-065f9cd8]{font-size:.75rem}.placeholder__file[data-v-065f9cd8]{color:var(--faint);word-break:break-all;margin-top:4px}.chips[data-v-c1f14b93]{flex-wrap:wrap;gap:6px;display:flex}.chip[data-v-c1f14b93]{border:1px solid var(--ink);border-radius:var(--radius);background:var(--surface);white-space:nowrap;align-items:center;gap:8px;height:28px;padding:0 10px;font-size:.8125rem;display:inline-flex}.chip.is-off[data-v-c1f14b93]{border-color:var(--line);color:var(--faint);background:0 0}.chip.is-off .chip__num[data-v-c1f14b93]{color:var(--faint)}.chip__num[data-v-c1f14b93]{font-family:var(--font-mono);color:var(--signal-text);font-size:.6875rem}.diagram[data-v-2853a72e]{gap:var(--space-4);flex-direction:column;display:flex}.diagram__flow[data-v-2853a72e]{flex-direction:column;align-items:stretch;display:flex}@media (width>=900px){.diagram__flow[data-v-2853a72e]{flex-direction:row;align-items:center}.diagram--compact .diagram__flow[data-v-2853a72e]{flex-direction:column;align-items:stretch}}@media (width>=1440px){.diagram--compact .diagram__flow[data-v-2853a72e]{flex-direction:row;align-items:center}}.col[data-v-2853a72e]{flex-direction:column;flex:1 1 0;gap:8px;min-width:0;display:flex;position:relative}.col--group[data-v-2853a72e]{border:1px dashed var(--graphite);border-radius:var(--radius);padding:10px 12px 12px}.col__group[data-v-2853a72e]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);font-size:.625rem;line-height:1.4}.node[data-v-2853a72e]{border:1px solid var(--ink);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;padding:11px 13px;display:flex}.node__title[data-v-2853a72e]{font-size:.875rem;font-weight:500;line-height:1.3}.node__sub[data-v-2853a72e]{font-family:var(--font-mono);color:var(--graphite);font-size:.6875rem;line-height:1.4}.flow-link[data-v-2853a72e]{flex:none;justify-content:center;align-items:center;height:56px;padding-left:28px;display:flex;position:relative}@media (width>=900px){.flow-link[data-v-2853a72e]{flex-direction:column;gap:6px;width:clamp(72px,7vw,110px);height:auto;padding-left:0}.diagram--compact .flow-link[data-v-2853a72e]{flex-direction:row;width:auto;height:56px;padding-left:28px}}@media (width>=1440px){.diagram--compact .flow-link[data-v-2853a72e]{flex-direction:column;width:92px;height:auto;padding-left:0}}.flow-link__label[data-v-2853a72e]{font-family:var(--font-mono);color:var(--signal-text);text-align:center;order:2;max-width:100%;font-size:.625rem;line-height:1.3}@media (width>=900px){.flow-link__label[data-v-2853a72e]{order:0}}.flow-link__track[data-v-2853a72e]{background:var(--ink);width:1px;position:absolute;top:6px;bottom:6px;left:16px}@media (width>=900px){.flow-link__track[data-v-2853a72e]{width:100%;height:1px;position:relative;top:auto;bottom:auto;left:auto}.diagram--compact .flow-link__track[data-v-2853a72e]{width:1px;height:auto;position:absolute;top:6px;bottom:6px;left:16px}}@media (width>=1440px){.diagram--compact .flow-link__track[data-v-2853a72e]{width:100%;height:1px;position:relative;top:auto;bottom:auto;left:auto}}.flow-link__dot[data-v-2853a72e]{background:var(--signal);width:5px;height:5px;animation:flow-v-2853a72e 2.6s var(--ease) infinite;border-radius:50%;margin:-2px 0 0 -2px;position:absolute;top:0;left:0}@media (width>=900px){.flow-link__dot[data-v-2853a72e]{animation-name:flow-h-2853a72e}.diagram--compact .flow-link__dot[data-v-2853a72e]{animation-name:flow-v-2853a72e}}@media (width>=1440px){.diagram--compact .flow-link__dot[data-v-2853a72e]{animation-name:flow-h-2853a72e}}.flow-link--left .flow-link__dot[data-v-2853a72e]{animation-direction:reverse}.flow-link--both .flow-link__dot[data-v-2853a72e]{animation-duration:3.2s;animation-direction:alternate}@media (prefers-reduced-motion:reduce){.flow-link__dot[data-v-2853a72e]{display:none}}@keyframes flow-h-2853a72e{0%{opacity:0;left:0}15%,85%{opacity:1}to{opacity:0;left:100%}}@keyframes flow-v-2853a72e{0%{opacity:0;top:0}15%,85%{opacity:1}to{opacity:0;top:100%}}.diagram__caption[data-v-2853a72e]{font-family:var(--font-mono);color:var(--graphite);font-size:.6875rem;line-height:1.5}.project[data-v-1c3641ee]{gap:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--ink);flex-direction:column;display:flex}.project__top[data-v-1c3641ee]{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}@media (width<=899.98px){.project__context[data-v-1c3641ee]{display:none}}.project__span[data-v-1c3641ee]{white-space:nowrap}.project__main[data-v-1c3641ee]{gap:var(--space-7);display:grid}@media (width>=900px){.project__main[data-v-1c3641ee]{column-gap:var(--space-8);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.is-flipped .project__main[data-v-1c3641ee]{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.is-flipped .project__main .project__visual[data-v-1c3641ee]{order:-1}}.project__text[data-v-1c3641ee]{gap:var(--space-5);flex-direction:column;display:flex}.project__title[data-v-1c3641ee]{max-width:22ch}.project__title-link[data-v-1c3641ee]{text-decoration:none}@media (hover:hover) and (pointer:fine){.project__title-link[data-v-1c3641ee]:hover{text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:.18em;text-decoration-thickness:2px}}.project__summary[data-v-1c3641ee]{color:var(--graphite);max-width:40ch}.meta[data-v-1c3641ee]{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid}@media (width>=600px){.meta[data-v-1c3641ee]{grid-template-columns:repeat(3,minmax(0,1fr))}}.meta>div[data-v-1c3641ee]{flex-direction:column;gap:4px;display:flex}.meta dt[data-v-1c3641ee]{font-size:.625rem}.meta dd[data-v-1c3641ee]{margin:0;font-size:.875rem;line-height:1.45}.project__visual[data-v-1c3641ee]{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.phones[data-v-1c3641ee]{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);padding:6px;display:grid}@media (width<=599.98px){.phones[data-v-1c3641ee]{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:calc(-1 * var(--margin));padding-right:var(--margin);display:flex;overflow-x:auto}.phones[data-v-1c3641ee]::-webkit-scrollbar{display:none}.phones[data-v-1c3641ee]>*{scroll-snap-align:start;flex:0 0 62%}}.panel[data-v-1c3641ee]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(16px,2.5vw,28px)}.facts[data-v-1c3641ee]{gap:var(--space-4) var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=600px){.facts[data-v-1c3641ee]{grid-template-columns:repeat(5,minmax(0,1fr))}}.facts__item[data-v-1c3641ee]{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:10px;display:flex}.facts__value[data-v-1c3641ee]{letter-spacing:-.02em;font-size:1.75rem;font-weight:500;line-height:1.1}.facts__label[data-v-1c3641ee]{color:var(--graphite);margin:0;font-size:.8125rem;line-height:1.35}.highlights[data-v-1c3641ee]{gap:var(--space-5);display:grid}@media (width>=900px){.highlights[data-v-1c3641ee]{column-gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}}.highlight[data-v-1c3641ee]{padding-top:var(--space-4);border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:4px 12px;display:grid}.highlight__num[data-v-1c3641ee]{color:var(--signal-text);grid-row:span 2;padding-top:3px}.highlight__title[data-v-1c3641ee]{letter-spacing:-.01em;font-size:1.0625rem;font-weight:500}.highlight__text[data-v-1c3641ee]{color:var(--graphite);max-width:34ch;font-size:.9375rem;line-height:1.5}.tech[data-v-1c3641ee]{flex-wrap:wrap;gap:6px;display:flex}.tech li[data-v-1c3641ee]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);color:var(--ink);padding:4px 9px;font-size:.75rem}.project__foot[data-v-1c3641ee]{gap:var(--space-5);flex-direction:column;display:flex}@media (width>=900px){.project__foot[data-v-1c3641ee]{flex-direction:row;justify-content:space-between;align-items:flex-end}}.project__links[data-v-1c3641ee]{gap:var(--space-5);white-space:nowrap;flex-wrap:wrap;font-size:1rem;display:flex}.projects[data-v-4b97dde9]{gap:var(--section-gap);flex-direction:column;display:flex}.head[data-v-84cd807d]{gap:var(--space-3);margin-bottom:var(--space-7);flex-direction:column;max-width:30ch;display:flex}.list[data-v-84cd807d]{gap:var(--space-7);display:grid}@media (width>=900px){.list[data-v-84cd807d]{column-gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}}.exp[data-v-84cd807d]{gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--ink);display:grid}.exp__body[data-v-84cd807d]{gap:var(--space-3);flex-direction:column;display:flex}.exp__name[data-v-84cd807d]{letter-spacing:-.02em;font-size:1.375rem}.exp__text[data-v-84cd807d]{color:var(--graphite);font-size:.9375rem}.exp__links[data-v-84cd807d]{gap:var(--space-2) var(--space-5);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.timeline[data-v-d0bbf610]{flex-direction:column;display:flex}.entry[data-v-d0bbf610]{gap:var(--space-2) var(--gutter);padding-block:var(--space-5);border-top:1px solid var(--line);display:grid}.entry[data-v-d0bbf610]:last-child{border-bottom:1px solid var(--line)}@media (width>=900px){.entry[data-v-d0bbf610]{grid-template-columns:minmax(0,3fr) minmax(0,7fr) minmax(0,2fr);align-items:baseline}}.entry__period[data-v-d0bbf610]{color:var(--ink);align-items:center;gap:10px;display:flex}.entry__dot[data-v-d0bbf610]{border:1px solid var(--ink);border-radius:50%;width:7px;height:7px}.is-current .entry__dot[data-v-d0bbf610]{background:var(--signal);border-color:var(--signal)}.entry__body[data-v-d0bbf610]{flex-direction:column;gap:4px;display:flex}.entry__kind[data-v-d0bbf610]{font-size:.625rem}.entry__title[data-v-d0bbf610]{letter-spacing:-.015em;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);line-height:1.25}.entry__place[data-v-d0bbf610]{letter-spacing:0;color:var(--graphite);margin-top:2px;font-size:.9375rem;font-weight:400;display:block}.entry__text[data-v-d0bbf610]{color:var(--graphite);max-width:56ch;font-size:.9375rem}.entry__link[data-v-d0bbf610]{white-space:nowrap;justify-self:start;font-size:.9375rem}@media (width>=900px){.entry__link[data-v-d0bbf610]{justify-self:end}}.layers[data-v-a178cd0e]{flex-direction:column;display:flex}.layer[data-v-a178cd0e]{gap:var(--space-4) var(--gutter);padding-block:var(--space-5);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 40px);transition:opacity var(--dur) var(--ease) calc(var(--reveal-i,0) * 80ms), transform var(--dur) var(--ease) calc(var(--reveal-i,0) * 80ms), border-color var(--dur-fast) var(--ease);display:grid}@media (prefers-reduced-motion:reduce){.layer[data-v-a178cd0e]{transition:none}}.layer[data-v-a178cd0e]:last-child{border-bottom:1px solid var(--line)}@media (width>=900px){.layer[data-v-a178cd0e]{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.layer.is-hover[data-v-a178cd0e]{border-top-color:var(--ink)}.layer__head[data-v-a178cd0e]{grid-template-columns:2.5em minmax(0,1fr);align-items:baseline;gap:2px 0;display:grid}.layer__num[data-v-a178cd0e]{font-family:var(--font-mono);color:var(--signal-text);font-size:.8125rem}.layer__name[data-v-a178cd0e]{letter-spacing:-.02em;font-size:1.375rem}.layer__scope[data-v-a178cd0e]{grid-column:2}.layer__items[data-v-a178cd0e]{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.skill[data-v-a178cd0e]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:36px;transition:border-color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:4px 6px 4px 12px;font-size:.9375rem;display:inline-flex}.layer.is-hover .skill[data-v-a178cd0e]{border-color:#bdb8ac}.skill__refs[data-v-a178cd0e]{gap:3px;display:inline-flex}.skill abbr[data-v-a178cd0e]{background:var(--paper);font-family:var(--font-mono);letter-spacing:.04em;color:var(--graphite);cursor:help;border-radius:2px;padding:2px 5px;font-size:.625rem;text-decoration:none}.langs[data-v-a178cd0e]{margin-top:var(--space-6);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.lang[data-v-a178cd0e]{align-items:center;gap:4px;display:inline-flex}.lang abbr[data-v-a178cd0e]{background:var(--surface);color:var(--graphite);cursor:help;border-radius:2px;padding:2px 5px;font-size:.625rem;text-decoration:none}.contact[data-v-27fe705e]{gap:var(--space-5);padding-bottom:var(--section-gap);flex-direction:column;display:flex}.contact__title[data-v-27fe705e]{max-width:16ch}.contact__grid[data-v-27fe705e]{gap:var(--space-6);margin-top:var(--space-4);display:grid}@media (width>=900px){.contact__grid[data-v-27fe705e]{column-gap:var(--space-8);grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}}.contact__text[data-v-27fe705e]{max-width:30em}.contact__actions[data-v-27fe705e]{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.contact__note[data-v-27fe705e]{margin-top:var(--space-3);flex-basis:100%;max-width:48ch}
