@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/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(/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(/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(/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(/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}:root{--ground:#000;--raised:#0d0d0e;--hover:#ffffff0f;--active:#ffffff17;--glass:#000000bf;--ink:#f5f5f6;--muted:#8e8e95;--line:#1f1f22;--line-strong:#34343a;--field:#0d0d0e;--focus:#fff;--accent:#f5f5f6;--font:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--step--1:.8125rem;--step-0:.9375rem;--step-1:1.25rem;--step-2:1.667rem;--step-3:2.222rem;--step-4:2.963rem;--content-width:72rem;--bar-height:3.5rem;--gutter:clamp(1rem, 4vw, 2.5rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--line-strong) transparent}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);min-height:100dvh;color:var(--ink);font-family:var(--font);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}::selection{background:#ffffff38}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}p{text-wrap:pretty;margin:0}a{color:inherit}button,input,textarea,select{font:inherit;color:inherit;border-radius:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{border:1px solid var(--line-strong);height:2.25rem;font-size:var(--step--1);cursor:pointer;background:0 0;align-items:center;gap:.4em;padding:0 .95rem;font-weight:500;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--hover);border-color:#4a4a52}.btn:disabled,.btn:disabled:hover{border-color:var(--line);color:var(--muted);cursor:not-allowed;background:0 0}.btn-primary{border-color:var(--ink);background:var(--ink);color:var(--ground)}.btn-primary:hover{background:#fff;border-color:#fff}.field{border:1px solid var(--line-strong);background:var(--field);width:100%;padding:.65rem .8rem;transition:border-color .12s}.field::placeholder{color:var(--muted)}.field:hover{border-color:#4a4a52}.field:focus-visible{border-color:var(--accent);outline:none}.icon-btn{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;transition:color .12s,background-color .12s,border-color .12s;display:inline-grid}.icon-btn:hover{color:var(--ink);background:var(--hover)}.icon-btn[aria-pressed=true]{border-color:var(--line-strong);background:var(--active);color:var(--ink)}.icon-btn:disabled{color:var(--line-strong);cursor:not-allowed;background:0 0}.btn-sm{height:1.875rem;padding:0 .65rem}.btn-danger:hover{color:#ff8080;border-color:#ff4f4f}.segmented{border:1px solid var(--line-strong);display:flex}.segmented>button{min-height:2rem;color:var(--muted);font-size:var(--step--1);cursor:pointer;background:0 0;border:0;flex:1;padding:0 .6rem;font-weight:500}.segmented>button+button{border-left:1px solid var(--line-strong)}.segmented>button:hover{color:var(--ink);background:var(--hover)}.segmented>button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.segmented>button:focus-visible{outline-offset:-2px}select.field{appearance:none;cursor:pointer;background-image:none;padding-right:2rem}.field-sm{font-size:var(--step--1);padding:.35rem .55rem}input[type=range]{width:100%;accent-color:var(--ink)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--ink);margin:0}input[type=color]{border:1px solid var(--line-strong);cursor:pointer;background:0 0;width:2rem;height:2rem;padding:0}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:0;border-radius:0}input[type=color]::-moz-color-swatch{border:0;border-radius:0}.control-label{color:var(--muted);font-size:var(--step--1);margin-bottom:.3rem;display:block}dialog.dialog{border:1px solid var(--line-strong);background:var(--raised);width:min(30rem,100vw - 2rem);color:var(--ink);padding:0}dialog.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3}@media (prefers-reduced-motion:no-preference){dialog.dialog,dialog.dialog::backdrop{transition:opacity .18s ease, transform .22s cubic-bezier(.2, .8, .2, 1), overlay .22s allow-discrete, display .22s allow-discrete;opacity:0}dialog.dialog{transform:translateY(.6rem)}dialog.dialog[open],dialog.dialog[open]::backdrop{opacity:1}dialog.dialog[open]{transform:none}@starting-style{dialog.dialog[open],dialog.dialog[open]::backdrop{opacity:0}dialog.dialog[open]{transform:translateY(.6rem)}}}.dialog-body{gap:1.1rem;padding:1.5rem;display:grid}.dialog-body h2{font-size:var(--step-1)}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.page-head{border-bottom:1px solid var(--line);gap:.35rem;margin-bottom:2rem;padding-bottom:1.5rem;display:grid}.page-head h1{font-size:var(--step-3)}.page-head p{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.menu-trigger{border:0;border-right:1px solid var(--line);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.6rem;min-width:0;height:100%;padding:0 1rem;font-weight:600;transition:background-color .12s;display:inline-flex}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{background:var(--hover)}.menu-trigger:focus-visible{outline-offset:-2px}.menu-trigger>svg{flex:none}.menu-trigger-label{text-overflow:ellipsis;overflow:hidden}.menu-trigger .chevron{color:var(--muted);transition:transform .16s}.menu-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}.menu-panel{z-index:30;border:1px solid var(--line-strong);background:#0c0c0dfa;width:min(22rem,100vw - 1rem);padding:.35rem;position:absolute;top:calc(100% + 1px);left:0;box-shadow:0 16px 40px #0009}.pop-enter-active,.pop-leave-active{transition:opacity .16s,transform .2s cubic-bezier(.2,.8,.2,1)}.pop-leave-active{transition-duration:.12s}.pop-enter-from,.pop-leave-to{opacity:0;transform:translate(var(--pop-x,0), var(--pop-y,-.4rem))}@media (prefers-reduced-motion:reduce){.pop-enter-active,.pop-leave-active{transition:opacity .12s}.pop-enter-from,.pop-leave-to{transform:none}}.menu-divider{background:var(--line);height:1px;margin:.3rem 0}.menu-item{width:100%;color:var(--ink);font-size:var(--step--1);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:.6rem .7rem;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--hover)}.menu-item:focus-visible{outline-offset:-2px}.menu-item>svg{color:var(--muted);flex:none}.menu-item.danger:hover{color:#ff8080}.menu-item:disabled{color:var(--line-strong);cursor:not-allowed;background:0 0}.bar-label{white-space:nowrap}@media (width<=40rem){.bar-label{display:none}}.bar-tabs{scrollbar-width:none;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.bar-tab{color:var(--muted);font-size:var(--step--1);white-space:nowrap;flex:none;align-items:center;padding:0 .9rem;font-weight:500;text-decoration:none;transition:color .12s,background-color .12s;display:inline-flex;position:relative}.bar-tab:after{content:"";background:var(--ink);height:2px;transition:transform .16s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}a.bar-tab:hover{color:var(--ink);background:var(--hover)}.bar-tab:focus-visible{outline-offset:-2px}.bar-tab.is-active{color:var(--ink)}.bar-tab.is-active:after{transform:scaleX(1)}.bar-tab[aria-disabled=true]{color:var(--line-strong);cursor:not-allowed}.switcher[data-v-3ccad031]{flex:none;align-items:stretch;display:flex;position:relative}.item[data-v-3ccad031]{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.6rem .65rem;text-decoration:none;display:grid}.item[data-v-3ccad031]:hover,.item[data-v-3ccad031]:focus-visible{background:var(--hover);outline:none}.item[data-v-3ccad031]:focus-visible{box-shadow:inset 0 0 0 1px var(--focus)}.item[aria-current=page][data-v-3ccad031]{background:var(--active)}.item-text[data-v-3ccad031]{min-width:0;display:grid}.item-title[data-v-3ccad031]{align-items:center;gap:.4rem;font-weight:500;display:flex}.item-desc[data-v-3ccad031]{color:var(--muted);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft[data-v-3ccad031]{border:1px solid var(--line-strong);color:var(--muted);padding:0 .3rem;font-size:.6875rem;font-weight:400;line-height:1.45}@media (width<=40rem){.trigger-title[data-v-3ccad031]{display:none}.menu-trigger[data-v-3ccad031]{gap:.35rem;padding:0 .75rem}}.shell[data-v-a7228d26]{min-height:100dvh}.skip-link[data-v-a7228d26]{z-index:40;background:var(--ink);color:var(--ground);padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip-link[data-v-a7228d26]:focus{top:.75rem}.bar[data-v-a7228d26]{z-index:20;border-bottom:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bar[data-v-a7228d26]{background:#000000f0}}.bar-inner[data-v-a7228d26]{height:var(--bar-height);align-items:stretch;display:flex}.bar-actions[data-v-a7228d26]{flex:none;order:1;align-items:center;gap:.25rem;margin-left:auto;padding:0 .5rem;display:flex}.bar-actions[data-v-a7228d26]:empty{padding:0}.bar-inner[data-v-a7228d26] .bar-end{order:2}.content[data-v-a7228d26]{max-width:calc(var(--content-width) + 2 * var(--gutter));padding:clamp(2rem, 6vw, 4rem) var(--gutter) 4rem;margin:0 auto}.is-wide .content[data-v-a7228d26]{max-width:none;padding:0}.content[data-v-a7228d26]:focus{outline:none}.intro[data-v-c1dbe6e6]{gap:.75rem;max-width:40rem;display:grid}.intro h1[data-v-c1dbe6e6]{font-size:clamp(var(--step-3), 6vw, 4rem);letter-spacing:-.045em;font-weight:600;line-height:1}.intro p[data-v-c1dbe6e6]{color:var(--muted);font-size:var(--step-1);letter-spacing:-.01em}.index[data-v-c1dbe6e6]{border-top:1px solid var(--line);margin:3.5rem 0 0;padding:0;list-style:none}.index li[data-v-c1dbe6e6]{border-bottom:1px solid var(--line)}.entry[data-v-c1dbe6e6]{grid-template-columns:auto minmax(8rem,14rem) 1fr auto;align-items:center;gap:.25rem 1.25rem;padding:1.1rem .75rem;text-decoration:none;transition:background-color .12s;display:grid}.entry[data-v-c1dbe6e6]:hover{background:var(--hover)}.entry[data-v-c1dbe6e6]:focus-visible{outline-offset:-2px}.entry-icon[data-v-c1dbe6e6]{color:var(--muted);transition:color .12s}.entry:hover .entry-icon[data-v-c1dbe6e6]{color:var(--ink)}.entry-title[data-v-c1dbe6e6]{font-weight:500}.entry-desc[data-v-c1dbe6e6]{color:var(--muted)}.entry-path[data-v-c1dbe6e6]{color:var(--muted);font-size:var(--step--1);opacity:0;transition:opacity .12s}.entry:hover .entry-path[data-v-c1dbe6e6],.entry:focus-visible .entry-path[data-v-c1dbe6e6]{opacity:1}.empty[data-v-c1dbe6e6]{color:var(--muted);margin-top:2rem}@media (width<=40rem){.entry[data-v-c1dbe6e6]{grid-template-columns:auto 1fr}.entry-desc[data-v-c1dbe6e6]{grid-column:2}.entry-path[data-v-c1dbe6e6]{display:none}}
