@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,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(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/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(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--k-canvas: #f4f4f2;--k-panel: #ffffff;--k-subtle: #f9f9f8;--k-sunken: #efefec;--k-line: #e7e7e3;--k-line-strong: #d6d6d1;--k-ink: #111111;--k-ink-2: #3b3b39;--k-muted: #6e6e69;--k-faint: #a1a19b;--k-key: #111111;--k-key-hover: #2a2a2a;--k-key-ink: #ffffff;--k-signal: #22b45e;--k-signal-ink: #0d7a3e;--k-signal-soft: #e8f6ed;--k-danger: #d92d20;--k-danger-ink: #b42318;--k-danger-soft: #fdeceb;--k-caution: #dc8a0e;--k-caution-ink: #8f560a;--k-caution-soft: #fdf3e1;--k-screen: #0c0c0d;--k-screen-2: #161618;--k-screen-3: #202023;--k-screen-line: rgb(255 255 255 / .08);--k-screen-ink: #f4f4f2;--k-screen-muted: #8c8c91;--k-screen-signal: #3ddc84;--k-font-display: "Sora", "Geist Variable", system-ui, sans-serif;--k-font: "Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--k-font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--k-r-xs: 6px;--k-r-sm: 8px;--k-r-md: 12px;--k-r-lg: 16px;--k-r-xl: 24px;--k-r-pill: 999px;--k-shadow-xs: 0 1px 2px rgb(17 17 17 / .05);--k-shadow-sm: 0 1px 2px rgb(17 17 17 / .04), 0 2px 8px rgb(17 17 17 / .04);--k-shadow-md: 0 2px 4px rgb(17 17 17 / .04), 0 12px 32px -8px rgb(17 17 17 / .16);--k-shadow-raised: inset 0 1px 0 #ffffff, 0 0 0 1px var(--k-line), 0 1px 2px rgb(17 17 17 / .05);--k-shadow-key: inset 0 1px 0 rgb(255 255 255 / .16), inset 0 -1px 0 rgb(0 0 0 / .4), 0 1px 2px rgb(17 17 17 / .24);--k-ring: 0 0 0 3px rgb(17 17 17 / .12);--k-ease: cubic-bezier(.2, .8, .2, 1);--k-ease-in-out: cubic-bezier(.65, 0, .35, 1);--k-fast: .12s;--k-base: .2s;--k-slow: .36s}:root{--page: 1240px;--gutter: clamp(20px, 4.4vw, 56px);--section: clamp(88px, 10vw, 144px);--nav-top: 12px;--nav-h: 56px;--mono: var(--k-font-mono);color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}html{background:var(--k-panel);color:var(--k-ink)}html[data-menu]{overflow:hidden}body{margin:0;min-height:100svh;font:400 16px/1.6 var(--k-font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,canvas,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{margin:0;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--k-ink);outline-offset:3px}::selection{background:var(--k-ink);color:var(--k-key-ink)}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;z-index:100;left:16px;top:16px;padding:10px 16px;border-radius:var(--k-r-sm);background:var(--k-key);color:var(--k-key-ink);font-size:14px;font-weight:500;transform:translateY(-160%);transition:transform var(--k-base) var(--k-ease)}.skip:focus{transform:none}.container{width:min(var(--page),100% - 2 * var(--gutter));margin-inline:auto}.section{padding-block:var(--section)}.head{display:grid;justify-items:start;gap:18px;max-width:760px;margin-bottom:clamp(40px,5vw,64px)}.display{font-family:var(--k-font-display);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-wrap:balance;color:var(--k-ink)}.title{font-size:clamp(30px,3.4vw,46px);line-height:1.06;letter-spacing:-.036em}.lede{max-width:38em;color:var(--k-muted);font-size:clamp(17px,1.35vw,19px);line-height:1.6;text-wrap:pretty}.lede strong{color:var(--k-ink);font-weight:500}.num,.mono{font-family:var(--k-font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.link{display:inline-flex;align-items:center;gap:6px;color:var(--k-ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--k-line-strong);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color var(--k-fast) var(--k-ease)}.link:hover{text-decoration-color:currentColor}.link svg{transition:transform var(--k-base) var(--k-ease)}.link:hover svg{transform:translate(2px)}.btn{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:10px;font-size:15px;font-weight:500;line-height:1;letter-spacing:-.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--k-fast) var(--k-ease),box-shadow var(--k-fast) var(--k-ease),color var(--k-fast) var(--k-ease),transform .18s var(--k-ease)}.btn:active{transform:translateY(1px);transition-duration:var(--k-fast),var(--k-fast),var(--k-fast),90ms}.btn-lg{height:48px;padding:0 22px;border-radius:12px;font-size:16px}.btn-sm{height:36px;padding:0 14px;border-radius:8px;font-size:14px}.key{background-color:var(--k-key);background-image:linear-gradient(180deg,#ffffff1a,#fff0 60%);color:var(--k-key-ink);box-shadow:var(--k-shadow-key)}.key:hover{background-color:var(--k-key-hover)}.key:active{box-shadow:inset 0 1px #ffffff0f,inset 0 1px 3px #00000080}.key:focus-visible{outline-offset:3px}.plain{background:var(--k-panel);color:var(--k-ink);box-shadow:var(--k-shadow-raised)}.plain:hover{background:var(--k-subtle);box-shadow:inset 0 1px #fff,0 0 0 1px var(--k-line-strong),0 1px 2px #1111110f}.plain:active{background:var(--k-subtle);box-shadow:0 0 0 1px var(--k-line-strong)}.ghost{color:var(--k-ink-2)}.ghost:hover{background:#1111110d;color:var(--k-ink)}.btn svg{flex:none}.signal{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--k-signal)}.signal:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--k-signal);opacity:0;animation:signal 2.4s var(--k-ease) infinite}@keyframes signal{0%{opacity:.45;transform:scale(.5)}70%,to{opacity:0;transform:scale(1.6)}}@media(prefers-reduced-motion:reduce){.signal:after{animation:none}}[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--k-slow) var(--k-ease),transform var(--k-slow) var(--k-ease);transition-delay:var(--delay, 0ms)}[data-reveal].shown{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{transform:none;transition:opacity .24s linear}}.panel-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-key, 8px);color:var(--muted);transition:color .16s var(--k-ease),background-color .16s var(--k-ease)}.panel-icon:hover{color:var(--text);background:var(--field)}.panel-select{position:relative}.panel-select:after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}.panel-select select{width:100%;min-width:0;height:40px;padding:0 34px 0 14px;border:1px solid var(--hairline);border-radius:var(--r-field, 10px);background:var(--field);color:var(--text);font:inherit;font-size:13px;appearance:none;cursor:pointer}.panel-select select option{background:var(--panel);color:var(--text)}.panel-select select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media(max-width:700px){.panel-select select{font-size:16px}}
