@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/geist-mono-latin-wght-normal-XN7g48iV.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/build/assets/newsreader-latin-opsz-normal-s-izfB6B.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,.dk-paper{--dk-panel:#f5f2ed;--dk-panel-sunken:#ebe6de;--dk-panel-raised:#fbf9f6;--dk-wash:#dbeae6;--dk-rule:#d8d2c7;--dk-rule-strong:#857e73;--dk-etch:#5b626c;--dk-ink:#444b55;--dk-ink-strong:#1b2330;--dk-signal:#f5a524;--dk-signal-ink:#8f5800;--dk-signal-glow:#f5a52473;--dk-signal-ring:#a86600;--dk-on-signal:#1b2330;--dk-link:#0b6b70;--dk-wire:#178d94;--dk-link-lamp:#2fb4bb;--dk-link-ring:#0b6b70;--dk-link-glow:#2fb4bb66;--dk-fault:#b0252b;--dk-fault-glow:#b0252b4d;--dk-fault-ring:#b0252b;--dk-focus:#0b6b70;--dk-hover:#1b23300f;--dk-press:#1b23301a;--dk-selected:#1b233012;--dk-pill:#1b2330;--dk-on-pill:#f5f2ed;--dk-sel:#1b2330;--dk-on-sel:#f5f2ed;--dk-nav-sel:var(--dk-panel-raised);--dk-nav-sel-ring:var(--dk-rule);--dk-on-nav-sel:var(--dk-ink-strong);--dk-nav-sel-icon:var(--dk-signal-ring);--dk-scrim:#f5f2ed8c;--dk-shadow-popover:0 18px 44px -14px #1b23304d, 0 0 0 1px #d8d2c7;--dk-shadow-window:0 30px 60px -36px #1b233057, 0 0 0 1px #1b233024;--dk-code:#0f151e;--dk-code-ink:#d9dee4;--dk-code-muted:#8a96a6;--dk-code-rule:#2e3a4b;--dk-code-signal:#f5b54a;--dk-code-link:#39c2c9;--dk-code-fault:#ff6b70;--dk-code-string:#7fd1a0;--dk-code-strong:#f1f4f7;--dk-viz-app:#2a78d6;--dk-viz-db:#1baf7a;--dk-viz-http:#6250d6;--dk-viz-cache:#e87ba4;--dk-viz-other:color-mix(in srgb, var(--dk-rule-strong) 45%, var(--dk-panel-raised));--dk-viz-q0:color-mix(in srgb, var(--dk-ink-strong) 4%, var(--dk-panel-raised));--dk-viz-q1:#cde2fb;--dk-viz-q2:#9ec5f4;--dk-viz-q3:#6da7ec;--dk-viz-q4:#3987e5;--dk-viz-q5:#256abf;--dk-viz-q6:#184f95;--dk-viz-q7:#0d366b;--dk-viz-b99:#86b6ef;--dk-viz-b95:#5598e7;--dk-viz-b75:#2a78d6;--dk-viz-b50:#1c5cab;--dk-viz-s2:color-mix(in srgb, var(--dk-ink-strong) 34%, var(--dk-panel-raised));--dk-viz-s3:color-mix(in srgb, var(--dk-ink-strong) 16%, var(--dk-panel-raised));--dk-viz-s4:var(--dk-signal-ring);--dk-viz-s5:var(--dk-fault);--dk-viz-line:var(--dk-ink-strong);--dk-viz-grid:var(--dk-rule);--dk-viz-surface:var(--dk-panel-raised);--dk-viz-on-dark:var(--dk-panel);--dk-viz-on-light:var(--dk-ink-strong);--dk-viz-band-good:color-mix(in srgb, var(--dk-ink-strong) 3%, transparent);--dk-viz-band-fair:color-mix(in srgb, var(--dk-signal) 9%, transparent);--dk-viz-band-poor:color-mix(in srgb, var(--dk-fault) 8%, transparent)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--dk-font:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--dk-font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--dk-serif:"Newsreader Variable", "Newsreader", ui-serif, Georgia, "Times New Roman", serif;--dk-font-terminal:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--dk-text-xs:12px;--dk-leading-xs:16px;--dk-text-sm:13px;--dk-leading-sm:19px;--dk-text-md:15px;--dk-leading-md:22px;--dk-text-lg:20px;--dk-leading-lg:26px;--dk-text-xl:28px;--dk-leading-xl:34px;--dk-text-2xl:44px;--dk-leading-2xl:48px;--dk-title:24px;--dk-leading-title:30px;--dk-title-sm:15px;--dk-leading-title-sm:20px;--dk-weight-regular:400;--dk-weight-medium:520;--dk-weight-bold:680;--dk-space-1:2px;--dk-space-2:4px;--dk-space-3:6px;--dk-space-4:8px;--dk-space-5:12px;--dk-space-6:16px;--dk-space-7:20px;--dk-space-8:24px;--dk-space-9:32px;--dk-space-10:48px;--dk-radius-window:20px;--dk-radius-dialog:24px;--dk-radius-panel:20px;--dk-radius-row:16px;--dk-radius-popover:14px;--dk-radius-control:12px;--dk-radius-pill:999px;--dk-ease-out:cubic-bezier(.22, 1, .36, 1);--dk-ease-in-out:cubic-bezier(.65, 0, .35, 1);--dk-ease-throw:cubic-bezier(.34, 1.56, .64, 1);--dk-duration-quick:.12s;--dk-duration-base:.2s;--dk-duration-wire:.6s;--dk-sidebar-width:196px;--dk-rail-height:44px;--dk-row-height:52px;--dk-popover-width:380px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light],.dk-paper{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dk-panel:#11161e;--dk-panel-sunken:#171e29;--dk-panel-raised:#1b2330;--dk-wash:#15272f;--dk-rule:#2a3442;--dk-rule-strong:#6b7789;--dk-etch:#8a96a6;--dk-ink:#c3cad3;--dk-ink-strong:#f1f4f7;--dk-signal-ink:#f5b54a;--dk-signal-glow:#f5a52480;--dk-signal-ring:#f5a524;--dk-link:#39c2c9;--dk-wire:#39c2c9;--dk-link-lamp:#39c2c9;--dk-link-ring:#39c2c9;--dk-link-glow:#39c2c973;--dk-fault:#ff6b70;--dk-fault-glow:#ff6b7073;--dk-fault-ring:#ff6b70;--dk-focus:#39c2c9;--dk-hover:#f1f4f712;--dk-press:#f1f4f71a;--dk-selected:#f1f4f712;--dk-pill:#f5f2ed;--dk-on-pill:#1b2330;--dk-sel:#2a3442;--dk-on-sel:#f1f4f7;--dk-nav-sel:var(--dk-sel);--dk-nav-sel-ring:transparent;--dk-on-nav-sel:var(--dk-on-sel);--dk-nav-sel-icon:var(--dk-signal);--dk-scrim:#11161e8c;--dk-shadow-popover:0 18px 44px -10px #0000009e, 0 0 0 1px #2a3442;--dk-shadow-window:0 30px 60px -30px #000000b3, 0 0 0 1px #3e4b5e;--dk-viz-app:#3987e5;--dk-viz-db:#199e70;--dk-viz-http:#9085e9;--dk-viz-cache:#d55181;--dk-viz-other:color-mix(in srgb, var(--dk-rule-strong) 45%, var(--dk-panel-raised));--dk-viz-q0:color-mix(in srgb, var(--dk-ink-strong) 4%, var(--dk-panel-raised));--dk-viz-q1:#104281;--dk-viz-q2:#1c5cab;--dk-viz-q3:#256abf;--dk-viz-q4:#3987e5;--dk-viz-q5:#6da7ec;--dk-viz-q6:#9ec5f4;--dk-viz-q7:#cde2fb;--dk-viz-b99:#1c5cab;--dk-viz-b95:#2a78d6;--dk-viz-b75:#5598e7;--dk-viz-b50:#86b6ef;--dk-viz-s2:color-mix(in srgb, var(--dk-ink-strong) 34%, var(--dk-panel-raised));--dk-viz-s3:color-mix(in srgb, var(--dk-ink-strong) 16%, var(--dk-panel-raised));--dk-viz-s4:var(--dk-signal-ring);--dk-viz-s5:var(--dk-fault);--dk-viz-line:var(--dk-ink-strong);--dk-viz-grid:var(--dk-rule);--dk-viz-surface:var(--dk-panel-raised);--dk-viz-on-dark:var(--dk-panel);--dk-viz-on-light:var(--dk-panel);--dk-viz-band-good:color-mix(in srgb, var(--dk-ink-strong) 3%, transparent);--dk-viz-band-fair:color-mix(in srgb, var(--dk-signal) 9%, transparent);--dk-viz-band-poor:color-mix(in srgb, var(--dk-fault) 8%, transparent)}}:root[data-theme=dark],.dk-ink{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--dk-panel:#11161e;--dk-panel-sunken:#171e29;--dk-panel-raised:#1b2330;--dk-wash:#15272f;--dk-rule:#2a3442;--dk-rule-strong:#6b7789;--dk-etch:#8a96a6;--dk-ink:#c3cad3;--dk-ink-strong:#f1f4f7;--dk-signal-ink:#f5b54a;--dk-signal-glow:#f5a52480;--dk-signal-ring:#f5a524;--dk-link:#39c2c9;--dk-wire:#39c2c9;--dk-link-lamp:#39c2c9;--dk-link-ring:#39c2c9;--dk-link-glow:#39c2c973;--dk-fault:#ff6b70;--dk-fault-glow:#ff6b7073;--dk-fault-ring:#ff6b70;--dk-focus:#39c2c9;--dk-hover:#f1f4f712;--dk-press:#f1f4f71a;--dk-selected:#f1f4f712;--dk-pill:#f5f2ed;--dk-on-pill:#1b2330;--dk-sel:#2a3442;--dk-on-sel:#f1f4f7;--dk-nav-sel:var(--dk-sel);--dk-nav-sel-ring:transparent;--dk-on-nav-sel:var(--dk-on-sel);--dk-nav-sel-icon:var(--dk-signal);--dk-scrim:#11161e8c;--dk-shadow-popover:0 18px 44px -10px #0000009e, 0 0 0 1px #2a3442;--dk-shadow-window:0 30px 60px -30px #000000b3, 0 0 0 1px #3e4b5e;--dk-viz-app:#3987e5;--dk-viz-db:#199e70;--dk-viz-http:#9085e9;--dk-viz-cache:#d55181;--dk-viz-other:color-mix(in srgb, var(--dk-rule-strong) 45%, var(--dk-panel-raised));--dk-viz-q0:color-mix(in srgb, var(--dk-ink-strong) 4%, var(--dk-panel-raised));--dk-viz-q1:#104281;--dk-viz-q2:#1c5cab;--dk-viz-q3:#256abf;--dk-viz-q4:#3987e5;--dk-viz-q5:#6da7ec;--dk-viz-q6:#9ec5f4;--dk-viz-q7:#cde2fb;--dk-viz-b99:#1c5cab;--dk-viz-b95:#2a78d6;--dk-viz-b75:#5598e7;--dk-viz-b50:#86b6ef;--dk-viz-s2:color-mix(in srgb, var(--dk-ink-strong) 34%, var(--dk-panel-raised));--dk-viz-s3:color-mix(in srgb, var(--dk-ink-strong) 16%, var(--dk-panel-raised));--dk-viz-s4:var(--dk-signal-ring);--dk-viz-s5:var(--dk-fault);--dk-viz-line:var(--dk-ink-strong);--dk-viz-grid:var(--dk-rule);--dk-viz-surface:var(--dk-panel-raised);--dk-viz-on-dark:var(--dk-panel);--dk-viz-on-light:var(--dk-panel);--dk-viz-band-good:color-mix(in srgb, var(--dk-ink-strong) 3%, transparent);--dk-viz-band-fair:color-mix(in srgb, var(--dk-signal) 9%, transparent);--dk-viz-band-poor:color-mix(in srgb, var(--dk-fault) 8%, transparent)}.dk-mono,.id{font-family:var(--dk-font-mono);font-feature-settings:"tnum" 1}.tnum{font-feature-settings:"tnum" 1}.dk-strong{color:var(--dk-ink-strong);font-weight:var(--dk-weight-medium)}.dk-title,.dk-title-sm{font-family:var(--dk-font);color:var(--dk-ink-strong);font-weight:600}.dk-title{font-size:var(--dk-title);line-height:var(--dk-leading-title);letter-spacing:-.02em}.dk-title-sm{font-size:var(--dk-title-sm);line-height:var(--dk-leading-title-sm);letter-spacing:-.015em}:where(.dk-title,.dk-title-sm){margin:0}@media (prefers-reduced-motion:reduce){:root{--dk-duration-quick:0s;--dk-duration-base:0s;--dk-duration-wire:0s}}:root{--site-max:1200px;--site-gutter:clamp(16px, 4vw, 40px);--site-header:64px;--site-dot:color-mix(in srgb, var(--dk-ink-strong) 11%, transparent)}.sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lamp{vertical-align:middle;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.lamp.on{background:var(--dk-signal);box-shadow:0 0 0 1px var(--dk-signal-ring), 0 0 10px 2px var(--dk-signal-glow)}.lamp.off{box-shadow:inset 0 0 0 1.5px var(--dk-etch)}.lamp.share{background:var(--dk-link-lamp);box-shadow:0 0 0 1px var(--dk-link-ring), 0 0 10px 2px var(--dk-link-glow)}.lamp.fail{background:var(--dk-fault);box-shadow:0 0 0 1px var(--dk-fault-ring), 0 0 10px 2px var(--dk-fault-glow)}.lamp.start{background:color-mix(in srgb, var(--dk-signal) 45%, transparent);box-shadow:inset 0 0 0 1.5px var(--dk-signal-ring)}.pill{letter-spacing:-.01em;white-space:nowrap;cursor:pointer;min-height:48px;transition:background-color .2s var(--dk-ease-out), box-shadow .2s var(--dk-ease-out), color .2s var(--dk-ease-out);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:520;line-height:1;text-decoration:none;display:inline-flex}.pill-primary,.site a.pill-primary,.site a.pill-primary:hover{background:var(--dk-pill);color:var(--dk-on-pill)}.pill-primary:hover,.site a.pill-primary:hover{background:color-mix(in srgb, var(--dk-pill) 86%, var(--dk-panel))}.pill-primary:hover .lamp{box-shadow:0 0 0 1px var(--dk-signal-ring), 0 0 16px 5px var(--dk-signal-glow)}.pill-ghost,.site a.pill-ghost{color:var(--dk-ink-strong);box-shadow:inset 0 0 0 1px var(--dk-rule-strong);background:0 0}.pill-ghost:hover,.site a.pill-ghost:hover{background:var(--dk-hover);color:var(--dk-ink-strong)}.pill-sm{min-height:38px;padding:0 16px;font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lk,.site a.lk{color:var(--dk-ink-strong);text-decoration:underline;-webkit-text-decoration-color:var(--dk-rule-strong);text-decoration-color:var(--dk-rule-strong);text-underline-offset:4px;font-weight:520}.site a.lk:hover{-webkit-text-decoration-color:var(--dk-ink-strong);text-decoration-color:var(--dk-ink-strong)}.top{z-index:40;background:color-mix(in srgb, var(--dk-panel) 84%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--dk-rule);position:sticky;top:0}.top .bar{height:var(--site-header);align-items:center;gap:24px;display:flex}.brand,.site a.brand{color:var(--dk-ink-strong);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand .word{font-family:var(--dk-font-mono);letter-spacing:-.02em;font-size:19px;font-weight:760}.nav{align-items:center;gap:2px;display:flex}.nav>a,.nav>button{height:38px;color:var(--dk-ink);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:15px;text-decoration:none;display:inline-flex}.nav>a:hover,.nav>button:hover,.nav>button[aria-expanded=true]{background:var(--dk-hover);color:var(--dk-ink-strong)}.nav>a[aria-current=page]{color:var(--dk-ink-strong);box-shadow:inset 0 0 0 1px var(--dk-rule)}.nav>button svg{color:var(--dk-etch);transition:transform .2s var(--dk-ease-out)}.nav>button[aria-expanded=true] svg{transform:rotate(180deg)}.top .end{align-items:center;gap:8px;margin-left:auto;display:flex}.menu-btn{display:none}@media (width<=880px){.top .nav,.top .end .pill-dl{display:none}.menu-btn{display:inline-flex}}.fmenu{border-radius:var(--dk-radius-popover);background:var(--dk-panel-raised);width:min(1060px,100vw - 24px);box-shadow:var(--dk-shadow-popover);color:var(--dk-ink);border:0;padding:20px}.fmenu .cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 16px;display:grid}.fmenu .grp{align-content:start;gap:2px;display:grid}.fmenu .gname{color:var(--dk-etch);padding:4px 12px 8px;font-size:13px}.fitem,.site a.fitem{color:var(--dk-ink);border-radius:12px;grid-template-columns:20px minmax(0,1fr);gap:1px 12px;padding:10px 12px;text-decoration:none;display:grid}.fitem:hover,.site a.fitem:hover{background:var(--dk-hover);color:var(--dk-ink)}.fitem svg{color:var(--dk-etch);grid-row:span 2;margin-top:2px}.fitem:hover svg{color:var(--dk-signal-ring)}.fitem .fname{color:var(--dk-ink-strong);font-size:15px;font-weight:520;line-height:22px}.fitem .fline{color:var(--dk-etch);font-size:13px;line-height:18px}.fmenu .ffoot{border-top:1px solid var(--dk-rule);flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding:14px 12px 2px;font-size:14px;display:flex}.sheet{width:100%;height:calc(100dvh - var(--site-header));padding:8px var(--site-gutter) 32px;background:var(--dk-panel);border:0;overflow-y:auto}.sheet .grp{border-bottom:1px solid var(--dk-rule);gap:2px;padding:14px 0;display:grid}.sheet .gname{color:var(--dk-etch);padding:0 12px 6px;font-size:13px}.sheet .more{gap:2px;padding:14px 0 24px;display:grid}.sheet .more a{height:48px;color:var(--dk-ink-strong);border-radius:12px;align-items:center;padding:0 12px;font-size:17px;text-decoration:none;display:flex}.sheet .more a:hover{background:var(--dk-hover)}.foot{border-top:1px solid var(--dk-rule);margin-top:clamp(48px,7vw,96px);padding:48px 0 28px;font-size:14px}.foot .cols{grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr));gap:32px 24px;display:grid}.foot .about p{max-width:28ch;color:var(--dk-etch);margin-top:12px}.foot nav{align-content:start;gap:10px;display:grid}.foot .fh{color:var(--dk-ink-strong);font-weight:520}.foot nav a,.site .foot nav a{color:var(--dk-ink);text-decoration:none}.site .foot nav a:hover{color:var(--dk-ink-strong);text-decoration:underline}.foot .base{border-top:1px solid var(--dk-rule);color:var(--dk-etch);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:20px;display:flex}@media (width<=960px){.foot .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.foot .about{grid-column:1/-1}}@media (width<=560px){.foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.themepick{box-shadow:inset 0 0 0 1px var(--dk-rule);border:0;border-radius:999px;gap:2px;margin:0;padding:3px;display:inline-flex}.themepick label{width:30px;height:30px;color:var(--dk-etch);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:relative}.themepick input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.themepick label:has(input:checked){background:var(--dk-panel-raised);color:var(--dk-ink-strong);box-shadow:0 0 0 1px var(--dk-rule)}.themepick label:has(input:focus-visible){outline:2px solid var(--dk-focus);outline-offset:2px}.sw{min-height:36px;color:var(--dk-ink);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex;position:relative}.sw>input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sw-track{width:34px;height:20px;box-shadow:inset 0 0 0 1px var(--dk-rule-strong);transition:background-color .2s var(--dk-ease-out);border-radius:999px;flex:none;align-items:center;padding:2px;display:flex}.sw-knob{background:var(--dk-rule-strong);width:16px;height:16px;transition:transform .26s var(--dk-ease-throw), background-color .2s var(--dk-ease-out);border-radius:50%}.sw:has(>input:checked) .sw-track{background:var(--dk-signal);box-shadow:inset 0 0 0 1px var(--dk-signal-ring)}.sw:has(>input:checked) .sw-knob{background:var(--dk-on-signal);transform:translate(14px)}.sw:has(>input:focus-visible){outline:2px solid var(--dk-focus);outline-offset:3px;border-radius:999px}.foot .prefs{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}@media (forced-colors:active){.lamp{forced-color-adjust:none}}.fmenu[popover]{inset:auto;top:calc(var(--site-header) + 6px);max-height:calc(100dvh - var(--site-header) - 24px);margin:0;position:fixed;left:50%;overflow-y:auto;translate:-50%}.fmenu[popover]:popover-open{display:block}.sheet[popover]{inset:var(--site-header) 0 auto;border-top:1px solid var(--dk-rule);max-width:none;margin:0;position:fixed}.fbtn[aria-expanded=true] svg{transform:rotate(180deg)}.menu-btn .when-open,.menu-btn[aria-expanded=true] .when-closed{display:none}.menu-btn[aria-expanded=true] .when-open,.menu-btn span{display:inline-flex}:root.sheet-open{overflow:hidden}.fitem[aria-current=page]{background:var(--dk-hover)}@media (prefers-reduced-motion:no-preference){.fmenu[popover]:popover-open{animation:menu-in .18s var(--dk-ease-out)}@keyframes menu-in{0%{opacity:0;translate:-50% -6px}}}@media (width<=1080px){.fmenu .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@font-face{font-family:Newsreader Display;src:url(/build/assets/newsreader-display-B7XHSqV5.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--dk-serif:"Newsreader Display", "Newsreader Variable", "Newsreader", ui-serif, Georgia, "Times New Roman", serif}html{background:var(--dk-panel)}body{margin:0}[hidden]{display:none!important}.site{background:var(--dk-panel);min-height:100vh;color:var(--dk-ink);font-family:var(--dk-font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:17px;line-height:1.6}.site *,.site :before,.site :after{box-sizing:border-box}.site p{text-wrap:pretty;margin:0}.site a{color:var(--dk-link);text-underline-offset:3px;text-decoration-thickness:1px}.site a:hover{color:var(--dk-ink-strong)}:where(.site) :where(button){font:inherit;letter-spacing:inherit;color:inherit;background:0 0;border:0;padding:0}.site :where(a,button,summary,input,[tabindex]):focus-visible{outline:2px solid var(--dk-focus);outline-offset:3px;border-radius:8px}.skip{z-index:100;background:var(--dk-pill);color:var(--dk-on-pill);border-radius:999px;padding:10px 16px;position:absolute;top:-60px;left:12px}.site a.skip:focus{color:var(--dk-on-pill);top:12px}.wrap{width:100%;max-width:calc(var(--site-max) + 2 * var(--site-gutter));padding-inline:var(--site-gutter);margin-inline:auto}.sec{padding-block:clamp(72px,10vw,136px)}.sec+.sec{padding-top:0}.sec-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:20px clamp(32px,5vw,72px);margin-bottom:clamp(32px,4vw,56px);display:grid}.sec-head>p{padding-bottom:6px}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.split.flip>:first-child{order:2}@media (width<=960px){.sec-head,.split{grid-template-columns:minmax(0,1fr)}.split.flip>:first-child{order:0}}.display{font-family:var(--dk-serif);font-optical-sizing:auto;color:var(--dk-ink-strong);letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:400}.h1{font-size:clamp(46px,7vw,92px);line-height:.98}.h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04}.h3{font-family:var(--dk-font);letter-spacing:-.018em;color:var(--dk-ink-strong);margin:0;font-size:19px;font-weight:600;line-height:26px}.lead{max-width:60ch;font-size:clamp(18px,1.55vw,21px);line-height:1.5}.body{max-width:62ch}.muted{color:var(--dk-etch)}.small{font-size:14px;line-height:1.55}.site .id,.site code{font-family:var(--dk-font-mono);font-feature-settings:"tnum" 1}.site .id{color:var(--dk-ink-strong)}.site :not(pre)>code{background:var(--dk-panel-sunken);color:var(--dk-ink-strong);border-radius:6px;padding:1px 6px;font-size:.88em}.nt{font-family:var(--dk-font-mono);letter-spacing:-.045em;color:var(--dk-signal-ink);font-size:.8em}.cmd{background:var(--dk-panel-sunken);max-width:100%;min-height:48px;box-shadow:inset 0 0 0 1px var(--dk-rule);font-family:var(--dk-font-mono);color:var(--dk-ink-strong);border-radius:999px;align-items:center;gap:12px;padding:0 6px 0 18px;font-size:14px;display:inline-flex}.cmd .run{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmd .run:before{content:"$ ";color:var(--dk-etch)}.cmd button{width:36px;height:36px;color:var(--dk-etch);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.cmd button:hover{background:var(--dk-hover);color:var(--dk-ink-strong)}.facts{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.facts li{grid-template-columns:20px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.55;display:grid}.facts li svg{color:var(--dk-etch);margin-top:2px}.faq{border-top:1px solid var(--dk-rule)}.faq details{border-bottom:1px solid var(--dk-rule)}.faq summary{cursor:pointer;min-height:44px;font-family:var(--dk-serif);letter-spacing:-.015em;color:var(--dk-ink-strong);justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:clamp(21px,2vw,25px);line-height:1.25;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--dk-etch);transition:transform .2s var(--dk-ease-out);flex:none}.faq details[open] summary svg{transform:rotate(180deg)}.faq .ans{max-width:66ch;padding:0 0 26px}.faq .ans p+p{margin-top:12px}.closing{text-align:center;padding-block:clamp(72px,10vw,128px);position:relative}.closing:before{content:"";background:radial-gradient(closest-side, var(--dk-signal-glow), transparent);opacity:.35;pointer-events:none;border-radius:50%;height:70%;position:absolute;inset:10% 20% auto}.closing .display{position:relative}.closing p{max-width:52ch;margin:16px auto 28px;position:relative}.closing .actions{justify-content:center;position:relative}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:1ms!important}}.site{isolation:isolate;position:relative}.bench{z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb, var(--dk-ink-strong) 8%, transparent) 1px, transparent 1.4px);background-position:12px 12px;background-size:24px 24px;position:absolute;inset:0;overflow:hidden}.bench canvas{width:100%;height:100%;position:fixed;inset:0}.top{view-transition-name:site-header}.site .cmd code.run{color:inherit;font-size:inherit;background:0 0;padding:0}.cmd button .i-done,.cmd button.copied .i-copy{display:none}.cmd button .i-copy,.cmd button.copied .i-done{display:inline-flex}.cmd button.copied{color:var(--dk-signal-ink)}.phone-note{display:none}:root[data-os=phone] .phone-note{display:block}.stage{background-color:var(--dk-panel-sunken);background-image:radial-gradient(var(--site-dot) 1px, transparent 1.3px);box-shadow:inset 0 0 0 1px var(--dk-rule);isolation:isolate;background-size:16px 16px;border-radius:28px;padding:clamp(14px,3vw,40px);position:relative;overflow:hidden}.stage.flush{padding:0}.scene{position:relative}.scene-ctl{z-index:5;background:color-mix(in srgb, var(--dk-panel-raised) 92%, transparent);box-shadow:0 0 0 1px var(--dk-rule);border-radius:999px;gap:2px;padding:3px;display:flex;position:absolute;top:12px;right:12px}.scene-ctl button{width:32px;height:32px;color:var(--dk-etch);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.scene-ctl button:hover{background:var(--dk-hover);color:var(--dk-ink-strong)}.scene-ctl .ic-play,.scene-ctl .is-paused .ic-pause{display:none}.scene-ctl .is-paused .ic-play{display:inline}.scene[data-ended] [data-act=pause],.scene:not(.mo-armed):not(.mo-armed *) .scene-ctl{display:none}@media (pointer:coarse){.scene-ctl button{width:40px;height:40px}}.win{border-radius:var(--dk-radius-window);background:var(--dk-panel);box-shadow:var(--dk-shadow-window);color:var(--dk-ink);letter-spacing:-.005em;text-align:left;flex-direction:column;font-size:13px;line-height:19px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.win-top{background:var(--dk-panel-sunken);border-bottom:1px solid var(--dk-rule);white-space:nowrap;flex:none;align-items:center;gap:18px;height:44px;padding:0 14px;display:flex}.win-dots{flex:none;gap:7px;display:flex}.win-dots i{width:11px;height:11px;box-shadow:inset 0 0 0 1px var(--dk-rule-strong);border-radius:50%}.win-brand{border-right:1px solid var(--dk-rule);font-family:var(--dk-font-mono);letter-spacing:-.02em;color:var(--dk-ink-strong);align-items:center;gap:7px;padding-right:16px;font-weight:760;display:flex}.win-core{align-items:center;gap:18px;min-width:0;display:flex;overflow:hidden}.win-core .it{color:var(--dk-ink-strong);align-items:center;gap:7px;display:flex}.win-core .det{color:var(--dk-etch);font-family:var(--dk-font-mono);font-size:12px}.win-end{color:var(--dk-etch);align-items:center;gap:14px;margin-left:auto;display:flex}.win-body{flex:1;min-height:0;display:flex}.hrail{background:var(--dk-panel-sunken);border-right:1px solid var(--dk-rule);flex-direction:column;flex:none;align-items:center;gap:2px;width:76px;padding:8px 0;display:flex}.hrail .hb{border-radius:var(--dk-radius-control);width:68px;height:50px;color:var(--dk-ink);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;line-height:1;display:flex;position:relative}.hrail .hb[aria-current]{background:var(--dk-nav-sel);box-shadow:inset 0 0 0 1px var(--dk-nav-sel-ring);color:var(--dk-on-nav-sel)}.hrail .hb[aria-current] svg{color:var(--dk-nav-sel-icon)}.hrail .gap{flex:1;min-height:12px}.hb .badge{position:absolute;top:3px;right:12px}.hcol{border-right:1px solid var(--dk-rule);flex-direction:column;flex:none;gap:2px;width:196px;padding:14px 10px;display:flex}.hcol .hl{height:34px;color:var(--dk-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:0 12px;display:flex}.hcol .hl[aria-current]{background:var(--dk-nav-sel);box-shadow:inset 0 0 0 1px var(--dk-nav-sel-ring);color:var(--dk-on-nav-sel)}.hcol .hl[aria-current] svg{color:var(--dk-nav-sel-icon)}.hcol .hl .n{color:var(--dk-etch);font-feature-settings:"tnum" 1;margin-left:auto;font-size:12px}.win-main{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;min-width:0;padding:20px 22px 22px;display:grid}.win-title{letter-spacing:-.02em;color:var(--dk-ink-strong);align-items:baseline;gap:12px;font-size:20px;font-weight:600;line-height:26px;display:flex}.win-title .sub{letter-spacing:-.005em;color:var(--dk-etch);font-size:13px;font-weight:400}@container (width<=860px){.hcol{display:none}}@container (width<=560px){.win-body{flex-direction:column}.hrail{border-right:0;border-bottom:1px solid var(--dk-rule);flex-direction:row;width:auto;padding:6px 8px;overflow:hidden}.hrail .hb{flex:1 1 0;width:auto;min-width:0;max-width:60px;height:46px}.hb .badge{right:4px}.hrail .gap,.hrail .gap+.hb{display:none}.hrail .hb{letter-spacing:-.01em;font-size:10px}.scene:has(.scene-ctl) .win-end{visibility:hidden}.win-core .det,.win-brand .w{display:none}.win-main{padding:16px}}.badge{background:var(--dk-signal);min-width:16px;height:16px;color:var(--dk-on-signal);font-family:var(--dk-font-mono);font-feature-settings:"tnum" 1;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:680;display:inline-flex}.btn{height:28px;box-shadow:inset 0 0 0 1px var(--dk-rule-strong);color:var(--dk-ink-strong);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:520;display:inline-flex}.btn.ink{background:var(--dk-pill);box-shadow:none;color:var(--dk-on-pill)}.btn.on{background:var(--dk-hover)}.chip{background:var(--dk-panel-sunken);height:22px;color:var(--dk-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.chip.mono{font-family:var(--dk-font-mono)}.chip.warn{background:color-mix(in srgb, var(--dk-signal) 10%, transparent);color:var(--dk-signal-ink)}.chip.bad{background:color-mix(in srgb, var(--dk-fault) 14%, transparent);color:var(--dk-fault)}.chip.ok{background:color-mix(in srgb, var(--dk-link) 14%, transparent);color:var(--dk-link)}.kbd{min-width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--dk-rule);font-family:var(--dk-font-mono);color:var(--dk-etch);border-radius:6px;place-items:center;padding:0 5px;font-size:11px;display:inline-grid}.stile{--tone:var(--dk-viz-q4);background:color-mix(in srgb, var(--tone) 16%, transparent);width:32px;height:32px;color:var(--tone);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:600;line-height:1;display:inline-grid;position:relative}.stile[data-tone=cyan]{--tone:var(--dk-link)}.stile[data-tone=amber]{--tone:var(--dk-signal-ink)}.stile[data-tone=deep]{--tone:var(--dk-viz-q6)}.stile[data-tone=ink]{--tone:var(--dk-ink-strong)}.stile .lamp{outline:2px solid var(--dk-panel);width:9px;height:9px;position:absolute;bottom:-3px;right:-3px}.rows{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.row{border-radius:var(--dk-radius-row);white-space:nowrap;align-items:center;gap:12px;min-height:48px;padding:8px 14px;display:flex}.row.picked{background:var(--dk-panel-raised);box-shadow:inset 0 0 0 1px var(--dk-rule)}.row .grow{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.row .meta{color:var(--dk-etch);font-size:12px}.row .num{color:var(--dk-etch);font-family:var(--dk-font-mono);font-feature-settings:"tnum" 1;font-size:12px}.tbl{border-radius:var(--dk-radius-row);box-shadow:inset 0 0 0 1px var(--dk-rule);display:grid;overflow:hidden}.tbl .tr{border-top:1px solid var(--dk-rule);white-space:nowrap;align-items:center;gap:12px;min-height:38px;padding:0 14px;display:grid}.tbl .tr:first-child{border-top:0}.tbl .tr.th{min-height:32px;color:var(--dk-etch);background:var(--dk-panel-sunken);font-size:12px}.method{font-family:var(--dk-font-mono);color:var(--dk-ink-strong);font-size:12px;font-weight:600}.status{font-family:var(--dk-font-mono);font-feature-settings:"tnum" 1;font-size:12px}.status.s5{color:var(--dk-fault)}.status.s4{color:var(--dk-signal-ink)}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@container (width<=640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{border-radius:var(--dk-radius-row);background:linear-gradient(180deg, var(--dk-panel-raised), color-mix(in srgb, var(--dk-panel-raised) 55%, var(--dk-panel)));min-height:124px;box-shadow:inset 0 0 0 1px var(--dk-rule);grid-template-rows:auto auto 1fr auto;gap:4px;padding:14px 14px 12px;display:grid;position:relative;overflow:hidden}.tile[data-bad]:before{content:"";background:var(--dk-fault);height:2px;position:absolute;inset:0 0 auto}.tile .tl{color:var(--dk-etch);font-size:12px}.tile .tv{color:var(--dk-ink-strong);letter-spacing:-.02em;font-feature-settings:"tnum" 1;font-size:26px;font-weight:600;line-height:32px}.tile .tf{color:var(--dk-etch);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tile[data-bad] .tf{color:var(--dk-fault)}.spark{align-self:end;width:100%;height:30px}.spark .line{fill:none;stroke:var(--dk-viz-line);stroke-width:1.5px;vector-effect:non-scaling-stroke}.spark .area{fill:var(--dk-viz-app);opacity:.16}.spark.bad .line{stroke:var(--dk-fault)}.spark.bad .area{fill:var(--dk-fault);opacity:.12}.term{border-radius:var(--dk-radius-row);background:var(--dk-code);color:var(--dk-code-ink);font-family:var(--dk-font-mono);white-space:pre;padding:14px 16px;font-size:12.5px;line-height:1.75;overflow:hidden}.term .l{min-height:1.75em;display:block}.term .p{color:var(--dk-code-muted)}.term .ok{color:var(--dk-code-link)}.term .warn{color:var(--dk-code-signal)}.term .bad{color:var(--dk-code-fault)}.term .str{color:var(--dk-code-string)}.term .hi{color:var(--dk-code-strong)}.caret{vertical-align:text-bottom;background:var(--dk-code-signal);width:.55em;height:1.1em;margin-left:1px;display:inline-block}.wire{overflow:visible}.wire .cable{fill:none;stroke:var(--dk-ink-strong);stroke-width:1.5px;stroke-linecap:round}.wire .cable.dim{stroke:var(--dk-rule-strong)}.wire .cable.share{stroke:var(--dk-wire);stroke-width:2.5px}.wire .pulse{fill:var(--dk-ink-strong)}.wire .pulse.share{fill:var(--dk-link-lamp)}.cursor{z-index:4;pointer-events:none;filter:drop-shadow(0 2px 3px #00000040);width:22px;height:22px;position:absolute}.cursor .tagname{background:var(--dk-link-lamp);color:var(--dk-code);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:18px;left:16px}.shot{border-radius:var(--dk-radius-window);box-shadow:var(--dk-shadow-window);background:var(--dk-panel);margin:0;position:relative;overflow:hidden}.shot img{width:100%;height:auto;display:block}.shot .dark,.dk-ink .shot .light,:root[data-theme=dark] .shot .light{display:none}.dk-ink .shot .dark,:root[data-theme=dark] .shot .dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .shot .light{display:none}:root:not([data-theme]) .shot .dark{display:block}}.shot-cap{color:var(--dk-etch);margin-top:12px;font-size:14px}.phone{background:var(--dk-ink-strong);width:196px;height:392px;box-shadow:var(--dk-shadow-window);border-radius:36px;padding:10px;position:relative}.phone .screen{background:var(--dk-panel);border-radius:28px;height:100%;overflow:hidden}.tile .of{color:var(--dk-etch);font-size:15px;font-weight:400}.tile .lamps{align-self:end;gap:6px;padding-bottom:6px;display:flex}.win-title.sm{margin-top:4px;font-size:15px;line-height:20px}.tbl .tr.cols-3{grid-template-columns:minmax(0,1fr) 72px 72px}.cursor .ptr{fill:var(--dk-link-lamp);stroke:var(--dk-code);stroke-width:1.2px}.seg{box-shadow:inset 0 0 0 1px var(--dk-rule);border:0;border-radius:999px;flex-wrap:wrap;gap:2px;margin:0;padding:3px;display:inline-flex}.seg label{height:30px;color:var(--dk-ink);cursor:pointer;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;display:inline-flex;position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg label:has(input:checked){background:var(--dk-pill);color:var(--dk-on-pill)}.seg label:has(input:focus-visible){outline:2px solid var(--dk-focus);outline-offset:2px}.sysdiff{background:var(--dk-panel-raised);box-shadow:inset 0 0 0 1px var(--dk-rule);border-radius:20px;overflow:hidden}.sysdiff .bar{border-bottom:1px solid var(--dk-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.sysdiff .lines{padding:10px 0;font-size:14px;display:grid}.sysdiff .sl{grid-template-columns:28px 20px minmax(0,1fr);align-items:start;gap:10px;padding:10px 18px;display:grid}.sysdiff .sg{font-family:var(--dk-font-mono);color:var(--dk-link);font-weight:600}.sysdiff .sl svg{color:var(--dk-etch);margin-top:2px}.sysdiff .done{color:var(--dk-ink-strong);align-items:center;gap:10px;padding:12px 18px 16px;font-size:14px;display:flex}.sysdiff .sg .minus,.sysdiff.is-removed .sg .plus{display:none}.sysdiff.is-removed .sg .minus{display:inline}.sysdiff .txt{transition:background-size .36s var(--dk-ease-out) var(--sd,0s), color .36s var(--dk-ease-out) var(--sd,0s);background:linear-gradient(currentColor,currentColor) 0 55%/0 1px no-repeat}.sysdiff.is-removed .txt{color:var(--dk-etch);background-size:100% 1px}.sysdiff.is-removed .sg{color:var(--dk-fault)}.sysdiff .lines{margin:0;list-style:none}:is(.sysdiff:has(input[value=windows]:checked) .os-mac,.sysdiff:not(:has(input[value=windows]:checked)) .os-windows){display:none}.sysdiff .done{margin:0}.sysdiff .done:not([hidden]){animation:mo-fade .4s var(--dk-ease-out) .9s both}@media (width<=640px){.sysdiff .sl{grid-template-columns:20px 18px minmax(0,1fr);padding-inline:14px}}@keyframes mo-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes mo-fade{0%{opacity:0}to{opacity:1}}@keyframes mo-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes mo-light{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:none}}@keyframes mo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes mo-travel{0%{stroke-dashoffset:1px;opacity:0}12%{opacity:1}88%{opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes mo-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes mo-press{0%,to{transform:none}45%{transform:scale(.93)}}@keyframes mo-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mo-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes mo-wash{0%{background-color:color-mix(in srgb, var(--dk-signal) 18%, transparent)}}@keyframes mo-blink{50%{opacity:0}}@keyframes mo-was-amber{0%{background:var(--dk-signal);box-shadow:0 0 0 1px var(--dk-signal-ring), 0 0 10px 2px var(--dk-signal-glow)}}.mo-armed:not(.mo-play) :is(.a-rise,.a-fade,.a-pop,.a-light,.a-wipe,.a-type){opacity:0}.mo-armed:not(.mo-play) .a-draw{stroke-dashoffset:1px}.mo-armed:not(.mo-play) :is(.a-grow-x,.a-grow-y){transform:scale(0)}.a-travel{opacity:0;fill:none;stroke-dasharray:0 1;stroke-linecap:round;stroke-width:7px;stroke:var(--dk-ink-strong);pointer-events:none}.a-travel.share{stroke:var(--dk-link-lamp);stroke-width:8px}.mo-play .a-rise{animation:mo-rise .32s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-fade{animation:mo-fade .42s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-pop{animation:mo-pop .36s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-light{animation:mo-light .24s var(--dk-ease-throw) var(--d,0s) both}.mo-play .a-wipe{animation:mo-wipe .52s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-type{animation:mo-wipe var(--dur,.9s) steps(var(--steps,28), jump-start) var(--d,0s) both}.mo-play .a-draw{animation:mo-draw var(--dur,.6s) var(--dk-ease-out) var(--d,0s) both}.mo-play .a-travel{animation:mo-travel var(--dur,.9s) linear var(--d,0s) var(--n,2) both}.mo-play .a-press{animation:mo-press .28s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-grow-x{transform-origin:0;animation:mo-grow-x .52s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-grow-y{transform-origin:bottom;animation:mo-grow-y .42s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-wash{animation:mo-wash 1.4s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-was-amber{animation:mo-was-amber .3s var(--dk-ease-out) var(--d,0s) both}.mo-play .a-blink{animation:mo-blink 1s steps(1) var(--d,0s) 4}.mo-paused,.mo-paused *{animation-play-state:paused!important}@keyframes mo-panel{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mo-armed :is(.a-rise,.a-fade,.a-pop,.a-light,.a-wipe,.a-type){opacity:1!important}.mo-armed .a-draw{stroke-dashoffset:0!important}.mo-armed :is(.a-grow-x,.a-grow-y){transform:none!important}.site *,.site :before,.site :after{animation:none!important}}
