.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus{width:auto;height:auto;padding:inherit;margin:inherit;clip:auto;white-space:normal;position:static;overflow:visible}.focus-visible:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}@media (prefers-contrast:high){.text-slate-500,.text-slate-400,.text-slate-600{color:#000!important}.dark .text-slate-500,.dark .text-slate-400,.dark .text-slate-600{color:#fff!important}.border-slate-200,.border-slate-100{border-color:#000!important}.dark .border-slate-800,.dark .border-slate-700{border-color:#fff!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{color:#fff;z-index:1000;background:#3b82f6;border-radius:4px;padding:8px;text-decoration:none;transition:top .3s;position:absolute;top:-40px;left:6px}.skip-link:focus{top:6px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.glass-button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#ef4444;box-shadow:0 0 0 1px #ef4444}[aria-busy=true]{cursor:wait}@media (pointer:coarse){button,a,input[type=button],input[type=submit],input[type=reset]{min-width:44px;min-height:44px}}table{border-collapse:collapse}th{text-align:left}h1{font-size:2.25rem;line-height:2.5rem}h2{font-size:1.875rem;line-height:2.25rem}h3{font-size:1.5rem;line-height:2rem}h4{font-size:1.25rem;line-height:1.75rem}h5{font-size:1.125rem;line-height:1.75rem}h6{font-size:1rem;line-height:1.5rem}ul[role=list],ol[role=list]{list-style:none}[role=button]:focus-visible,[role=tab]:focus-visible,[role=option]:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.error-message{color:#ef4444;margin-top:.25rem;font-size:.875rem}.dark .error-message{color:#fca5a5}::placeholder{color:#6b7280;opacity:1}.dark ::placeholder{color:#9ca3af}.dark button:focus-visible,.dark a:focus-visible,.dark input:focus-visible,.dark textarea:focus-visible,.dark select:focus-visible{outline-color:#60a5fa}
@layer utilities{.transition-smooth{transition-property:color,background-color,border-color,opacity,transform,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-smooth-slow{transition-property:color,background-color,border-color,opacity,transform,box-shadow;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-fade-in{animation:.4s ease-out forwards fade-in}.animate-slide-up-fade{animation:.5s ease-out forwards slide-up-fade}.animate-slide-down-fade{animation:.5s ease-out forwards slide-down-fade}.animate-scale-fade{animation:.4s ease-out forwards scale-fade}.animate-on-scroll{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(12px)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.hover-scale{transition:transform .2s ease-out}.hover-scale:hover{transform:scale(1.02)}.hover-underline{position:relative}.hover-underline:after{content:"";background-color:currentColor;width:0;height:2px;transition:width .3s ease-out;position:absolute;bottom:-2px;left:0}.hover-underline:hover:after{width:100%}.focus-ring{transition:box-shadow .2s ease-out}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f64d}.btn-press:active{transform:scale(.98)}.transition-colors-smooth{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-on-scroll{opacity:1;transform:none}}@layer components{.post-item-enter{opacity:0;animation:.4s ease-out forwards slide-up-fade;transform:translateY(8px)}.post-card{transition:transform .2s ease-out,box-shadow .2s ease-out}.post-card:hover{transform:translateY(-1px)}.category-badge{transition:transform .15s ease-out,background-color .2s ease-out}.category-badge:hover{transform:scale(1.05)}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.copy-button-pulse{animation:2s ease-in-out infinite pulse-subtle}.reading-progress{transition:width .1s linear}.toc-item{transition:color .2s ease-out,transform .15s ease-out}.toc-item:hover{transform:translate(4px)}.search-result-item{transition:background-color .15s ease-out,transform .15s ease-out}.search-result-item:hover{transform:translate(2px)}.widget-card{transition:transform .2s ease-out,opacity .2s ease-out}.widget-card:hover{transform:translateY(-1px)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{animation:1.5s ease-in-out infinite skeleton-pulse}.code-block{animation:.3s ease-out fade-in}.image-fade-in{animation:.4s ease-out fade-in}.page-transition{animation:.3s ease-out fade-in}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.nav-link{transition:color .2s ease-out;position:relative}.nav-link:after{content:"";background-color:currentColor;width:0;height:2px;transition:width .3s ease-out;position:absolute;bottom:-4px;left:0}.nav-link:hover:after,.nav-link[aria-current=page]:after{width:100%}.theme-toggle{transition:transform .2s ease-out}.theme-toggle:hover{transform:rotate(15deg)}.theme-toggle:active{transform:rotate(30deg)scale(.95)}@keyframes header-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.header-enter{animation:.4s ease-out forwards header-slide-down}.pagination-button{transition:background-color .2s ease-out,transform .15s ease-out}.pagination-button:hover{transform:scale(1.05)}.pagination-button:active{transform:scale(.95)}.expand-transition{transition:max-height .3s ease-out,opacity .3s ease-out;overflow:hidden}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.backdrop-fade{animation:.2s ease-out forwards backdrop-fade}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-enter{animation:.3s ease-out forwards modal-slide-up}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_f2d81e59-module__dt-NXW__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_f2d81e59-module__dt-NXW__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.102b7f24.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.102b7f24.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.102b7f24.woff2)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.102b7f24.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_2af307a0-module__yu2sZG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2af307a0-module__yu2sZG__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
@font-face{font-family:aspekta;src:url(../media/Aspekta_500-s.p.d424c6d4.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:aspekta;src:url(../media/Aspekta_650-s.p.e4d80ff5.woff2)format("woff2");font-display:swap;font-weight:650}@font-face{font-family:aspekta Fallback;src:local(Arial);ascent-override:106.53%;descent-override:31.96%;line-gap-override:0.0%;size-adjust:103.26%}.aspekta_9392c82b-module__3A7M3W__className{font-family:aspekta,aspekta Fallback}.aspekta_9392c82b-module__3A7M3W__variable{--font-aspekta:"aspekta","aspekta Fallback"}
