@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-vietnamese-wdth-normal.Rd0aZl9c.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin-ext-wdth-normal.CQ1tG6In.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin-wdth-normal.BMVx8nn_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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}@layer tokens;@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem;font-size:100%}@media (width>=1400px){html{font-size:112.5%}}@media (width>=1800px){html{font-size:125%}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}img,svg,canvas,video{max-width:100%;display:block}a{color:inherit;text-decoration-color:var(--rule-strong);text-underline-offset:.1875rem;transition:text-decoration-color var(--dur-fast), color var(--dur-fast);text-decoration-thickness:1px}a:hover{text-decoration-color:var(--accent)}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.12}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}code,kbd,pre,samp{font-family:var(--font-mono)}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7188rem;font-weight:500}.kicker{color:var(--accent-ink)}.mono{font-family:var(--font-mono);font-feature-settings:"zero"}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.accent{color:var(--accent-ink)}.warm{color:var(--amber-ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rule{border:0;border-top:1px solid var(--rule);margin:0}.section{border-top:1px solid var(--rule);padding-block:clamp(3.5rem,9vw,7rem)}.section-head{gap:.75rem;margin-bottom:clamp(1.75rem,4vw,3rem);display:grid}@media (width>=860px){.section-head{grid-template-columns:13.75rem 1fr;align-items:baseline;gap:2rem}}.section-head h2{max-width:22ch;font-size:clamp(1.625rem,3.2vw,2.375rem);font-stretch:108%}.section-head p:not(.label){color:var(--muted);max-width:60ch;margin-top:.75rem}.section-head .label,.page-head .label{color:var(--accent-ink)}.page-head{padding-block:clamp(3.5rem,10vw,7.5rem) clamp(2.25rem,5vw,3.5rem)}.page-head h1{letter-spacing:-.03em;max-width:24ch;font-size:clamp(2rem,3.8vw,2.875rem);font-weight:620;font-stretch:112%;line-height:1.06}.page-head .label+h1{margin-top:.875rem}.page-head p:not(.label){color:var(--ink-2);max-width:58ch;margin-top:1.25rem;font-size:clamp(1.0625rem,1.6vw,1.1875rem)}.grid-bg,.page-head{isolation:isolate;position:relative}.grid-bg:before,.page-head:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-position:calc(50% + .5px) -1px;background-size:3.5rem 3.5rem;width:100vw;position:absolute;inset:0 auto 0 50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(70% 75% at 30% 45%,#000 25%,#0000 72%);mask-image:radial-gradient(70% 75% at 30% 45%,#000 25%,#0000 72%)}.page-head:before{-webkit-mask-image:radial-gradient(55% 85% at 22%,#000c 15%,#0000 70%);mask-image:radial-gradient(55% 85% at 22%,#000c 15%,#0000 70%)}.grid-box{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:3.5rem 3.5rem}.dot-grid{background-color:var(--bg);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1px);background-size:1rem 1rem}.grad-text{background:linear-gradient(100deg, var(--accent) 8%, color-mix(in srgb, var(--accent) 45%, var(--pink)) 55%, color-mix(in srgb, var(--amber) 80%, var(--pink)) 100%);color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.prose{max-width:var(--prose);color:var(--ink-2);font-size:1.0625rem;line-height:1.7}.prose>*+*{margin-top:1.15em}.prose h2{color:var(--ink);margin-top:2.2em;scroll-margin-top:5.5rem;font-size:1.625rem;font-stretch:106%}.prose h3{color:var(--ink);margin-top:1.8em;scroll-margin-top:5.5rem;font-size:1.25rem}.prose h2+*,.prose h3+*{margin-top:.7em}.prose strong{color:var(--accent-ink);font-weight:600}.prose a{color:var(--ink);text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--faint)}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink);margin-inline:0;padding-left:1.125rem}.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2.4em}.prose :not(pre)>code{overflow-wrap:anywhere;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.12em .35em;font-size:.86em}.prose figure{margin-inline:0}.prose figcaption{color:var(--muted);margin-top:.625rem;font-size:.8125rem}.js [data-reveal]{opacity:0;transition:opacity var(--dur-reveal) var(--ease), transform var(--dur-reveal) var(--ease);transform:translateY(.625rem)}.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}}@layer components{.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.i.lg{width:1.125rem;height:1.125rem}.btn{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);height:2.375rem;color:var(--ink);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast), background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:.5rem;padding-inline:.875rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:default;transform:none}.btn:disabled:hover{border-color:var(--rule-strong)}.btn.sm{gap:.375rem;height:2rem;padding-inline:.75rem;font-size:.8125rem}.btn.xs{border-radius:.3125rem;gap:.3125rem;height:1.75rem;padding-inline:.5rem;font-size:.75rem}.btn.icon{width:2.375rem;padding:0}.btn.icon.sm{width:2rem}.btn.icon.xs{width:1.75rem}.btn.primary,.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn.primary:hover,.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-sunk);color:var(--ink)}.btn.ghost:disabled:hover{background:0 0}.btn.on,.btn[aria-pressed=true]{background:var(--accent-wash);color:var(--accent-ink);border-color:#0000}.btn.danger{color:var(--down)}.btn.danger:hover{border-color:var(--down)}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chips{flex-wrap:wrap;gap:.375rem;display:flex}.chip{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);height:1.375rem;color:var(--ink-2);font-family:var(--font-mono);white-space:nowrap;transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);align-items:center;gap:.3125rem;padding-inline:.4375rem;font-size:.7188rem;text-decoration:none;display:inline-flex}a.chip,button.chip{cursor:pointer}.chip:is(a,button):hover,.chip.hl,.chip.on,.chip[aria-pressed=true]{color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-wash)}.chip.warm{color:var(--amber-ink);border-color:color-mix(in srgb, var(--amber) 40%, transparent);background:var(--amber-wash)}.chip.warm:is(a,button):hover,.chip.warm.hl{border-color:var(--amber)}.badge{border-radius:var(--radius-sm);background:var(--bg-sunk);height:1.125rem;color:var(--muted);font:500 .6562rem var(--font-mono);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.25rem;padding-inline:.375rem;display:inline-flex}.badge.outline{box-shadow:inset 0 0 0 1px var(--rule-strong);background:0 0}.badge.accent{background:var(--accent-wash);color:var(--accent-ink)}.badge.warm{background:var(--amber-wash);color:var(--amber-ink)}.badge.ok{background:color-mix(in srgb, var(--ok) 12%, transparent);color:color-mix(in srgb, var(--ok) 75%, var(--ink))}.badge.warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:color-mix(in srgb, var(--warn) 70%, var(--ink))}.badge.down{background:color-mix(in srgb, var(--down) 11%, transparent);color:var(--down)}.pill{border:1px solid var(--rule);border-radius:var(--radius-full);background:var(--bg);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-fast), color var(--dur-fast);align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.75rem;display:inline-flex}.pill:hover{border-color:var(--accent);color:var(--accent-ink)}.kbd,.prose kbd{border:1px solid var(--rule);border-bottom-color:var(--rule-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:1.25em;color:var(--muted);font:.6875rem/1.5 var(--font-mono);text-align:center;white-space:nowrap;padding:1px .3125rem;display:inline-block}.kbd.bare{min-width:0;color:var(--faint);background:0 0;border:0;padding:0;font-size:.625rem}.fld{gap:.25rem;display:grid}.fld>span:first-child,.fld>label:first-child{color:var(--muted);font-size:.7188rem}.fld .hint{font-size:.75rem}.fld .err{color:var(--down);font-size:.75rem}.two{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.inp{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg);width:100%;min-width:0;height:2rem;color:var(--ink);font:.8125rem var(--font-sans);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;padding:0 .5625rem}.inp.lg{height:2.375rem;padding-inline:.75rem;font-size:.9375rem}.inp::placeholder{color:var(--faint)}.inp:hover{border-color:var(--rule-strong)}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.inp[aria-invalid=true]{border-color:var(--down)}.inp:disabled{opacity:.5;cursor:not-allowed}.inp.mono{font-family:var(--font-mono);font-size:.75rem}textarea.inp{resize:vertical;height:auto;padding:.4375rem .5625rem;line-height:1.45}select.inp{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - .8125rem) 52%,calc(100% - .5rem) 52%;background-repeat:no-repeat;background-size:.3125rem .3125rem;padding-right:1.75rem}.chk{color:var(--ink-2);cursor:pointer;align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.chk input{accent-color:var(--accent);width:.875rem;height:.875rem;margin:0}.switch{appearance:none;border-radius:var(--radius-full);background:var(--rule-strong);cursor:pointer;width:1.875rem;height:1.125rem;transition:background var(--dur) var(--ease);flex:none;margin:0;position:relative}.switch:before{content:"";background:var(--surface);width:.75rem;height:.75rem;transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(.75rem)}.switch:disabled{opacity:.4;cursor:not-allowed}.seg{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--bg-sunk);gap:2px;padding:.1875rem;display:inline-flex}.seg button{appearance:none;height:1.875rem;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;border-radius:.3125rem;padding-inline:.75rem;font-size:.8125rem;font-weight:500}.seg button:hover{color:var(--ink)}.seg button:is([aria-pressed=true],[aria-selected=true],[aria-checked=true],.on){background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule), 0 1px 2px #0000000f}.seg.fill{background:var(--bg);border-radius:.4375rem;grid-template-columns:repeat(auto-fit,minmax(4rem,1fr));padding:2px;display:grid}.seg.sm button,.seg.fill button{height:1.625rem;padding-inline:.375rem;font-size:.75rem;font-weight:400}.tabs{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tab{height:1.875rem;color:var(--muted);white-space:nowrap;cursor:pointer;user-select:none;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:0;border-radius:.4375rem;align-items:center;gap:.25rem;padding:0 .625rem;font-size:.7812rem;display:inline-flex;position:relative}.tab:hover{background:var(--bg-sunk);color:var(--ink)}.tab:is([aria-selected=true],.on){background:var(--accent-wash);color:var(--accent-ink);font-weight:560}.tab .tx{border-radius:var(--radius-sm);width:1.125rem;height:1.125rem;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin-right:-.25rem;padding:0;display:none}.tab .tx .i{width:.75rem;height:.75rem}.tab:hover .tx,.tab:is([aria-selected=true],.on) .tx{display:grid}.tab .tx:hover{background:color-mix(in srgb, var(--ink) 10%, transparent)}.tabs.line{border-bottom:1px solid var(--rule);gap:1.25rem}.tabs.line .tab{background:0 0;border-radius:0;height:2.25rem;padding:0;font-size:.875rem;box-shadow:inset 0 -2px #0000}.tabs.line .tab:is([aria-selected=true],.on){color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);font-weight:500}.card{border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);color:inherit;padding:1.25rem 1.375rem;text-decoration:none;display:block}a.card{transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease)}a.card:hover{border-color:var(--rule-strong)}a.card:hover h3{color:var(--accent-ink)}.card h3{transition:color var(--dur-fast);font-size:1.1875rem;font-stretch:105%}.card .label+h3{margin-top:.5rem}.card p:not(.label){color:var(--ink-2);margin-top:.5rem;font-size:.9375rem}.card.sunk{background:var(--bg-sunk)}.card.flat{background:0 0;border-width:1px 0 0;border-radius:0;padding-inline:0}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.75rem;display:grid}.callout{--c:var(--accent);border:1px solid var(--rule);border-left:2px solid var(--c);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);color:var(--ink-2);grid-template-columns:auto 1fr;align-items:start;gap:.625rem;padding:.875rem 1rem;font-size:.9062rem;display:grid}.callout>.i{color:var(--c);margin-top:.1875rem}.callout strong{color:var(--ink);font-weight:600}.callout.warm{--c:var(--amber)}.callout.ok{--c:var(--ok)}.callout.down{--c:var(--down)}.callout>:only-child{grid-column:1/-1}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:var(--z-menu);background:var(--ink);color:var(--bg);font:400 .75rem/1.4 var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease);border-radius:.3125rem;padding:.25rem .5rem;position:absolute;bottom:calc(100% + .375rem);left:50%;transform:translate(-50%,.1875rem)}[data-tip][data-tip-pos=bottom]:after{top:calc(100% + .375rem);bottom:auto;transform:translate(-50%,-.1875rem)}[data-tip]:is(:hover,:focus-visible):after{opacity:1;transition-delay:.35s;transform:translate(-50%)}.dropdown{display:inline-block;position:relative}.menu{z-index:var(--z-menu);border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);width:16.25rem;box-shadow:var(--shadow);max-height:min(70vh,30rem);padding:.375rem;display:block;overflow:auto}.dropdown>.menu{animation:pop .14s var(--ease);position:absolute;top:calc(100% + .375rem);left:0}.dropdown>.menu.end{left:auto;right:0}.menu[hidden]{display:none}.menu hr{border:0;border-top:1px solid var(--rule);margin:.375rem .25rem}.mh{font:500 .625rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:.5rem .5rem .25rem}.mi{border-radius:var(--radius);width:100%;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.625rem;padding:.4375rem .5rem;font-size:.8125rem;text-decoration:none;display:flex}.mi:is(:hover,:focus-visible,[data-active]):not(:disabled){background:var(--bg-sunk);color:var(--ink);outline:none}.mi:disabled{opacity:.4;cursor:default}.mi>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mi .kbd{color:var(--faint);background:0 0;border:0;padding:0}.mi[aria-checked=true]:after{content:"";background:var(--accent);border-radius:50%;width:.375rem;height:.375rem}.mi.danger{color:var(--down)}@keyframes pop{0%{opacity:0;transform:translateY(-.25rem)}}.dlg{border:1px solid var(--rule);border-radius:var(--radius-2xl);background:var(--surface);width:min(40rem,100vw - 2rem);max-height:calc(100vh - 3rem);color:var(--ink);box-shadow:var(--shadow-lg);padding:0 1.125rem 1.125rem}.dlg.sm{width:min(26rem,100vw - 2rem)}.dlg[open]{animation:dlg-in .18s var(--ease)}.dlg::backdrop{backdrop-filter:blur(2px);background:#0a0a0959}.dlg-head{z-index:1;border-bottom:1px solid var(--rule);background:var(--surface);justify-content:space-between;align-items:center;gap:.5rem;margin:0 -1.125rem .875rem;padding:.875rem .75rem .75rem 1.125rem;display:flex;position:sticky;top:0}.dlg-head h4{letter-spacing:-.01em;font-size:.875rem;font-weight:600}.dlg-foot{justify-content:flex-end;gap:.5rem;margin-top:1.125rem;display:flex}@keyframes dlg-in{0%{opacity:0;transform:translateY(-.375rem)scale(.985)}}.toast{z-index:var(--z-toast);border-radius:var(--radius-lg);background:var(--ink);max-width:calc(100vw - 2rem);color:var(--bg);opacity:0;pointer-events:none;transition:opacity var(--dur), transform var(--dur) var(--ease);align-items:center;gap:.5rem;padding:.5625rem .875rem;font-size:.8125rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%,.75rem)}.toast.show{opacity:1;transform:translate(-50%)}.toast .i{width:.875rem;height:.875rem}.toast.inline{opacity:1;display:inline-flex;position:static;transform:none}.palette{background:0 0;border:0;width:min(35rem,100vw - 2rem);max-height:none;margin:14vh auto auto;padding:0;overflow:visible}.palette::backdrop{backdrop-filter:blur(2px);background:#0a0a095c}.palette[open] .pbox{animation:dlg-in .16s var(--ease)}.pbox{border:1px solid var(--rule-strong);border-radius:var(--radius-xl);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);overflow:hidden}.pbox input{border:0;border-bottom:1px solid var(--rule);width:100%;height:3.25rem;color:var(--ink);background:0 0;outline:none;padding:0 1.125rem;font-size:1rem}.pbox input::placeholder{color:var(--faint)}.pbox ul{max-height:min(22.5rem,50vh);margin:0;padding:.375rem;list-style:none;overflow:auto}.pbox [role=option]{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;height:2.375rem;padding:0 .75rem;font-size:.875rem;display:flex}.pbox [aria-selected=true]{background:var(--bg-sunk);box-shadow:inset 2px 0 0 var(--accent)}.pbox .ph{font:.7188rem var(--font-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pbox .pg{font:.6562rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.625rem .75rem .25rem}.pbox .pe{color:var(--muted);padding:1.25rem .75rem;font-size:.875rem}.pbox .pf{border-top:1px solid var(--rule);font:.7188rem var(--font-mono);color:var(--muted);gap:1rem;padding:.5625rem .875rem;display:flex}.pbox .pf kbd{font:inherit;border:1px solid var(--rule);border-radius:var(--radius-xs);margin-right:.1875rem;padding:0 .25rem}.table,.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9062rem}.table th,.prose th{text-align:left;font:500 .6875rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.table :is(th,td),.prose :is(th,td){border-bottom:1px solid var(--rule);vertical-align:top;padding:.5625rem .75rem .5625rem 0}.table :is(th,td).n,.prose :is(td,th):not(:first-child){text-align:right}.table td.n{font-family:var(--font-mono);font-size:.8125rem}.table code{color:var(--accent-ink);font-size:.8125rem}.table.compact{font-size:.8125rem}.table.compact :is(th,td){padding-block:.375rem}.table tbody tr:hover td{background:color-mix(in srgb, var(--bg-sunk) 60%, transparent)}.table-wrap{overflow-x:auto}.code{position:relative}.code pre,pre.code{border:1px solid var(--rule);border-radius:var(--radius-lg);tab-size:2;margin:0;padding:1rem 1.125rem;font-size:.8125rem;line-height:1.6;overflow-x:auto;background-color:var(--surface)!important}.code .copy{border:1px solid var(--rule);background:var(--bg);height:1.625rem;font:.7188rem var(--font-mono);color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--dur-fast), color var(--dur-fast);border-radius:.3125rem;padding:0 .5rem;position:absolute;top:.5rem;right:.5rem}.code:hover .copy,.code .copy:focus-visible{opacity:1}.code .copy:hover{color:var(--ink)}@media (hover:none){.code .copy{opacity:1}}.code-i{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);overflow-wrap:anywhere;padding:.12em .35em;font-size:.86em}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}.stat-tiles{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));border-top:1px solid var(--ink);margin:0;display:grid}@media (width<=860px){.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tiles>div:nth-child(odd){border-left:0;padding-left:0}}.stat-tiles>div{border-bottom:1px solid var(--rule);padding:1rem 1rem 1.25rem 0}.stat-tiles>div+div{border-left:1px solid var(--rule);padding-left:1rem}.stat-tiles dd{margin:.5rem 0 0}.stat-v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:600;font-stretch:108%;display:block}.stat-s{color:var(--muted);margin-top:.25rem;font-size:.8125rem;line-height:1.4;display:block}.metrics{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--rule);grid-template-columns:repeat(auto-fit,minmax(10.625rem,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.metrics>div{background:var(--surface);flex-direction:column-reverse;justify-content:flex-end;gap:.25rem;padding:.75rem .875rem;display:flex}.metrics dd{color:var(--amber-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:1.1875rem;font-weight:600;font-stretch:110%}.metrics dt{color:var(--muted);font-size:.7812rem;line-height:1.4}.meter{--v:.5;border-radius:var(--radius-full);background:color-mix(in srgb, var(--ink) 7%, transparent);height:.375rem;position:relative;overflow:hidden}.meter>i{width:calc(var(--v) * 100%);border-radius:inherit;background:var(--accent);transition:width var(--dur-slow) var(--ease);position:absolute;inset:0 auto 0 0}.meter.warm>i{background:var(--s-personal)}.meter.ok>i{background:var(--ok)}.meter.warn>i{background:var(--warn)}.meter.down>i{background:var(--down)}.meter.lg{height:.625rem}.meter-row{grid-template-columns:7rem 1fr 3rem;align-items:center;gap:.75rem;font-size:.8125rem;display:grid}.meter-row>:last-child{text-align:right;font:.75rem var(--font-mono);color:var(--muted)}.meter.indeterminate>i{width:35%;animation:meter-slide 1.3s var(--ease) infinite}@keyframes meter-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.bars{border-bottom:1px solid var(--rule-strong);align-items:flex-end;gap:3px;height:9rem;display:flex}.bars>i{height:calc(var(--v) * 100%);background:var(--s-work);min-height:1px;transition:height var(--dur-slow) var(--ease), opacity var(--dur-fast);border-radius:2px 2px 0 0;flex:1}.bars>i.p{background:var(--s-personal)}.bars:hover>i:not(:hover){opacity:.55}.axis{font:.6875rem var(--font-mono);color:var(--muted);justify-content:space-between;margin-top:.375rem;display:flex}.timeline{margin:0;padding:0;list-style:none;position:relative}.tl-item{grid-template-columns:11.25rem 1.5rem 1fr;column-gap:.5rem;display:grid}.tl-when{font:.75rem var(--font-mono);color:var(--muted);text-align:right;padding:.1875rem 1rem 0 0;transition:color .3s}.tl-rail{justify-content:center;display:flex;position:relative}.tl-rail:before{content:"";background:var(--rule);width:1px;position:absolute;top:0;bottom:0}.tl-item:last-child .tl-rail:before{height:.75rem;bottom:auto}.tl-rail:after{content:"";background:var(--bg);border:1.5px solid var(--rule-strong);width:.5625rem;height:.5625rem;transition:background .3s, border-color .3s, transform .3s var(--ease);border-radius:50%;margin-top:.4375rem;position:relative}.tl-item.ms .tl-rail:after{border-color:var(--accent);box-shadow:0 0 0 .25rem var(--accent-wash)}.tl-item.on .tl-rail:after{border-color:var(--accent);background:var(--accent-wash)}.tl-item.ms.on .tl-rail:after{background:var(--accent)}.tl-item.cur .tl-rail:after{transform:scale(1.25)}.tl-item.cur .tl-when{color:var(--accent-ink)}.tl-body{min-width:0;padding:0 0 2.25rem .75rem}.tl-body .org{color:var(--muted);font-size:.8125rem}.tl-body h3{color:var(--accent-ink);margin-top:.25rem;font-size:clamp(1.125rem,2vw,1.375rem);font-stretch:106%}.tl-body p:not(.org){color:var(--ink-2);max-width:64ch;margin-top:.5rem}.tl-fill{pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--accent) 35%, transparent), var(--accent));transform-origin:top;width:2px;height:100%;transform:scaleY(var(--p,0));border-radius:1px;position:absolute;top:0;left:calc(12.5rem - 1px)}@media (width<=640px){.tl-item{grid-template-columns:1.25rem 1fr}.tl-when{text-align:left;grid-column:2;padding:0 0 0 .75rem}.tl-rail{grid-area:1/1/span 2}.tl-fill{left:calc(.625rem - 1px)}}.island{border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:2px;padding:.25rem;display:flex}.island.bar{border-radius:var(--radius-2xl);gap:3px;padding:.3125rem}.island.bar .btn{height:2.25rem;font-size:.8438rem}.island.bar .btn.icon{width:2.25rem}.island.bar .i{width:1.125rem;height:1.125rem}.island .btn{border-radius:.4375rem;height:2rem;font-size:.8125rem;font-weight:520}.island .btn:not(.accent):not(.primary){color:var(--ink-2);background:0 0;border-color:#0000}.island .btn:not(.accent):not(.primary):hover{background:var(--bg-sunk);color:var(--ink)}.island .btn:is(.on,[aria-pressed=true]){background:var(--accent-wash)!important;color:var(--accent-ink)!important}.island .btn.icon{width:2rem}.island .brand{letter-spacing:.02em;padding:0 .5rem 0 .125rem;font-size:.875rem;font-weight:500}.sep{background:var(--rule);flex:none;width:1px;height:1.25rem;margin:0 .25rem}.island.bar .sep{height:1.375rem}.tool{position:relative}.tool kbd{font:.5312rem/1 var(--font-mono);color:var(--faint);position:absolute;bottom:0;right:2px}.panel{border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);padding:0 .875rem 1rem;overflow:auto}.panel[hidden]{display:none}.panel-head{z-index:1;border-bottom:1px solid var(--rule);background:var(--surface);justify-content:space-between;align-items:center;gap:.5rem;margin:0 -.875rem .25rem;padding:.75rem .625rem .625rem .875rem;display:flex;position:sticky;top:0}.panel-head h4{letter-spacing:-.01em;font-size:.875rem;font-weight:600}.panel-sec{border-bottom:1px solid var(--rule);gap:.625rem;padding:.75rem 0;display:grid}.panel-sec:last-child{border-bottom:0}.panel-sec>.label{font-size:.6875rem}.hint{color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.meta{font:.6875rem var(--font-mono);color:var(--faint);margin:.875rem 0 0}.tones{flex-wrap:wrap;gap:.375rem;display:flex}.tone{border:1.5px solid var(--rule-strong);background:var(--surface);cursor:pointer;border-radius:50%;width:1.375rem;height:1.375rem;padding:0}.tone:is(.on,[aria-pressed=true],[aria-checked=true]){box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--ink)}.t-purple{background:var(--w-purple);border-color:var(--t-purple)}.t-amber{background:var(--w-amber);border-color:var(--t-amber)}.t-green{background:var(--w-green);border-color:var(--t-green)}.t-blue{background:var(--w-blue);border-color:var(--t-blue)}.t-red{background:var(--w-red);border-color:var(--t-red)}.t-teal{background:var(--w-teal);border-color:var(--t-teal)}.t-pink{background:var(--w-pink);border-color:var(--t-pink)}.status-dot{--c:var(--ok);background:var(--c);width:.4375rem;height:.4375rem;box-shadow:0 0 0 .1875rem color-mix(in srgb, var(--c) 22%, transparent);border-radius:50%;flex:none;display:inline-block}.status-dot.warn{--c:var(--warn)}.status-dot.down{--c:var(--down);animation:1.2s steps(2,jump-none) infinite blink}.status-dot.idle{--c:var(--faint)}.status-dot.live:after{content:"";background:var(--c);width:100%;height:100%;animation:ping 1.8s var(--ease) infinite;border-radius:50%;display:block}.status{color:var(--ink-2);align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}@keyframes blink{50%{opacity:.25}}@keyframes ping{to{opacity:0;transform:scale(2.6)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 6%, transparent) 30%, color-mix(in srgb, var(--ink) 11%, transparent) 50%, color-mix(in srgb, var(--ink) 6%, transparent) 70%);background-size:300% 100%;height:.875rem;animation:1.6s linear infinite shimmer;display:block}.skeleton.title{width:60%;height:1.5rem}.skeleton.block{border-radius:var(--radius-lg);height:6rem}.skeleton+.skeleton{margin-top:.5rem}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{text-align:center;justify-items:center;gap:.75rem;padding:3rem 1.5rem;display:grid}.empty h2{font-size:1.625rem;font-stretch:105%}.empty p:not(.label){max-width:44ch;color:var(--ink-2)}.empty .btn-row{justify-content:center;margin-top:.625rem}.empty-art{width:4.5rem;height:3rem;color:var(--rule-strong)}.crumbs{font:.75rem var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--faint);margin-right:.375rem}.crumbs a{text-decoration:none}.crumbs a:hover,.crumbs [aria-current=page]{color:var(--ink)}.pager{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.pager a{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--dur-fast);gap:.25rem;padding:.875rem 1rem;text-decoration:none;display:grid}.pager a:hover{border-color:var(--rule-strong)}.pager a:hover strong{color:var(--accent-ink)}.pager .next{text-align:right;grid-column:2}.pager strong{transition:color var(--dur-fast);font-weight:560}.pages{gap:2px;display:inline-flex}.pages a,.pages span{border-radius:var(--radius);min-width:2rem;height:2rem;font:.75rem var(--font-mono);color:var(--muted);place-items:center;padding:0 .375rem;text-decoration:none;display:grid}.pages a:hover{background:var(--bg-sunk);color:var(--ink)}.pages [aria-current=page]{background:var(--accent-wash);color:var(--accent-ink)}.hdr{z-index:var(--z-header);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(.625rem);position:sticky;top:0}.hdr-row{align-items:center;gap:1.5rem;height:3.5rem;display:flex}.brand{font:500 .9375rem var(--font-mono);letter-spacing:-.01em;align-items:center;gap:.5625rem;text-decoration:none;display:flex}.mark{background:var(--accent);width:.625rem;height:.625rem;transition:transform .4s var(--ease);border-radius:1px}.brand:hover .mark{transform:rotate(90deg)}.nav{scrollbar-width:none;flex:1;overflow-x:auto}.nav ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav a{color:var(--muted);white-space:nowrap;transition:color var(--dur-fast), background var(--dur-fast);border-radius:.3125rem;padding:.375rem .625rem;font-size:.875rem;text-decoration:none;display:block}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);background:var(--bg-sunk)}.hdr-tools{align-items:center;gap:.375rem;display:flex}.kbtn,.ibtn{appearance:none;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);height:2rem;color:var(--muted);cursor:pointer;transition:border-color var(--dur-fast), color var(--dur-fast);align-items:center;gap:.625rem;display:inline-flex}.kbtn{padding:0 .375rem 0 .625rem;font-size:.8125rem}.kbtn kbd{border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--muted);padding:1px .3125rem;font-size:.6875rem}.ibtn{justify-content:center;width:2rem}.kbtn:hover,.ibtn:hover{border-color:var(--rule-strong);color:var(--ink)}@media (width<=760px){.hdr-row{flex-wrap:wrap;gap:.5rem 1rem;height:auto;padding-block:.625rem 0}.hdr-row .brand{flex:1}.hdr-row .nav{flex-basis:100%;order:3;margin-inline:-.625rem;padding-bottom:.375rem}.kbtn .kt{display:none}}.ftr{border-top:1px solid var(--rule);background:var(--bg-sunk)}.ftr-cta{gap:1.75rem;padding-block:clamp(3rem,7vw,5.5rem);display:grid}@media (width>=860px){.ftr-cta{grid-template-columns:1fr auto;align-items:end}}.ftr-cta h2{max-width:24ch;margin-top:.875rem;font-size:clamp(1.5rem,3vw,2.125rem);font-stretch:108%}.ftr-base{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.375rem 1.75rem;font-size:.8438rem;display:flex}.ftr-links{flex-wrap:wrap;gap:.25rem 1.125rem;margin:0;padding:0;list-style:none;display:flex}.ftr-links a{text-decoration:none}.ftr-links a:hover{color:var(--ink)}.posts{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.posts>li{border-bottom:1px solid var(--rule);grid-template-columns:6.875rem 1fr auto;align-items:baseline;gap:.5rem 1.5rem;padding:1.25rem 0;display:grid;position:relative}.posts time,.posts .r{font:.75rem var(--font-mono);color:var(--muted)}.posts .t{flex-direction:column;gap:.25rem;display:flex}.posts .h{color:var(--accent-ink);letter-spacing:-.01em;font-size:1.125rem;font-weight:580;text-decoration:none}.posts .h:after{content:"";position:absolute;inset:0}.posts>li:hover .h{text-underline-offset:.25rem;text-decoration:underline 1.5px}.posts .d{color:var(--muted);max-width:70ch;font-size:.9062rem}.posts .chips{z-index:1;margin-top:.5rem;position:relative}@media (width<=640px){.posts>li{grid-template-columns:1fr auto}.posts .t{grid-area:2/1/auto/-1}}.rows>*{border-top:1px solid var(--rule);gap:.75rem;padding-block:2rem;display:grid}@media (width>=860px){.rows>*{grid-template-columns:13.75rem 1fr;gap:2rem}}}@layer diagram{.tp{font-family:var(--font-sans);overflow:visible}.tp text{font-feature-settings:"ss01", "cv11"}.tp .tone-purple{--tc:var(--t-purple);--tw:var(--w-purple)}.tp .tone-amber{--tc:var(--t-amber);--tw:var(--w-amber)}.tp .tone-green{--tc:var(--t-green);--tw:var(--w-green)}.tp .tone-blue{--tc:var(--t-blue);--tw:var(--w-blue)}.tp .tone-red{--tc:var(--t-red);--tw:var(--w-red)}.tp .tone-teal{--tc:var(--t-teal);--tw:var(--w-teal)}.tp .tone-pink{--tc:var(--t-pink);--tw:var(--w-pink)}.tp .zone .zr{fill:none;stroke:var(--rule-strong);stroke-dasharray:3 4}.tp .zone.solid .zr{stroke-dasharray:none}.tp .zone[class*=tone-] .zr{stroke:color-mix(in srgb, var(--tc) 55%, var(--rule-strong))}.tp .zone.tint .zr{fill:color-mix(in srgb, var(--tw) 65%, transparent)}.tp .zone .zl{font:500 10.5px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;fill:var(--muted);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.tp .zone[class*=tone-] .zl{fill:var(--tc)}.tp .edge path{fill:none;stroke-linejoin:round}.tp .edge .base{stroke:var(--rule-strong);stroke-width:1.4px;transition:stroke .2s,opacity .2s}.tp .edge.control .base{stroke-dasharray:5 4}.tp .edge.fallback .base{stroke-dasharray:1.5 4;stroke-linecap:round}.tp .edge.stream .base{stroke-width:2.2px;stroke:color-mix(in srgb, var(--accent) 30%, var(--rule-strong))}.tp .edge[class*=tone-] .base{stroke:color-mix(in srgb, var(--tc) 55%, var(--rule-strong))}.tp .edge .flow{stroke:var(--accent);stroke-width:1.6px;stroke-dasharray:3 13;stroke-linecap:round;opacity:.85;animation:1.1s steps(16,end) infinite tp-flow}.tp .edge .flow.rev{animation-direction:reverse}.tp .edge[class*=tone-] .flow,.tp .edge[class*=tone-] .pulse{stroke:var(--tc)}.tp .edge .pulse{stroke:var(--accent);stroke-width:3px;stroke-linecap:round;opacity:0;animation:2.4s ease-in-out infinite tp-pulse}.tp .edge .pkt{fill:var(--accent)}.tp .edge .comet{stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;opacity:.9}.tp .edge[class*=tone-] .comet{stroke:var(--tc)}.tp .busy-track{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1.5px}.tp .busy-arc{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round}.tp .node[class*=tone-] .busy-arc{stroke:var(--tc)}.tp .node.glow .body{animation:2.6s ease-in-out infinite tp-glow}.tp .edge[class*=tone-] .pkt{fill:var(--tc)}.tp .edge .elabel{font:10.5px var(--font-mono);fill:var(--muted);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.tp .arr{fill:var(--rule-strong)}.tp .arr[class*=tone-]{fill:color-mix(in srgb, var(--tc) 70%, var(--rule-strong))}.tp .hatch{stroke:var(--rule);stroke-width:2px}.tp .node .body{fill:var(--surface);stroke:var(--rule-strong);stroke-width:1px;transition:stroke .2s,fill .2s}.tp .node .ghost{opacity:.7}.tp .node.compute .body{stroke:var(--ink-2)}.tp .node.control .body{fill:var(--bg-sunk);stroke-dasharray:4 3}.tp .node.io .body{fill:var(--bg)}.tp .node .lip,.tp .node .rim{stroke:var(--rule-strong);fill:none}.tp .node.store .body{stroke:color-mix(in srgb, var(--amber) 55%, var(--rule-strong))}.tp .node.store .lip{stroke:var(--amber);stroke-width:1.5px}.tp .node[class*=tone-] .body,.tp .node[class*=tone-] .lip{stroke:var(--tc)}.tp .node .hfill{stroke:none;pointer-events:none}.tp .node .ico{fill:none;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.tp .node.store .ico{stroke:color-mix(in srgb, var(--amber-ink) 70%, var(--muted))}.tp .node[class*=tone-] .ico{stroke:var(--tc)}.tp .nl{font:var(--w-label,580) 13px var(--font-sans);fill:var(--ink);letter-spacing:-.01em}.tp .ns{font:10.5px var(--font-mono);fill:var(--muted)}.tp .badge rect{fill:var(--surface);stroke:var(--rule-strong)}.tp .badge text{font:500 9.5px var(--font-mono);fill:var(--muted)}.tp .node[class*=tone-] .badge rect{stroke:var(--tc)}.tp .status{stroke:var(--surface);stroke-width:1.5px}.tp .status.ok{fill:var(--ok)}.tp .status.warn{fill:var(--warn)}.tp .status.down{fill:var(--down);animation:1.2s steps(2,jump-none) infinite tp-blink}.tp .pring{fill:none;stroke:var(--accent);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite tp-ring}.tp .node[class*=tone-] .pring{stroke:var(--tc)}.tp .node[aria-pressed=true] .body{stroke:var(--accent);stroke-width:1.6px;fill:var(--accent-wash);stroke-dasharray:none}.tp .node.store[aria-pressed=true] .body{stroke:var(--amber);fill:var(--amber-wash)}.tp .node[class*=tone-][aria-pressed=true] .body{stroke:var(--tc);fill:var(--tw)}.tp .node[aria-pressed=true] .ico{stroke:var(--accent-ink)}.tp .note text{font:13px var(--font-sans);fill:var(--ink-2)}.tp .note.mono text{font-family:var(--font-mono);fill:var(--muted);letter-spacing:.02em}.tp .node,.tp .edge{transition:opacity .2s}.tp.focusing .node:not(.near){opacity:.45}.tp.focusing .edge:not(.on){opacity:.35}.tp.focusing .zone:not(.near){opacity:.6}.tp .edge.on .base{stroke:var(--ink-2)}.tp .edge[class*=tone-].on .base{stroke:var(--tc)}.tp.still .flow,.tp.still .pulse,.tp.still .pring,.tp.still .status,.tp.still .node.glow .body{animation-play-state:paused}@keyframes tp-flow{to{stroke-dashoffset:-16px}}@keyframes tp-pulse{0%,to{opacity:0}50%{opacity:.55}}@keyframes tp-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.1,1.3)}}@keyframes tp-blink{50%{opacity:.25}}@keyframes tp-glow{50%{stroke-width:2px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 55%, transparent))}}@media (prefers-reduced-motion:reduce){.tp .flow,.tp .pulse,.tp .pring,.tp .status,.tp .node.glow .body{animation:none}}.tp .node.inc-set .status:not(.inc-dot){display:none}.tp .node.inc-down .body:not(.ghost){stroke:var(--down);stroke-width:1.8px;stroke-dasharray:none;fill:color-mix(in srgb, var(--down) 9%, var(--surface));animation:1.8s ease-in-out infinite tp-alarm}.tp .node.inc-down .ghost{stroke:color-mix(in srgb, var(--down) 45%, var(--rule-strong))}.tp .node.inc-down .ico{stroke:var(--down)}.tp .node.inc-warn .body:not(.ghost){stroke:var(--warn);stroke-width:1.6px;stroke-dasharray:none;fill:color-mix(in srgb, var(--warn) 8%, var(--surface))}.tp .node.inc-warn .ico{stroke:color-mix(in srgb, var(--warn) 80%, var(--ink))}.tp .node.inc-recovered .body:not(.ghost){animation:1.6s ease-out tp-recover}.tp .edge.inc-broken .base{stroke:color-mix(in srgb, var(--down) 70%, var(--rule-strong));stroke-dasharray:3 5}.tp .edge.inc-broken :is(.flow,.pulse,.comet,.pkt){display:none}.tp .edge.inc-slow .base{stroke:color-mix(in srgb, var(--warn) 60%, var(--rule-strong))}.tp .edge.inc-slow .flow{stroke:var(--warn);animation-duration:3.3s}.tp .edge.inc-slow :is(.comet,.pulse){stroke:var(--warn)}.tp .edge.inc-slow .pkt{fill:var(--warn)}.tp.focusing .node:is(.inc-down,.inc-warn):not(.near){opacity:.8}.tp.still .node.inc-down .body{animation-play-state:paused}@keyframes tp-alarm{50%{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--down) 60%, transparent))}}@keyframes tp-recover{0%{stroke:var(--ok);stroke-width:2.2px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--ok) 60%, transparent))}}@media (prefers-reduced-motion:reduce){.tp .node.inc-down .body,.tp .node.inc-recovered .body{animation:none}}.sd{border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);grid-template-columns:minmax(0,1fr);margin:0;display:grid;overflow:hidden}@media (width>=1000px){.sd{grid-template-columns:minmax(0,1fr) 18.75rem}.sd.no-insp{grid-template-columns:minmax(0,1fr)}}.sd .fh{border-bottom:1px solid var(--rule);background:var(--surface);grid-column:1/-1;align-items:baseline;gap:.875rem;padding:.75rem 1.25rem;display:flex}.sd .fn{font:.6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.sd .ft{letter-spacing:-.01em;font-size:.9375rem;font-weight:580}.sd .fc{font:.6875rem var(--font-mono);color:var(--muted);margin-left:auto}@media (width<=640px){.sd .fc{display:none}}.sd .canvas{background-color:var(--bg);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1px);background-size:1rem 1rem;min-width:0;position:relative}.sd .scroll{padding:1.75rem 1.25rem .75rem;overflow-x:auto}.sd .scroll>svg{width:100%;min-width:32rem;height:auto;margin:0 auto;display:block;overflow:visible}.sd .node{cursor:pointer;outline:none}.sd .node:hover .body,.sd .node:focus-visible .body{stroke:var(--ink)}.sd .node:focus-visible .body{stroke-width:2px}.sd .legend{font:.6875rem var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:.375rem 1rem;padding:.625rem 1.25rem .875rem;display:flex}.sd .legend span{align-items:center;gap:.375rem;display:inline-flex}.lg{border-top:1.5px solid var(--rule-strong);width:1.125rem;height:0;display:inline-block}.lg.data{border-color:var(--accent)}.lg.control{border-top-style:dashed}.lg.fallback{border-top-style:dotted;border-top-width:2px}.lg.stream{border-top-width:2.5px;border-color:color-mix(in srgb, var(--accent) 45%, var(--rule-strong))}.lg-store{border:1px solid var(--amber);border-top-width:2px;border-radius:2px;width:.75rem;height:.625rem;display:inline-block}.lg-host{border:1px solid var(--rule-strong);background:repeating-linear-gradient(45deg, var(--rule) 0 1.5px, transparent 1.5px 4px);border-radius:2px;width:.75rem;height:.625rem;display:inline-block}.sd .legend .hint{margin-left:auto}.sd .insp{border-top:1px solid var(--rule);min-height:13.75rem;padding:1.375rem 1.375rem 1.625rem}@media (width>=1000px){.sd .insp{border-top:0;border-left:1px solid var(--rule)}}.insp-card{animation:cin .25s var(--ease)}.insp-card[hidden]{display:none}.insp-card .label.k-store{color:var(--amber-ink)}.insp-card h3{margin-top:.5rem;font-size:1.1875rem;font-stretch:105%}.insp-card .sub{font:.75rem var(--font-mono);color:var(--muted);margin:2px 0 0}.insp-card .role{color:var(--ink-2);margin:.875rem 0 0;font-size:.9062rem;line-height:1.55}.insp-card dl{border-top:1px solid var(--rule);margin:1.125rem 0 0}.insp-card dl div{border-bottom:1px solid var(--rule);justify-content:space-between;gap:.75rem;padding:.5rem 0;font-size:.8125rem;display:flex}.insp-card dt{color:var(--muted)}.insp-card dd{font:.75rem var(--font-mono);text-align:right;margin:0}@keyframes cin{0%{opacity:0;transform:translateY(.25rem)}}.stepbar{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);color:var(--muted);align-items:center;gap:.375rem;margin:.75rem 1.25rem 0;padding:.375rem .5rem;font-size:.8125rem;display:flex}.stepbar .num{text-align:center;min-width:3.5rem;font:.7188rem var(--font-mono);color:var(--accent-ink)}.stepbar .tm{font:.7188rem var(--font-mono);color:var(--ink-2);white-space:nowrap;margin-left:.25rem}.stepbar .tm:empty{display:none}.stepbar .tm[data-rel]:after{content:attr(data-rel);color:var(--muted);margin-left:.375rem}.stepbar .cap{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:.375rem;overflow:hidden}.stepbar.active .cap{color:var(--ink)}.stepbar .end{margin-left:auto}.irail{grid-template-columns:1fr auto;align-items:center;gap:2px .875rem;margin:.5rem 1.75rem 0;display:grid}.irail .rail{height:1.125rem;position:relative}.irail .rail:before{content:"";background:var(--rule);border-radius:1px;height:2px;position:absolute;top:.5rem;left:0;right:0}.irail .impact{background:color-mix(in srgb, var(--down) 45%, transparent);border-radius:2px;height:.25rem;position:absolute;top:.4375rem}.irail .impact.open{background:linear-gradient(90deg, color-mix(in srgb, var(--down) 45%, transparent), transparent)}.irail .tick{cursor:pointer;border:2px solid var(--surface);background:var(--rule-strong);width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--rule-strong);transition:transform var(--dur-fast) var(--ease);border-radius:50%;margin-left:-.375rem;padding:0;position:absolute;top:.1875rem}.irail .tick.sev-down{background:var(--down);box-shadow:0 0 0 1px var(--down)}.irail .tick.sev-warn{background:var(--warn);box-shadow:0 0 0 1px var(--warn)}.irail .tick.sev-ok{background:var(--ok);box-shadow:0 0 0 1px var(--ok)}.irail .tick:hover{transform:scale(1.25)}.irail .tick.cur{box-shadow:0 0 0 1px var(--ink), 0 0 0 4px var(--accent-wash);transform:scale(1.45)}.irail .ends{font:.6562rem var(--font-mono);color:var(--muted);grid-column:1;justify-content:space-between;display:flex}.irail .sum{font:.7188rem var(--font-mono);color:var(--muted);white-space:nowrap;grid-area:1/2}.irail .sum.bad{color:var(--down)}}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;position:absolute;top:-60px;left:.75rem}.skip:focus{top:.75rem}.site-row{gap:.875rem;padding-inline:clamp(1rem,2.5vw,1.75rem)}.site-row .badge{margin-left:-.25rem}.top-links{justify-content:flex-end;display:flex}.nav-btn{display:none}.shell{grid-template-columns:15rem minmax(0,1fr);max-width:90rem;margin-inline:auto;display:grid;overflow-x:clip}.side{border-right:1px solid var(--rule);align-self:start;height:calc(100vh - 3.5rem);padding:1.75rem 1rem 3rem clamp(1rem,2.5vw,1.75rem);position:sticky;top:3.5rem;overflow-y:auto}.sgroup+.sgroup{margin-top:1.5rem}.sgroup .label{margin:0 0 .375rem .5rem;font-size:.6562rem}.sgroup ul{margin:0;padding:0;list-style:none}.sgroup a{color:var(--muted);transition:color var(--dur-fast), background var(--dur-fast);border-radius:.3125rem;padding:.25rem .5rem;font-size:.8438rem;text-decoration:none;display:block}.sgroup a:hover{color:var(--ink)}.sgroup a[aria-current=page]{color:var(--accent-ink);background:var(--accent-wash);font-weight:520}.doc{min-width:0;max-width:60rem;padding:0 clamp(1.25rem,4vw,3.5rem) 3rem}.doc.wide{max-width:80rem}.doc-head{isolation:isolate;padding:clamp(2.25rem,5vw,3.5rem) 0 1.75rem;position:relative}.doc-head:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:3.5rem 3.5rem;position:absolute;inset:0 -12rem 0 -3.5rem;-webkit-mask-image:radial-gradient(45% 90% at 18% 40%,#000c 10%,#0000 70%);mask-image:radial-gradient(45% 90% at 18% 40%,#000c 10%,#0000 70%)}.doc-head .crumbs{margin-bottom:1rem}.doc-head h1{letter-spacing:-.03em;font-size:clamp(1.875rem,3.4vw,2.5rem);font-weight:620;font-stretch:112%;line-height:1.06}.doc-head .lead{color:var(--ink-2);max-width:58ch;margin-top:.875rem;font-size:1.0625rem}.doc-body>*+*{margin-top:1rem}.doc-body>h2{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1.5rem;scroll-margin-top:4.5rem;font-size:1.375rem;font-stretch:106%}.doc-body>h3{margin-top:2rem;scroll-margin-top:4.5rem;font-size:1.0625rem}.doc-body>h2+*,.doc-body>h3+*{margin-top:.75rem}.doc-body>p,.doc-body>ul,.doc-body>ol{color:var(--ink-2);max-width:68ch}.doc-body>ul,.doc-body>ol{padding-left:1.2em}.doc-body li+li{margin-top:.375rem}.doc-body li::marker{color:var(--faint)}.doc-body>p code,.doc-body li code,.doc-body td code:not(.c){border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.1em .35em;font-size:.86em}.ex{border:1px solid var(--rule);border-radius:var(--radius-xl);background:var(--surface);overflow:hidden}.ex-view{background:var(--bg);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.75rem;display:flex;position:relative}.ex-view.dots{background-image:radial-gradient(var(--grid-dot) 1px, transparent 1px);background-size:1rem 1rem}.ex-view.grid{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:3.5rem 3.5rem}.ex-view.center{justify-content:center}.ex-view.col{flex-direction:column;align-items:stretch}.ex-view.flush{padding:0;display:block}.ex-view.tall{min-height:16rem}.ex-cap{border-top:1px solid var(--rule);font:.6875rem var(--font-mono);color:var(--muted);align-items:center;gap:.5rem;padding:.5rem .875rem;display:flex}.ex-cap button{margin-left:auto}.ex .code pre{border:0;border-top:1px solid var(--rule);border-radius:0;max-height:26rem}.ex details>summary{border-top:1px solid var(--rule);font:.6875rem var(--font-mono);color:var(--muted);cursor:pointer;user-select:none;align-items:center;gap:.375rem;padding:.5rem .875rem;list-style:none;display:flex}.ex details>summary::-webkit-details-marker{display:none}.ex details>summary:before{content:"›";transition:transform var(--dur-fast);display:inline-block}.ex details[open]>summary:before{transform:rotate(90deg)}.ex details>summary:hover{color:var(--ink)}.api{min-width:34rem}.api td:first-child code{white-space:nowrap}.api td{color:var(--ink-2);font-size:.8438rem}.api td:not(:first-child){text-align:left!important}.dd{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;display:grid}.dd>div{border:1px solid var(--rule);border-top:2px solid var(--ok);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-2);padding:1rem 1.125rem;font-size:.875rem}.dd>div.no{border-top-color:var(--down)}.dd>div>.label{color:var(--ok);margin-bottom:.375rem;display:block}.dd>div.no>.label{color:var(--down)}.dd ul{margin:0;padding-left:1.1em}.swatches{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.625rem;display:grid}.sw{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);font-size:.75rem;overflow:hidden}.sw-chip{grid-template-columns:1fr 1fr;height:3.5rem;display:grid}.sw-chip>i{display:block}.sw-meta{padding:.5rem .625rem .625rem}.sw-meta b{font:500 .75rem var(--font-mono);color:var(--ink);display:block}.sw-meta span{font:.6562rem var(--font-mono);color:var(--muted);justify-content:space-between;gap:.5rem;margin-top:.125rem;display:flex}.cr{align-items:center;gap:.25rem;display:inline-flex}.cr i{background:var(--bg-sunk);color:var(--ink-2);border-radius:3px;padding:0 .25rem;font-style:normal}.cr i.bad{color:var(--faint)}.demo-stage{border-radius:var(--radius-lg);height:22rem;position:relative;overflow:hidden}.doc-foot{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.6875rem;display:flex}.doc-foot a{color:var(--ink-2)}.pager{margin-top:3.5rem}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.nav-btn{display:inline-flex}.top-links{display:none}.side{z-index:45;background:var(--bg);visibility:hidden;width:min(20rem,86vw);height:auto;transition:transform var(--dur) var(--ease), visibility 0s var(--dur);position:fixed;inset:3.5rem 0 0;transform:translate(-102%)}.side.open{visibility:visible;box-shadow:var(--shadow-lg);transition:transform var(--dur) var(--ease);transform:none}.site-row{flex-wrap:nowrap!important;height:3.5rem!important;padding-block:0!important}.site-row .brand{flex:1}.doc{padding-inline:1.125rem}}
