@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_2aca7dd7-module__CQH0-a__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_2aca7dd7-module__CQH0-a__variable{--font-display:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_e494d83a-module__-KJ0na__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_e494d83a-module__-KJ0na__variable{--font-body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.p.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.p.0f97p8c3305p~.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_124868b8-module__iY0vUW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_124868b8-module__iY0vUW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
.NavLink-module__8wH0IW__link{border-radius:var(--radius-full);transition:color var(--transition-slow), background var(--transition-slow);align-items:center;gap:8px;text-decoration:none;display:flex}.NavLink-module__8wH0IW__mono{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.NavLink-module__8wH0IW__body{font-family:var(--font-body);color:var(--text-secondary);font-size:13px;font-weight:400}.NavLink-module__8wH0IW__md{padding:6px 14px}.NavLink-module__8wH0IW__sm{padding:5px 10px}.NavLink-module__8wH0IW__link:hover{color:var(--white);background:var(--hover-bg)}.NavLink-module__8wH0IW__active{color:var(--white);background:var(--active-bg)}
.Header-module__hBw1pG__nav{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);justify-content:center;display:flex;position:fixed;top:0;left:0;right:0}.Header-module__hBw1pG__bar{border-radius:var(--radius-full);background:0 0;align-items:center;gap:4px;padding:6px 8px;display:flex}.Header-module__hBw1pG__logo{flex-shrink:0;justify-content:center;align-items:center;padding:4px 8px;transition:opacity .3s;display:flex}.Header-module__hBw1pG__logo:hover{opacity:.7}.Header-module__hBw1pG__links{align-items:center;gap:2px;display:flex}@media (max-width:480px){.Header-module__hBw1pG__nav{top:0}.Header-module__hBw1pG__bar{gap:2px;padding:4px 6px}.Header-module__hBw1pG__logo{padding:4px 6px}.Header-module__hBw1pG__logo img{width:18px;height:18px}}
.MobileNav-module__WvOOWG__wrapper{display:none}@media (max-width:900px){.MobileNav-module__WvOOWG__wrapper{border-bottom:1px solid var(--border);margin-left:-16px;margin-right:-16px;padding-top:40px;display:block}.MobileNav-module__WvOOWG__toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.MobileNav-module__WvOOWG__toggleLabel{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.MobileNav-module__WvOOWG__burger{flex-direction:column;justify-content:center;gap:4px;width:16px;height:16px;display:flex}.MobileNav-module__WvOOWG__burger span{background:var(--text-secondary);transform-origin:50%;border-radius:1px;width:100%;height:1.5px;transition:transform .25s,opacity .25s;display:block}.MobileNav-module__WvOOWG__burgerOpen span:first-child{transform:translateY(5.5px)rotate(45deg)}.MobileNav-module__WvOOWG__burgerOpen span:nth-child(2){opacity:0}.MobileNav-module__WvOOWG__burgerOpen span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.MobileNav-module__WvOOWG__nav{grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px;display:grid}.MobileNav-module__WvOOWG__category{flex-direction:column;gap:2px;display:flex}.MobileNav-module__WvOOWG__categoryName{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:2px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.MobileNav-module__WvOOWG__items{flex-direction:column;gap:1px;list-style:none;display:flex}}
.Footer-module__S6Hkya__footer{border-top:1px solid var(--border)}.Footer-module__S6Hkya__footerInner{text-align:center;max-width:1512px;margin:0 auto;padding:48px 80px}.Footer-module__S6Hkya__footerCopy{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-subtle);font-size:11px;font-weight:400}.Footer-module__S6Hkya__footerNav{justify-content:center;gap:24px;margin-top:12px;display:flex}.Footer-module__S6Hkya__footerLink{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-subtle);transition:color var(--transition-base);font-size:11px;text-decoration:none}.Footer-module__S6Hkya__footerLink:hover{color:var(--white)}@media (max-width:900px){.Footer-module__S6Hkya__footerInner{padding:36px 24px}}@media (max-width:480px){.Footer-module__S6Hkya__footerInner{padding:32px 16px}.Footer-module__S6Hkya__footerCopy,.Footer-module__S6Hkya__footerLink{font-size:10px}}
.Sidebar-module__5jFFLa__wrapper{flex-shrink:0;align-self:stretch;width:260px}.Sidebar-module__5jFFLa__sidebar{max-height:100vh;padding:100px 40px 80px 0;position:sticky;top:0;overflow-y:auto}.Sidebar-module__5jFFLa__nav{flex-direction:column;gap:20px;padding-bottom:40px;display:flex}.Sidebar-module__5jFFLa__category{flex-direction:column;gap:2px;display:flex}.Sidebar-module__5jFFLa__categoryName{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:4px;padding:6px 14px;font-size:11px;font-weight:600;display:flex}.Sidebar-module__5jFFLa__categoryLink{margin-bottom:4px;font-weight:600}.Sidebar-module__5jFFLa__items{flex-direction:column;gap:1px;list-style:none;display:flex}.Sidebar-module__5jFFLa__tech{font-family:var(--font-mono);color:var(--gray-400);letter-spacing:.02em;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:500;transition:color .2s,border-color .2s,background .2s}.Sidebar-module__5jFFLa__item:hover .Sidebar-module__5jFFLa__tech{color:#ffffffb3;border-color:#ffffff1a}.Sidebar-module__5jFFLa__itemActive .Sidebar-module__5jFFLa__tech{color:#fffc;background:#ffffff0f;border-color:#ffffff1f}.Sidebar-module__5jFFLa__sidebar::-webkit-scrollbar{width:4px}.Sidebar-module__5jFFLa__sidebar::-webkit-scrollbar-track{background:0 0}.Sidebar-module__5jFFLa__sidebar::-webkit-scrollbar-thumb{background:var(--gray-800);border-radius:2px}@media (max-width:900px){.Sidebar-module__5jFFLa__wrapper{display:none}}
.layout-module__OmaKWq__layout{gap:0;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 40px;display:flex}.layout-module__OmaKWq__content{border-left:1px solid var(--border);border-right:1px solid var(--border);flex:1;min-width:0;padding:100px 40px 80px}@media (max-width:900px){.layout-module__OmaKWq__layout{flex-direction:column;gap:0;padding:0 16px}.layout-module__OmaKWq__content{border-left:none;border-right:none;padding:24px 0 60px}}
