@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/329bc21294e2fb3d-s.11-onw4a9s-o3.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/2e26954cfd51b6e3-s.1oj6iblxvm99n.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a1b1d0384e6aa746-s.p.1q-jjomgjvbjf.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1123fb89de588a48-s.1nzccunaoxsdm.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/d0f4d39c08066a29-s.1wuo3gtslpr33.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7015758c94fe7945-s.p.0ggqn9ig56u4s.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.lkQY6W_className{font-family:Fraunces,Fraunces Fallback}.lkQY6W_variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/4032351b19cb998e-s.19g-lkcx7iw64.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/cb4b92673aedbbad-s.p.0-95eo-012xnf.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:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.ZtNdoa_className{font-family:Figtree,Figtree Fallback;font-style:normal}.ZtNdoa_variable{--font-body:"Figtree", "Figtree Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/926255cb50ed39aa-s.05w992gizc866.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/68bc2cfe875f85c2-s.1m9k836wuo8c7.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/a90e9b0b65f06599-s.2lz2vdkeqaz2g.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/756248487e4d6271-s.1ocfy-u58n01e.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/2a480d253aab94fc-s.3r4--ze9tqti8.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-20C4,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/39a5523f82c8e2e1-s.p.29e6ydd6osd72.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%}.gs8wna_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:500}.gs8wna_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
.rMFRXG_footer{width:100%;max-width:var(--page-width);padding:24px var(--gutter) 40px;border-top:1px solid var(--color-line-faint);color:var(--color-faint);margin:0 auto;font-size:13px;line-height:1.5;position:relative}.rMFRXG_footer p{margin:0}.rMFRXG_footer p+p{margin-top:6px}
.vdTbnW_nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vdTbnW_link{min-height:44px;color:var(--color-text-soft);border-bottom:2px solid #0000;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.vdTbnW_link:hover{color:var(--color-text)}.vdTbnW_link[aria-current=page]{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}
.WtMztG_header{width:100%;max-width:var(--page-width);padding:24px var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex;position:relative}.WtMztG_wordmark{min-height:44px;color:var(--color-text);align-items:center;gap:12px;font-size:28px;text-decoration:none;display:flex}.WtMztG_wordmark:hover{color:var(--color-text)}.WtMztG_djinn{color:var(--color-accent);font-style:italic;font-weight:500}
.FJtria_sky{pointer-events:none;height:640px;position:absolute;inset:0 0 auto;overflow:hidden}.FJtria_girih{width:100%;height:100%;position:absolute;inset:0}.FJtria_moon{width:min(400px,70vw);height:auto;position:absolute;top:40px;right:4%}
:root,[data-theme=lamp-at-midnight]{--color-bg:#0f1030;--color-surface:#181a42;--color-sunken:#0b0c26;--color-line:#2c2f63;--color-line-faint:#20234d;--color-line-strong:#3a3e78;--color-text:#f2ecdf;--color-text-soft:#c9c2dc;--color-text-chip:#e0daea;--color-muted:#a9a4c6;--color-faint:#8e89b0;--color-accent:#e2b25a;--color-accent-hover:#f1c97a;--color-on-accent:#1a1206;--color-smoke:#b9a7e8;--color-chip:#1e2150;--color-selected:#2a2550;--color-deco:#272b5e;--color-button-line:#4a4e8a;--font-family-display:var(--font-display), Georgia, serif;--font-family-body:var(--font-body), system-ui, sans-serif;--font-family-mono:var(--font-mono), ui-monospace, monospace;--radius-card:20px;--radius-field:12px;--radius-pill:999px;--page-width:1240px;--content-width:880px;--gutter:clamp(16px, 4vw, 32px)}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-body);-webkit-text-size-adjust:100%}body{background:var(--color-bg);flex-direction:column;min-height:100vh;margin:0;display:flex;position:relative;overflow-x:clip}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}button,input,textarea,select{font:inherit}:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::placeholder{color:var(--color-faint)}.display{font-family:var(--font-family-display);font-optical-sizing:auto;font-weight:600}.mono{font-family:var(--font-family-mono)}.page{width:100%;max-width:var(--content-width);padding:clamp(32px, 8vw, 64px) var(--gutter);flex:1;margin:0 auto;position:relative}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes wisp{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.9;transform:translateY(-14px)}}.wisp{animation:7s ease-in-out infinite wisp}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
