@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-vietnamese-700-normal.DMty7AZE.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-700-normal.Duxec5Rn.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-ext-700-normal.BQnZhY3m.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-700-normal.HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-700-normal.RjhwGPKo.woff2)format("woff2"),url(/_astro/space-grotesk-latin-700-normal.CwsQ-cCU.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.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 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");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.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 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");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.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 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");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(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/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{--font-display:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--font-sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--ink-1:#131313;--ink-2:#2b2b2a;--ink-3:#55554f;--ink-4:#8a8a82;--ink-5:#b8b7b0;--paper-1:#fff;--paper-2:#f4f3f1;--paper-3:#eae8e4;--paper-4:#dedbd5;--orange-1:#e4541e;--orange-2:#c64414;--orange-3:#fbe7de;--yellow-1:#f2c300;--yellow-2:#d4ab00;--yellow-3:#fcf3d0;--green-1:#1f9e52;--green-2:#178143;--green-3:#dff2e6;--red-1:#d22d2d;--red-2:#ae2020;--red-3:#fadede;--blue-1:#1e6fd9;--blue-2:#1657ac;--blue-3:#deeafa;--text-strong:var(--ink-1);--text-body:16px;--text-muted:var(--ink-3);--text-subtle:var(--ink-4);--text-disabled:var(--ink-5);--text-inverse:var(--paper-2);--text-accent:var(--orange-1);--text-link:var(--ink-1);--text-link-hover:var(--orange-1);--surface-page:var(--paper-2);--surface-card:var(--paper-1);--surface-sunken:var(--paper-3);--surface-inverse:var(--ink-1);--surface-inverse-raised:var(--ink-2);--surface-accent:var(--orange-1);--surface-accent-tint:var(--orange-3);--border-hairline:#e3e0db;--border-default:var(--paper-4);--border-strong:var(--ink-5);--border-inverse:#f4f3f12e;--border-focus:var(--ink-1);--status-run:var(--green-1);--status-run-tint:var(--green-3);--status-warn:var(--yellow-1);--status-warn-tint:var(--yellow-3);--status-fault:var(--red-1);--status-fault-tint:var(--red-3);--status-info:var(--blue-1);--status-info-tint:var(--blue-3);--status-idle:var(--ink-4);--status-idle-tint:var(--paper-3);--overlay-scrim:#1313138c;--protect-bottom:linear-gradient(180deg, #13131300 0%, #131313b8 100%);--protect-top:linear-gradient(180deg, #13131399 0%, #13131300 100%);--text-display-1:76px;--text-display-2:58px;--text-display-3:44px;--text-title-1:32px;--text-title-2:25px;--text-title-3:20px;--text-body-lg:18px;--text-body-sm:14px;--text-caption:13px;--text-label:11px;--leading-display:.98;--leading-title:1.14;--leading-body:1.55;--leading-tight:1.3;--tracking-display:-.035em;--tracking-title:-.02em;--tracking-body:0em;--tracking-label:.14em;--tracking-mark:.28em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--type-hero:var(--weight-bold) var(--text-display-1) / var(--leading-display) var(--font-display);--type-section:var(--weight-bold) var(--text-display-3) / var(--leading-display) var(--font-display);--type-card-title:var(--weight-bold) var(--text-title-3) / var(--leading-title) var(--font-display);--type-body:var(--weight-regular) var(--text-body) / var(--leading-body) var(--font-sans);--type-body-sm:var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-sans);--type-label:var(--weight-medium) var(--text-label) / 1.2 var(--font-mono);--type-data:var(--weight-medium) var(--text-body-sm) / 1.4 var(--font-mono);--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-30:120px;--gutter:var(--space-6);--page-pad:var(--space-10);--content-max:1200px;--prose-max:62ch;--card-pad:var(--space-8);--card-pad-sm:var(--space-5);--section-y:var(--space-24);--control-h-sm:32px;--control-h:40px;--control-h-lg:48px}@media (width<=760px){:root{--page-pad:var(--space-5);--section-y:var(--space-16);--card-pad:var(--space-6)}}:root{--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--radius-card:var(--radius-lg);--radius-control:var(--radius-pill);--radius-field:var(--radius-md);--radius-media:var(--radius-lg);--border-w:1px;--border-w-strong:2px;--shadow-none:none;--shadow-1:0 1px 2px #1313130d;--shadow-2:0 2px 6px #1313130f, 0 1px 2px #1313130a;--shadow-3:0 8px 20px #13131314, 0 2px 4px #1313130a;--shadow-4:0 24px 60px #13131329, 0 4px 10px #1313130f;--shadow-inset:inset 0 1px 2px #1313130f;--shadow-card:var(--shadow-2);--shadow-card-hover:var(--shadow-3);--shadow-overlay:var(--shadow-4);--ring-focus:0 0 0 2px var(--paper-1), 0 0 0 4px var(--ink-1);--ring-focus-inverse:0 0 0 2px var(--ink-1), 0 0 0 4px var(--paper-2);--blur-glass:saturate(140%) blur(14px);--dur-instant:80ms;--dur-fast:.14s;--dur-base:.2s;--dur-slow:.26s;--dur-overlay:.32s;--ease-standard:cubic-bezier(.2, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.5, 0, 1, 1);--transition-control:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);--transition-card:box-shadow var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);--press-scale:.985}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-overlay:0s;--press-scale:1}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);color:var(--text-strong);margin:0}h1{font-size:var(--text-display-2);letter-spacing:var(--tracking-display);line-height:var(--leading-display)}h2{font-size:var(--text-display-3);letter-spacing:var(--tracking-display);line-height:var(--leading-display)}h3{font-size:var(--text-title-2)}h4{font-size:var(--text-title-3)}p{margin:0}img{max-width:100%}a{color:var(--text-link);border-bottom:1px solid var(--border-strong);transition:color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);text-decoration:none}a:hover{color:var(--text-link-hover);border-bottom-color:var(--orange-1)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:var(--ring-focus);outline:none}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--yellow-1);color:var(--ink-1)}hr{border:0;border-top:1px solid var(--border-hairline);margin:var(--space-8) 0}.tian-label{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle)}.tian-data{font:var(--type-data);color:var(--text-strong)}.display-1{font:var(--weight-bold) clamp(40px, 7vw, var(--text-display-1)) / var(--leading-display) var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-strong)}.display-2{font:var(--weight-bold) clamp(34px, 5.4vw, var(--text-display-2)) / var(--leading-display) var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-strong)}.display-3{font:var(--weight-bold) clamp(29px, 4vw, var(--text-display-3)) / var(--leading-display) var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-strong)}.container{max-width:var(--content-max);padding-inline:var(--page-pad);margin-inline:auto}.section{padding-block:var(--section-y)}.skip-link{left:var(--space-4);z-index:200;background:var(--ink-1);color:var(--text-inverse);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font:var(--weight-semibold) var(--text-body-sm) var(--font-sans);border:0;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:.01em;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;transition:var(--transition-control);height:var(--control-h);padding:0 var(--space-6);font-size:var(--text-body-sm);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active{transform:scale(var(--press-scale))}.btn:disabled{opacity:.4;pointer-events:none}.btn.sm{height:var(--control-h-sm);padding:0 var(--space-4);font-size:var(--text-caption)}.btn.lg{height:var(--control-h-lg);padding:0 var(--space-8);font-size:var(--text-body)}.btn-primary{background:var(--ink-1);color:var(--text-inverse);border-color:var(--ink-1)}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--text-inverse)}.btn-accent{background:var(--surface-accent);color:#fff;border-color:var(--surface-accent)}.btn-accent:hover{background:var(--orange-2);border-color:var(--orange-2);color:#fff}.btn-secondary{color:var(--text-strong);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{background:var(--paper-3);border-color:var(--ink-1);color:var(--text-strong)}.btn-ghost{color:var(--text-strong);background:0 0}.btn-ghost:hover{background:var(--paper-3);color:var(--text-strong)}.btn-inverse{background:var(--paper-2);color:var(--ink-1);border-color:var(--paper-2)}.btn-inverse:hover{color:var(--ink-1);background:#fff;border-color:#fff}.btn.block{width:100%}.badge{align-items:center;gap:var(--space-2);font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);border-radius:var(--radius-pill);white-space:nowrap;padding:5px 10px;display:inline-flex}.badge .dot{border-radius:50%;flex:none;width:6px;height:6px}.badge-neutral{background:var(--paper-3);color:var(--ink-3)}.badge-neutral .dot{background:var(--status-idle)}.badge-run{background:var(--status-run-tint);color:var(--green-2)}.badge-run .dot{background:var(--status-run)}.badge-warn{background:var(--status-warn-tint);color:#6e5b00}.badge-warn .dot{background:var(--status-warn)}.badge-fault{background:var(--status-fault-tint);color:var(--red-2)}.badge-fault .dot{background:var(--status-fault)}.badge-accent{background:var(--surface-accent-tint);color:var(--orange-2)}.badge-accent .dot{background:var(--orange-1)}.badge-solid{background:var(--ink-1);color:var(--text-inverse)}.badge-solid .dot{background:var(--yellow-1)}.tag{align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-default);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--weight-medium);cursor:pointer;transition:var(--transition-control);background:0 0;text-decoration:none;display:inline-flex}.tag:hover{background:var(--paper-3);color:var(--text-muted)}.tag[aria-pressed=true],.tag.selected{background:var(--ink-1);border-color:var(--ink-1);color:var(--text-inverse)}.tag[aria-pressed=true]:hover,.tag.selected:hover{color:var(--text-inverse)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field>.field-label{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.field input[type=email],.field input[type=text],.field input[type=search],.field select{height:var(--control-h);width:100%;padding:0 var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-field);font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--text-strong);transition:var(--transition-control)}.field input::placeholder{color:var(--text-subtle)}.field input:focus,.field select:focus{border-color:var(--ink-1);outline:none;box-shadow:0 0 0 3px #13131312}.field.invalid input{border-color:var(--status-fault)}.field .field-note{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--text-subtle)}.field .field-note.error{color:var(--status-fault)}.select-wrap{display:block;position:relative}.select-wrap select{appearance:none;padding-right:var(--space-10);cursor:pointer}.select-wrap:after{content:"";right:var(--space-4);border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;transform:rotate(45deg)}.card{background:var(--surface-card);color:var(--text-body);border:1px solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:var(--transition-card);overflow:hidden}.card.interactive:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-body{padding:var(--card-pad);gap:var(--space-3);flex-direction:column;display:flex}.card-body.sm{padding:var(--card-pad-sm)}.card.sunken{background:var(--surface-sunken);box-shadow:none;border-color:#0000}.card.inverse{background:var(--surface-inverse);color:var(--text-inverse);border-color:var(--border-inverse);box-shadow:none}a.card{border-bottom:1px solid var(--border-hairline);color:var(--text-body)}a.card:hover{color:var(--text-body)}.ink-band{background:var(--surface-inverse);color:var(--text-inverse)}.ink-band .tian-label{color:var(--ink-5)}.ink-band h2,.ink-band h3{color:var(--text-inverse)}.ink-band p{color:var(--ink-5)}.ink-band a:not(.btn){color:var(--text-inverse);border-bottom-color:var(--border-inverse)}.ink-band a:not(.btn):hover{color:var(--paper-1);border-bottom-color:var(--paper-2)}.ink-band :focus-visible{box-shadow:var(--ring-focus-inverse)!important}.ink-band .card{color:var(--text-body)}.ink-band .card h2,.ink-band .card h3,.ink-band .card h4{color:var(--text-strong)}.ink-band .card .tian-label,.ink-band .card p{color:var(--text-muted)}.ink-band .card :focus-visible{box-shadow:var(--ring-focus)!important}.section-head{gap:var(--space-3);margin-bottom:var(--space-10);flex-direction:column;display:flex}.photo-scrim{position:relative;overflow:hidden}.photo-scrim img{object-fit:cover;width:100%;height:100%;display:block}.photo-scrim:after{content:"";background:var(--protect-bottom);pointer-events:none;position:absolute;inset:0}.photo-scrim .over{z-index:1;position:absolute;bottom:0;left:0;right:0}.prose{max-width:var(--prose-max);font:var(--weight-regular) var(--text-body) / var(--leading-body) var(--font-sans);color:var(--text-body)}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--text-title-1);letter-spacing:var(--tracking-title);line-height:var(--leading-title);margin-top:var(--space-12);scroll-margin-top:96px}.prose h3{font-size:var(--text-title-2);margin-top:var(--space-10);scroll-margin-top:96px}.prose h4{font-size:var(--text-title-3);margin-top:var(--space-8);scroll-margin-top:96px}.prose p{margin-top:var(--space-5)}.prose ul,.prose ol{margin-top:var(--space-5);gap:var(--space-2);flex-direction:column;padding-left:1.4em;display:flex}.prose li::marker{color:var(--text-subtle)}.prose blockquote{margin:var(--space-8) 0;padding:var(--space-4) var(--space-6);border-left:3px solid var(--yellow-1);background:var(--surface-sunken);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);font-style:italic}.prose blockquote p{margin:0}.prose picture,.prose>img{margin:var(--space-10) 0;display:block}.prose img{border-radius:var(--radius-media);width:100%;height:auto;display:block}.prose code{background:var(--surface-sunken);border-radius:var(--radius-xs);padding:1px 5px;font-size:.88em}.prose pre{background:var(--surface-inverse);color:var(--paper-2);padding:var(--space-5);border-radius:var(--radius-md);margin-top:var(--space-6);overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;margin-top:var(--space-6);font-size:var(--text-body-sm)}.prose th{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle);text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border-strong)}.prose td{padding:var(--space-3);border-bottom:1px solid var(--border-hairline)}.prose strong{color:var(--text-strong)}.prose a{border-bottom-color:var(--border-strong)}.reading-progress{z-index:60;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress>span{background:var(--ink-1);width:0;height:100%;display:block}.fab-subscribe{right:var(--space-6);bottom:var(--space-6);z-index:55;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-5);background:var(--ink-1);color:var(--text-inverse);border:1px solid var(--ink-1);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--shadow-3);transition:opacity var(--dur-base) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);display:inline-flex;position:fixed}.fab-subscribe:hover{background:var(--ink-2)}.fab-subscribe:active{transform:scale(var(--press-scale))}.fab-subscribe.faded{opacity:0;pointer-events:none}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}body{background:#fff;font-size:12pt}.prose{max-width:none}.prose img{border-radius:0}.reading-progress{display:none}a{color:inherit;border-bottom:none}}.field input[type=password]{height:var(--control-h);width:100%;padding:0 var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-field);font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--text-strong);transition:var(--transition-control)}.field.invalid input[type=password]{border-color:var(--status-fault)}.field input:focus{border-color:var(--ink-1);outline:none;box-shadow:0 0 0 3px #13131312}.field-control{display:block;position:relative}.field-control input{padding-right:76px!important}.field-control .reveal{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-caption);position:absolute;top:4px;right:4px}.field-top .field-label{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}.field-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.field-top a{font:var(--type-body-sm);font-size:var(--text-caption);color:var(--text-muted);border-bottom-color:var(--border-default)}.field-top a:hover{color:var(--text-link-hover)}.check{gap:var(--space-3);font:var(--type-body-sm);color:var(--text-body);cursor:pointer;grid-template-columns:20px 1fr;align-items:start;display:grid}.check input{-webkit-appearance:none;appearance:none;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-xs);cursor:pointer;width:20px;height:20px;transition:var(--transition-control);flex:none;place-content:center;margin:1px 0 0;display:grid}.check input:after{content:"";border-right:2px solid var(--paper-1);border-bottom:2px solid var(--paper-1);opacity:0;width:5px;height:10px;margin-top:-2px;transform:rotate(45deg)}.check input:hover{border-color:var(--ink-1)}.check input:checked{background:var(--ink-1);border-color:var(--ink-1)}.check input:checked:after{opacity:1}.check a{font-weight:var(--weight-semibold)}.check.invalid input{border-color:var(--status-fault)}.check-group{gap:var(--space-3);flex-direction:column;display:flex}.check-group .field-note{padding-left:calc(20px + var(--space-3));font-family:var(--font-sans);font-size:var(--text-caption);color:var(--text-subtle)}.check-group .field-note.error{color:var(--status-fault)}.notice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--border-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-sunken);font:var(--type-body-sm);color:var(--text-body);align-items:flex-start;display:flex}.notice>svg{flex:none;margin-top:2px}.notice.error{border-left-color:var(--status-fault);background:var(--status-fault-tint)}.notice.error>svg{color:var(--red-2)}.notice.success{border-left-color:var(--status-run);background:var(--status-run-tint)}.notice.success>svg{color:var(--green-2)}.notice form{margin-top:var(--space-2)}.notice .linkish{cursor:pointer;font:inherit;font-weight:var(--weight-semibold);color:var(--text-strong);border:0;border-bottom:1px solid var(--border-strong);background:0 0;padding:0}.notice .linkish:hover{color:var(--text-link-hover);border-bottom-color:var(--orange-1)}.auth{padding-block:var(--space-16) var(--space-20)}.auth-card{max-width:460px;margin-inline:auto}.auth-card .card-body{gap:var(--space-6)}.auth-head{gap:var(--space-3);flex-direction:column;display:flex}.auth-title{font:var(--weight-bold) var(--text-title-1) / var(--leading-title) var(--font-display);letter-spacing:var(--tracking-title);color:var(--text-strong)}.auth-lead{font:var(--type-body-sm);color:var(--text-muted)}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-form .btn{margin-top:var(--space-1)}.auth-alt{font:var(--type-body-sm);color:var(--text-muted);text-align:center}.auth-alt a{font-weight:var(--weight-semibold)}.auth-sent{gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.auth-sent .sent-icon{background:var(--status-run-tint);width:48px;height:48px;color:var(--green-2);border-radius:50%;place-content:center;display:grid}.auth-sent p{font:var(--type-body-sm);color:var(--text-body)}.auth-sent .hint{color:var(--text-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=560px){.auth{padding-block:var(--space-8) var(--space-12)}.auth-card{border-radius:var(--radius-md)}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-hairline);background:#f4f3f1db;position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-6);height:72px;display:flex}.logo-link[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);color:var(--ink-1);border-bottom:none;display:inline-flex}.logo-link[data-astro-cid-nen7h5rs]:hover{color:var(--ink-1)}.logo-link[data-astro-cid-nen7h5rs] .mark-svg{width:auto;height:26px;display:block}.logo-img[data-astro-cid-nen7h5rs]{width:auto;height:20px}.product[data-astro-cid-nen7h5rs]{padding-left:var(--space-3);border-left:1px solid var(--border-default);line-height:20px}.right[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);min-width:0;display:flex}.right[data-astro-cid-nen7h5rs] form[data-astro-cid-nen7h5rs]{margin:0}.right[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{border-bottom-width:1px}.who[data-astro-cid-nen7h5rs]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}@media (width<=560px){.who[data-astro-cid-nen7h5rs],.product[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border-hairline);padding:var(--space-6) 0 var(--space-8);margin-top:auto}.legal[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-6);font:var(--type-data);color:var(--text-subtle);flex-wrap:wrap;font-size:11px;display:flex}nav[data-astro-cid-jo6i4kqk]{gap:var(--space-5);flex-wrap:wrap;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-muted);font:var(--type-body-sm);font-size:var(--text-caption);border-bottom:none}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--text-strong)}html,body{min-height:100%}body{flex-direction:column;min-height:100vh;display:flex}main{flex:1}
