@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--surface:#f4f5f7;--text:#15191e;--muted:#5a636e;--line:#dee2e7;--accent:#1b2b48;--accent-text:#fff;--accent-soft:#e3eef9;--code-bg:#f4f5f7;--ok:#1d5fa0;--ok-bg:#e3eef9;--warn-text:#7a4e00;--warn-bg:#fcebb6;--alarm:#b93c00;--alarm-text:#fff;--radius:10px;--wrap:68rem;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1217;--surface:#161b21;--text:#eef2f6;--muted:#a9b3be;--line:#2a3038;--accent:#dce3ec;--accent-text:#0e1217;--accent-soft:#14263a;--code-bg:#161b21;--ok:#7db8f2;--ok-bg:#14263a;--warn-text:#f5c451;--warn-bg:#2e2410;--alarm:#ff9f43;--alarm-text:#0e1217;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1217;--surface:#161b21;--text:#eef2f6;--muted:#a9b3be;--line:#2a3038;--accent:#dce3ec;--accent-text:#0e1217;--accent-soft:#14263a;--code-bg:#161b21;--ok:#7db8f2;--ok-bg:#14263a;--warn-text:#f5c451;--warn-bg:#2e2410;--alarm:#ff9f43;--alarm-text:#0e1217;color-scheme:dark}:root[data-theme=light]{color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--font);font-feature-settings:"cv05", "cv08";margin:0}a{color:var(--accent);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}h3{margin:0 0 .4rem;font-size:1.15rem}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1rem}@media (width>=40rem){.wrap{padding:0 1.5rem}}.skip{position:absolute;left:-999px}.skip:focus{background:var(--surface);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}.button{border-radius:var(--radius);font:inherit;background:var(--accent);color:var(--accent-text);border:2px solid var(--accent);cursor:pointer;padding:.8rem 1.4rem;font-weight:650;text-decoration:none;display:inline-block}.button.secondary{color:var(--accent);background:0 0}.button:disabled{opacity:.6;cursor:wait}.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.header-actions{align-items:center;gap:.75rem;display:flex}.wordmark{color:var(--accent);line-height:0;display:block}.wordmark svg{width:auto;height:1.9rem}.settings{border:0;max-width:none;padding:0;position:relative}.settings summary,.header-button{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font:inherit;letter-spacing:.03em;background:0 0;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.settings summary::-webkit-details-marker{display:none}.settings summary:hover,.settings[open] summary,.header-button:hover{color:var(--text);border-color:var(--muted)}.settings summary svg{fill:none;stroke:currentColor;stroke-width:1.6px}.settings-panel{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);min-width:13rem;padding:.75rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #0000001f}.settings-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.75rem;font-weight:700}.settings-label:not(:first-child){margin-top:.9rem}.settings ul{margin:0;padding:0;list-style:none}.settings li a,.settings li button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .5rem;text-decoration:none;display:block}.settings li a:hover,.settings li button:hover{background:var(--surface)}.settings li [aria-current]{background:var(--surface);font-weight:650}.theme-switch{gap:.25rem;display:flex}.theme-switch button{font:inherit;cursor:pointer;color:var(--text);border:1px solid var(--line);background:0 0;border-radius:6px;flex:1;padding:.35rem .4rem;font-size:.85rem}.theme-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.contact-icons{align-items:center;gap:.3rem;display:flex}.contact-icons a{border-radius:999px;width:2rem;height:2rem;transition:transform .15s;display:inline-flex}.contact-icons a:hover{transform:scale(1.08)}.contact-icons svg{width:100%;height:100%}@media (width<=26rem){.contact-icons{gap:.15rem}.contact-icons a{width:1.75rem;height:1.75rem}.header-inner,.header-actions{gap:.5rem}.wordmark svg{height:1.6rem}.header-actions:has(.header-button) .contact-icons{display:none}}.contact-buttons{flex-wrap:wrap;gap:.6rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.contact-buttons a{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:999px;align-items:center;gap:.55rem;padding:.6rem 1.1rem .6rem .75rem;font-weight:650;text-decoration:none;transition:border-color .15s;display:inline-flex}.contact-buttons a:hover{border-color:var(--muted)}.contact-buttons svg{flex:none;width:1.6rem;height:1.6rem}.contact-buttons small{color:var(--muted);font-weight:500}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:2rem 0 2.5rem;font-size:.92rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;display:flex}.footer-inner p{margin:0}.footer-inner nav{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.footer-inner a{color:var(--muted)}.version{font-variant-numeric:tabular-nums}
