@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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{color-scheme:light dark;--paper:light-dark(#f6f6f3,#111210);--raised:light-dark(#fff,#191a18);--sunken:light-dark(#ecece7,#0b0c0b);--ink:light-dark(#131312,#f1f1ec);--ink-2:light-dark(#5b5b55,#ababa3);--ink-3:light-dark(#6c6c65,#85857d);--rule:light-dark(#deded8,#2a2b27);--rule-strong:light-dark(#131312,#f1f1ec);--bar:light-dark(#131312,#65665d);--on-bar:light-dark(#f6f6f3,#f1f1ec);--highlight:#ddf45b;--on-highlight:#131312;--highlight-soft:light-dark(#edf6ba,#3d4220);--on-highlight-soft:light-dark(#131312,#e8f29a);--attention:light-dark(#7d5300,#e8b954);--attention-bg:light-dark(#f8efd6,#2e2410);--ok:light-dark(#1c6642,#7fd6a6);--danger:light-dark(#b8301a,#ff8a6e);--danger-bg:light-dark(#fae8e3,#33170f);--on-danger:light-dark(#f6f6f3,#2a0e07);--scrim:light-dark(#13131266,#0009);--font-sans:"Instrument Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, Menlo, monospace}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--text-micro:11px;--text-mono:12px;--text-small:13px;--text-body:14px;--text-lead:15px;--text-wordmark:17px;--text-title:18px;--text-heading:28px;--text-display:44px;--text-display-l:64px;--fs-xl:clamp(44px, 6.67vw, 96px);--fs-l:clamp(38px, 4.44vw, 64px);--fs-d:clamp(30px, 3.05vw, 44px);--fs-intro:clamp(18px, 1.53vw, 22px);--leading-tight:1.05;--leading-display:1.1;--leading-snug:1.15;--leading-body:1.45;--tracking-xl:-.0146em;--tracking-l:-.022em;--tracking-d:-.02em;--tracking-h:-.018em;--tracking-w:-.018em;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-96:96px;--r:2px;--hair:1px;--gutter:clamp(20px, 6.67vw, 96px)}.on-dark{color-scheme:dark;background:var(--sunken);color:var(--ink)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-title);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p,ol,ul,figure,dl,dd{margin:0;padding:0}ol,ul{list-style:none}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.skip{z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.demos-wait [data-demo]:not([data-ready]){visibility:hidden}.wrap{width:min(1248px, 100% - 2 * var(--gutter));margin-inline:auto}.sec{padding-block:clamp(64px,6.67vw,96px)}.rule-top{border-top:var(--hair) solid var(--rule)}.two{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.two.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);display:grid}.stack{gap:var(--space-20);display:grid}.sec-head{gap:var(--space-20);margin-bottom:clamp(36px,4.4vw,64px);display:grid}@media (width<=980px){.two,.two.even,.three{grid-template-columns:minmax(0,1fr)}}.page-head{padding-block:clamp(40px,4.4vw,64px) clamp(28px,3.4vw,48px)}.page-end{padding-bottom:var(--space-96)}.h-xl{font-size:var(--fs-xl);letter-spacing:var(--tracking-xl);font-weight:500;line-height:var(--leading-tight)}.h-l{font-size:var(--fs-l);letter-spacing:var(--tracking-l);font-weight:500;line-height:var(--leading-display)}.h-d{font-size:var(--fs-d);letter-spacing:var(--tracking-d);font-weight:500;line-height:var(--leading-display)}.h-h{font-size:var(--text-heading);letter-spacing:var(--tracking-h);font-weight:500;line-height:var(--leading-snug)}.dim{color:var(--ink-3)}.intro{font-size:var(--fs-intro);line-height:var(--leading-body);color:var(--ink-2);max-width:32em}.body{font-size:var(--text-title);line-height:var(--leading-body);color:var(--ink-2)}.fine{font-size:var(--text-lead);line-height:var(--leading-body);color:var(--ink-2)}.small{font-size:var(--text-small);color:var(--ink-2)}.mono{font-family:var(--font-mono);font-size:var(--text-mono);font-weight:400}.mk{background:var(--highlight);color:var(--on-highlight);font-variant-numeric:tabular-nums;padding:0 .13em}.h-xl .mk{padding:0 .1em;line-height:1;display:inline-block}.link{color:var(--ink);text-underline-offset:3px;font-weight:500;text-decoration:underline 1px}.link:hover{text-decoration-thickness:2px}.btn{border:var(--hair) solid var(--ink);border-radius:var(--r);background:var(--ink);color:var(--paper);font-size:var(--text-body);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn:hover,.btn.sec-b{color:var(--ink);background:0 0}.btn.sec-b:hover{background:var(--ink);color:var(--paper)}.btn.lg{font-size:var(--text-lead);padding:14px 24px}.btn.full{width:100%}.actions{align-items:center;gap:var(--space-10) var(--space-16);flex-wrap:wrap;display:flex}.tile{border:var(--hair) solid var(--ink);border-radius:var(--r);background:var(--raised);width:28px;height:28px;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-micro);flex:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.seg{border:var(--hair) solid var(--ink);border-radius:var(--r);display:inline-flex}.seg button{color:var(--ink);font-size:var(--text-small);white-space:nowrap;padding:7px 14px;font-weight:500;transition:background .2s,color .2s}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}@media (width<=760px){.seg{grid-column:1/-1;width:100%}.seg button{flex:1;padding-inline:8px}}.panel{border:var(--hair) solid var(--rule);border-radius:var(--r);background:var(--raised);overflow:hidden}.demo{position:relative}.demo-ctl{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-mono);text-underline-offset:3px;text-decoration:underline}.demo-ctl:hover{color:var(--ink)}.demo-foot{justify-content:space-between;align-items:center;gap:var(--space-16);min-height:20px;margin-top:var(--space-12);display:flex}.dev-head{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-14) var(--space-20);border-bottom:var(--hair) solid var(--rule-strong);flex-wrap:wrap;grid-column:1/-1;display:flex}.dev-head .lbl{color:var(--ink-2);font-size:var(--text-lead)}.t{--hl:0;--bk:0;--px:0px;vertical-align:top;white-space:nowrap;max-width:100%;display:inline-block;position:relative}.t.pad{--px:6px}.t>.tx{padding-inline:var(--px);clip-path:inset(-4px -4px -4px calc(var(--bk) * 100%));display:inline-block;position:relative}.t>.hb{background:var(--highlight);clip-path:inset(0 calc((1 - var(--hl)) * 100%) 0 calc(var(--bk) * 100%));position:absolute;inset:-3px 0}.t>.hb>span{left:var(--px);color:var(--on-highlight);white-space:nowrap;font-style:normal;position:absolute;top:3px}.t>.bb{height:var(--bar-h,14px);margin-top:calc(var(--bar-h,14px) / -2);background:var(--bar);transform:scaleX(var(--bk));transform-origin:0;position:absolute;top:50%;left:0;right:0}.snip{color:color-mix(in srgb, currentColor 72%, transparent);margin-left:12px}.cut{position:relative}.cut>.cb{height:var(--bar-h,14px);margin-top:calc(var(--bar-h,14px) / -2);background:var(--bar);transform:scaleX(var(--cut,0));transform-origin:0;position:absolute;top:50%;left:0;right:0}.fact{align-content:start;gap:var(--space-6);padding-top:var(--space-14);border-top:var(--hair) solid var(--rule-strong);display:grid}.fact h3{font-size:var(--text-title);font-weight:500;line-height:var(--leading-snug)}.fact p{color:var(--ink-2);font-size:var(--text-lead)}.routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px);display:grid}.route{gap:var(--space-8);padding-top:var(--space-16);border-top:var(--hair) solid var(--rule-strong);text-decoration:none;display:grid}.route h3{font-size:var(--text-heading);letter-spacing:var(--tracking-h);font-weight:500;line-height:var(--leading-snug)}.route p{max-width:26em;color:var(--ink-2)}.route .go{margin-top:var(--space-6);font-size:var(--text-lead);text-underline-offset:3px;font-weight:500;text-decoration:underline}.route:hover .go{text-decoration-thickness:2px}@media (width<=720px){.routes{grid-template-columns:minmax(0,1fr)}}.checks{gap:var(--space-8);font-size:var(--text-lead);display:grid}.checks li{gap:var(--space-8);grid-template-columns:16px minmax(0,1fr);align-items:baseline;line-height:1.35;display:grid}.checks li:before{content:"";border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);width:10px;height:6px;margin-top:-2px;display:block;transform:rotate(-45deg)translateY(-3px)}.tbl{border-collapse:collapse;width:100%;font-size:var(--text-lead)}.tbl th,.tbl td{border-bottom:var(--hair) solid var(--rule);text-align:left;vertical-align:top;padding:12px 16px 12px 0;line-height:1.35}.tbl thead th{border-bottom:var(--hair) solid var(--rule-strong);font-size:var(--text-title);font-weight:500}.tbl tbody th{font-weight:500}.tbl td{color:var(--ink-2)}.tbl-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=640px){.tbl{font-size:var(--text-small)}.tbl th,.tbl td{padding:10px 8px 10px 0}.tbl thead th{font-size:var(--text-small)}}.code-block{padding:var(--space-20);border-radius:var(--r);background:var(--sunken);font-family:var(--font-mono);white-space:pre;margin:0;font-size:13px;line-height:1.7;overflow-x:auto}.code-block .c{color:var(--ink-2)}.note-box{padding:var(--space-14) var(--space-16);border:var(--hair) solid var(--rule-strong);border-radius:var(--r);color:var(--ink-2);font-size:var(--text-lead)}.note-box b{color:var(--ink);font-weight:500;display:block}.field{gap:var(--space-6);font-size:var(--text-small);font-weight:500;display:grid}.field input,.field select,.field textarea{border:var(--hair) solid var(--rule);border-radius:var(--r);background:var(--raised);width:100%;font-size:var(--text-lead);padding:11px 12px;font-weight:400}.field textarea{resize:vertical;min-height:96px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
