.header[data-astro-cid-3ef6ksr2]{position:fixed;inset:0 0 auto;z-index:100}.nav[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-bottom:1px solid var(--color-border);background:#0a0a0aeb;backdrop-filter:blur(10px);transition:background .3s,border-color .3s}@media(min-width:768px){.nav[data-astro-cid-3ef6ksr2]{padding:18px 60px}}[data-theme=light] .nav[data-astro-cid-3ef6ksr2]{background:#f5f5f5ed}.logo[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}.logo[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{height:28px;width:auto;display:block}.logo[data-astro-cid-3ef6ksr2]:hover{text-decoration:none;opacity:.85}.nav-right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:32px}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:28px;list-style:none;align-items:center}.nav-link[data-astro-cid-3ef6ksr2]{color:var(--color-muted);text-decoration:none;font-size:12px;letter-spacing:.08em;transition:color .2s}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary);text-decoration:none}.nav-link[data-astro-cid-3ef6ksr2].active,.nav-link[data-astro-cid-3ef6ksr2].scrollspy-active{color:var(--color-blue)}.nav-link[data-astro-cid-3ef6ksr2].active:before,.nav-link[data-astro-cid-3ef6ksr2].scrollspy-active:before{content:"> "}.nav-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:12px}.theme-btn[data-astro-cid-3ef6ksr2],.menu-btn[data-astro-cid-3ef6ksr2]{background:transparent;border:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-family-mono);font-size:11px;padding:5px 12px;cursor:pointer;letter-spacing:.08em;transition:border-color .2s,color .2s}.theme-btn[data-astro-cid-3ef6ksr2]:hover,.menu-btn[data-astro-cid-3ef6ksr2]:hover{border-color:var(--color-blue);color:var(--color-blue)}.menu-btn[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:768px){.nav-links[data-astro-cid-3ef6ksr2]{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;padding:18px 32px;gap:16px;align-items:flex-start}.nav-links[data-astro-cid-3ef6ksr2].open{display:flex}.menu-btn[data-astro-cid-3ef6ksr2]{display:block}}.footer[data-astro-cid-sz7xmlte]{position:fixed;bottom:0;left:0;right:0;z-index:100;border-top:1px solid var(--color-border);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--color-muted);letter-spacing:.06em;transition:border-color .3s;flex-wrap:wrap;gap:16px;background-color:var(--color-bg)}@media(min-width:768px){.footer[data-astro-cid-sz7xmlte]{padding:16px 60px}}.footer[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{color:var(--color-blue)}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:20px;align-items:center}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-muted);text-decoration:none;font-size:11px;letter-spacing:.06em;transition:color .2s}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-blue);text-decoration:none}@media(max-width:640px){.footer-links[data-astro-cid-sz7xmlte]{display:none}}*,*:before,*:after{box-sizing:border-box}:root{--font-family-mono: "JetBrains Mono", "IBM Plex Mono", monospace;--color-blue: #2b7fff}:root{--color-bg: #0a0a0a;--color-surface: #111111;--color-border: #2a2a2a;--color-primary: #f0f0f0;--color-muted: #888888;--color-accent: #ffffff;--color-cursor: #f0f0f0}[data-theme=light]{--color-bg: #f5f5f5;--color-surface: #ebebeb;--color-border: #d0d0d0;--color-primary: #0a0a0a;--color-muted: #666666;--color-accent: #000000;--color-cursor: #0a0a0a}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family-mono);background-color:var(--color-bg);color:var(--color-primary);scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;transition:background-color .3s ease,color .3s ease}a{color:var(--color-blue);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}::selection{background-color:var(--color-blue);color:#fff}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor-blink:after{content:"█";animation:blink 1s step-end infinite;color:var(--color-cursor);margin-left:15px}.scanline-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}[data-theme=light] .scanline-overlay{background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.015) 2px,rgba(0,0,0,.015) 4px)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.slide-left{opacity:0;transform:translate(-24px);transition:opacity .5s ease,transform .5s ease}.slide-left.in-view{opacity:1;transform:translate(0)}.btn{display:inline-block;padding:10px 22px;border:1px solid var(--color-border);background:transparent;color:var(--color-primary);font-size:12px;letter-spacing:.08em;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.btn:hover{border-color:var(--color-primary);text-decoration:none}.btn-blue{border-color:var(--color-blue);color:var(--color-blue)}.btn-blue:hover{background:var(--color-blue);color:var(--color-bg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float{animation:float 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.reveal,.slide-left{opacity:1;transform:none;transition:none}.cursor-blink:after{animation:none}.float{animation:none}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.section-divider{border:none;border-top:1px solid var(--color-border);margin:4rem 0}.site-wrapper[data-astro-cid-sckkx6r4]{max-width:960px;margin:0 auto;padding:0 1.5rem 80px;min-height:100vh;display:flex;flex-direction:column}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-400-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-greek-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-greek-400-normal.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-vietnamese-400-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-ext-400-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-400-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-cyrillic-ext-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-ext-500-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-cyrillic-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-500-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-greek-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-greek-500-normal.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-vietnamese-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-vietnamese-500-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-ext-500-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/jetbrains-mono-latin-500-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-500-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-cyrillic-ext-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-ext-700-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-cyrillic-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-cyrillic-700-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-greek-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-greek-700-normal.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-vietnamese-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-vietnamese-700-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-latin-ext-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-ext-700-normal.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/jetbrains-mono-latin-700-normal.woff2) format("woff2"),url(./files/jetbrains-mono-latin-700-normal.woff) format("woff");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}
