@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-sans-latin-400-normal.gapTbOY8.woff2) format("woff2"),url(/_astro/geist-sans-latin-400-normal.BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-sans-latin-500-normal.uokXdC-Q.woff2) format("woff2"),url(/_astro/geist-sans-latin-500-normal.CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-sans-latin-600-normal.DFOURf8L.woff2) format("woff2"),url(/_astro/geist-sans-latin-600-normal.CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/geist-sans-latin-700-normal.BmN9tIp5.woff2) format("woff2"),url(/_astro/geist-sans-latin-700-normal.CjScfYeH.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-cyrillic-400-normal.Ce5q_31Z.woff2) format("woff2"),url(/_astro/geist-mono-cyrillic-400-normal.BPBWmzPh.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-ext-400-normal.Cgks_Qgx.woff2) format("woff2"),url(/_astro/geist-mono-latin-ext-400-normal.CxNRRMGd.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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.LC9RFr9I.woff2) format("woff2"),url(/_astro/geist-mono-latin-400-normal.CoULgQGM.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}:root{--color-text: hsl(0, 0%, 35%);--color-text-secondary: hsl(0, 0%, 55%);--color-heading: hsl(0, 0%, 10%);--color-bg: hsl(0, 0%, 100%);--color-bg-secondary: hsl(0, 0%, 99%);--color-border: hsl(0, 0%, 90%);--color-accent: hsl(212, 100%, 50%);--color-accent-dark: hsl(212, 100%, 45%);--color-accent-light: hsl(212, 100%, 96%);--color-code-bg: hsl(0, 0%, 96%);--color-code-border: hsl(0, 0%, 88%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-text: hsl(0, 0%, 82%);--color-text-secondary: hsl(0, 0%, 65%);--color-heading: hsl(0, 0%, 98%);--color-bg: hsl(0, 0%, 5%);--color-bg-secondary: hsl(0, 0%, 8%);--color-border: hsl(0, 0%, 20%);--color-accent: hsl(212, 100%, 60%);--color-accent-dark: hsl(212, 100%, 70%);--color-accent-light: hsl(212, 100%, 15%);--color-code-bg: hsl(0, 0%, 10%);--color-code-border: hsl(0, 0%, 25%)}}:root[data-theme=dark]{--color-text: hsl(0, 0%, 82%);--color-text-secondary: hsl(0, 0%, 65%);--color-heading: hsl(0, 0%, 98%);--color-bg: hsl(0, 0%, 5%);--color-bg-secondary: hsl(0, 0%, 8%);--color-border: hsl(0, 0%, 20%);--color-accent: hsl(212, 100%, 60%);--color-accent-dark: hsl(212, 100%, 70%);--color-accent-light: hsl(212, 100%, 15%);--color-code-bg: hsl(0, 0%, 10%);--color-code-border: hsl(0, 0%, 25%)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:Geist Sans,system-ui,sans-serif;background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease}body{min-height:100vh;display:flex;flex-direction:column}*,*:before,*:after{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.3s;transition-timing-function:ease}main{flex:1}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);background-color:hsl(from var(--color-bg) h s l / 85%);backdrop-filter:blur(10px)}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo{display:inline-grid}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--color-text);text-decoration:none;font-size:.9375rem;font-weight:500;transition:color .2s ease}.nav-link:hover{color:var(--color-heading)}.social-links{display:flex;gap:.75rem;align-items:center}.social-link{color:var(--color-text-secondary);text-decoration:none;display:flex;align-items:center;justify-content:center;transition:color .2s ease;padding:.25rem}.social-link:hover{color:var(--color-heading)}.social-link svg{display:block}.nav-separator{width:1px;height:24px;background-color:var(--color-border);margin:0 -.75rem}.theme-toggle{display:flex;gap:0;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:9999px;padding:.25rem;transition:background-color .3s ease,border-color .3s ease}.theme-button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary);border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease;width:32px;height:32px}.theme-button:hover{color:var(--color-heading)}.theme-button.active{background-color:var(--color-bg);color:var(--color-heading);box-shadow:0 1px 3px #0000001a}.logo img{width:160px;transition:filter .3s ease}.logo img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .logo img{filter:invert(0)}}:root[data-theme=dark] .logo img{filter:invert(0)}.astro-code{background-color:var(--color-code-bg)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code{background-color:var(--shiki-dark-bg)!important}:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important}}:root[data-theme=dark] .astro-code{background-color:var(--shiki-dark-bg)!important}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}.site-footer{border-top:1px solid var(--color-border);padding:2rem;text-align:center;color:var(--color-text-secondary);font-size:.875rem}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001;position:relative}.mobile-menu-header,.nav-separator-mobile{display:none}.hamburger-bar{display:block;width:24px;height:2px;background-color:var(--color-text);transition:all .3s ease;position:relative}.hamburger-bar+.hamburger-bar{margin-top:6px}.menu-open .hamburger-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-open .hamburger-bar:nth-child(2){opacity:0}.menu-open .hamburger-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}body.menu-open{overflow:hidden}@media(max-width:768px){.nav-container{padding:1rem 1.5rem}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center}.mobile-menu-header{display:block;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;background-color:var(--color-bg);z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;display:flex;flex-direction:column;overflow-y:auto}.menu-open .nav-overlay{opacity:1;visibility:visible}.mobile-logo{display:inline-block}.mobile-logo img{width:160px;transition:filter .3s ease;filter:invert(1)}body.menu-open .mobile-logo img{filter:invert(1)}@media(prefers-color-scheme:dark){body.menu-open:not([data-theme=light]) .mobile-logo img{filter:invert(0)}}body.menu-open[data-theme=dark] .mobile-logo img,:root[data-theme=dark] .mobile-logo img{filter:invert(0)}.nav-links{flex-direction:column;gap:1.5rem;padding:3rem 2rem;flex:1;align-items:center}.nav-link{font-size:1.125rem;padding:.75rem 0;display:block;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.social-links{justify-content:center;padding:.75rem 0;gap:1.5rem}.social-link{padding:.5rem;min-width:44px;min-height:44px}.social-link svg{width:24px;height:24px}.nav-separator{width:100%;height:1px;margin:0}.nav-separator-mobile{display:block;width:100%;height:1px;background-color:var(--color-border);margin-top:auto;margin-bottom:.5rem}.theme-toggle{justify-content:center;width:fit-content;margin:0 auto}.theme-button{width:44px;height:44px}.theme-button svg{width:20px;height:20px}}.hamburger:focus-visible,.nav-link:focus-visible,.social-link:focus-visible,.theme-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
