@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.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:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.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:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.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:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.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:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.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:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.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_cc80ae23-module__2tkX8G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_cc80ae23-module__2tkX8G__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/43fa41482cbf5ee5-s.3amgd1kcyepsq.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:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/51430d34a2dfca2f-s.3de9nsjscz49m.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/3b8d31b6d618cd27-s.0lvwaxusazhvz.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:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7a2e4ff4560f5ac3-s.12kkb0tcdhpay.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:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e9d5b069f63ab620-s.p.43bojm9sp3v_v.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.1u-lvzo58r3-e.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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.37c107x1d-cfz.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.3_gspotjv4tkw.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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.0m-w082keobar.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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.3y9b8znjr2455.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_7e85b75-module__oRNAYW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_7e85b75-module__oRNAYW__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/88731e1a74492905-s.0tlm39yf_ckdx.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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/861011d7404b02f6-s.3fnhzl7vreycw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/3381337b621a9a6a-s.0jxe124sc_62t.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.0iws-x-_m0m6k.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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0951afe60dbf5d36-s.0f7v04cdymq72.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/97e7b204180d1274-s.3xa5d8otat0m1.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:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.2qe5xx8d5sx8i.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:Fira Code Fallback;src:local(Arial);ascent-override:73.56%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:134.59%}.fira_code_fa196e0e-module__bjA0_W__className{font-family:Fira Code,Fira Code Fallback;font-style:normal}.fira_code_fa196e0e-module__bjA0_W__variable{--font-fira-code:"Fira Code", "Fira Code Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.0fuxtgzazslqx.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.451yigaaz_4mg.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3cik_s2si-ft-.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.0we3rzhp_h228.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.44izq0ia6orkf.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.1s123piy9_v1m.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:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_c7145eb-module__H7f57G__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_c7145eb-module__H7f57G__variable{--font-space-mono:"Space Mono", "Space Mono Fallback"}
body.v2{--bg:#fafaf9;--bg-soft:#f3f3f1;--fg:#0a0a0a;--fg-muted:#5a5a5a;--fg-dim:#8a8a8a;--line:#d8d8d6;--line-soft:#e8e8e6;--accent:#0a0a0a;--mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--display:"JetBrains Mono", ui-monospace, Menlo, monospace;--ascii-size:7px}body.dark{--bg:#0c0c0d;--bg-soft:#161618;--fg:#f2f2f0;--fg-muted:#a0a0a0;--fg-dim:#6a6a6a;--line:#2a2a2c;--line-soft:#1d1d1f;--accent:#f2f2f0}body.matcha{--bg:#f0f5ee;--bg-soft:#e2ede0;--fg:#1a2e18;--fg-muted:#4a6b48;--fg-dim:#7a9b78;--line:#c4d9c0;--line-soft:#d4e8d0}body.lavender{--bg:#f4f1f9;--bg-soft:#ebe5f5;--fg:#2d1b4e;--fg-muted:#6b5a8a;--fg-dim:#9b8ab0;--line:#ccc0e0;--line-soft:#ddd5ed}body.no-blink .hero h1 .caret,body.no-blink .topbar .brand .dot{animation:none}body.reveal-realistic .ascii-frame .reveal{opacity:1}body.reveal-realistic .ascii-frame pre{opacity:0!important;filter:blur(2px)!important}body.reveal-realistic .ascii-frame:hover .reveal{opacity:0}body.reveal-realistic .ascii-frame:hover pre{opacity:1!important;filter:none!important}body.reveal-realistic .ascii-frame.has-default .default-img{opacity:0!important}body.reveal-realistic .ascii-frame.has-default:hover .default-img{opacity:1!important}body.reveal-realistic .ascii-frame.has-default:hover pre{opacity:0!important;filter:none!important}body.reveal-realistic .lore-grid .ascii-frame .reveal{opacity:1}body.reveal-realistic .lore-grid .ascii-frame pre{opacity:0!important}body.reveal-realistic .lore-grid .ascii-frame:hover .reveal{opacity:0}body.reveal-realistic .lore-grid .ascii-frame:hover pre{opacity:1!important;filter:none!important}*{box-sizing:border-box}body.v2{background:var(--bg);color:var(--fg);font-family:var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.55}body.v2 a{color:inherit;text-decoration:none}body.v2 a.link{border-bottom:1px solid var(--fg);padding-bottom:1px}body.v2 a.link:hover,body.v2 ::selection{background:var(--fg);color:var(--bg)}:where(body.v2 button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}.shell{max-width:1100px;min-height:100vh;margin:0 auto;padding:28px 40px 80px;position:relative}.topbar{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;margin-bottom:56px;padding-bottom:24px;display:flex;position:relative}.nav-burger{width:30px;height:30px;color:var(--fg);justify-content:center;align-items:center;display:none}.nav-burger svg{width:20px;height:20px;display:block}.topbar .brand{letter-spacing:.02em;align-items:center;gap:10px;font-size:13px;display:flex}.topbar .brand .dot{background:var(--fg);width:8px;height:8px;animation:1.2s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.nav{gap:28px;font-size:13px;display:flex}.nav button{color:var(--fg-muted);padding:2px 0;transition:color .15s;position:relative}.nav button:hover,.nav button.active{color:var(--fg)}.nav button.active:after{content:"";background:var(--fg);height:1px;position:absolute;bottom:-6px;left:0;right:0}.hero{padding:32px 0 48px}.hero .eyebrow{color:var(--fg-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;display:flex}.hero .eyebrow:before{content:"";background:var(--fg-muted);width:24px;height:1px}.hero h1{font-family:var(--display);letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(48px,8vw,104px);font-weight:700;line-height:.96}.hero h1 .caret{background:var(--fg);vertical-align:-.08em;width:.55em;height:.85em;margin-left:.08em;animation:1s steps(2,end) infinite blink;display:inline-block}.hero .identity{font-family:var(--display);letter-spacing:-.025em;color:var(--fg-muted);max-width:900px;font-size:clamp(28px,4.6vw,56px);font-weight:500;line-height:1.05}.hero .identity em{color:var(--fg);font-style:normal;position:relative}.hero .identity em:after{content:"";background:var(--bg-soft);z-index:-1;height:.32em;position:absolute;bottom:.04em;left:0;right:0}.intro{max-width:640px;color:var(--fg);margin:56px 0 80px;font-size:14px;line-height:1.7}.intro p{margin:0 0 14px}.intro p:last-child{margin-bottom:0}.intro .prompt{color:var(--fg-dim);-webkit-user-select:none;user-select:none;margin-right:8px}.section-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin:80px 0 24px;padding-bottom:10px;display:flex}.section-h h2{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:13px;font-weight:600}.section-h .count{color:var(--fg-dim);font-variant-numeric:tabular-nums;font-size:12px}.projects{flex-direction:column;gap:0;display:flex}.project{border-top:1px solid var(--line-soft);cursor:pointer;grid-template-columns:60px 1fr 220px 80px;align-items:center;padding:22px 0;transition:padding-left .25s,color .15s;display:grid;position:relative}.project:hover:not(.expanded){padding-left:16px}.project:hover:not(.expanded) .project-title{letter-spacing:.005em}.project:hover:not(.expanded) .project-arrow{opacity:1;transform:translate(4px)}.project .project-num{color:var(--fg-dim);font-variant-numeric:tabular-nums;font-size:12px}.project .project-title{letter-spacing:-.01em;font-size:22px;font-weight:500;transition:letter-spacing .2s}.project .project-title .blurb{color:var(--fg-muted);letter-spacing:0;margin-top:4px;font-size:13px;font-weight:400;display:block}.project .project-meta{color:var(--fg-muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.project .project-meta span{border:1px solid var(--line);border-radius:999px;padding:2px 8px}.project .project-arrow{text-align:right;opacity:.4;font-size:18px;transition:transform .2s,opacity .2s}.project.expanded{background:var(--bg-soft);padding-left:24px;padding-right:24px}.project-detail{color:var(--fg-muted);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:28px;padding:20px 0 8px;font-size:13px;line-height:1.65;animation:.25s fadein;display:grid}.project-detail .ascii-frame{max-width:320px}.project-screenshot{border:1px solid var(--line);width:100%;max-width:480px;display:block}.project-coming-soon{border:1px solid var(--line);width:100%;max-width:480px;height:160px;color:var(--fg-dim);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;font-size:12px;display:flex}.project-links{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.project-link{color:var(--fg);border:1px solid var(--line);letter-spacing:.03em;padding:4px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.project-link:hover{background:var(--fg);color:var(--bg)}.project-link.disabled{color:var(--fg-dim);border-color:var(--line);cursor:default}.spotify-btn{border:1px solid var(--line);color:var(--fg);font-family:var(--mono);cursor:pointer;letter-spacing:.03em;background:0 0;align-items:center;padding:5px 12px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.spotify-btn:hover{background:var(--fg);color:var(--bg)}.spotify-btn.small{color:var(--fg-dim);border-color:var(--line-soft);padding:3px 9px;font-size:11px}.spotify-btn.small:hover{background:var(--fg);color:var(--bg)}.spotify-btn:disabled{opacity:.5;cursor:default}@keyframes fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.foot{border-top:1px dashed var(--line);color:var(--fg-dim);justify-content:space-between;margin-top:80px;padding-top:24px;font-size:12px;display:flex}.foot .socials{gap:18px;display:flex}.foot .socials a:hover{color:var(--fg)}.foot .webring{align-items:center;gap:12px;display:flex}.foot .webring a{color:var(--fg-dim)}.foot .webring a:hover{color:var(--fg)}.vtoggle{letter-spacing:.1em;text-transform:uppercase;z-index:100;background:var(--bg);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:flex;position:fixed;bottom:20px;left:20px}.vtoggle button{color:var(--fg-dim);padding:2px 4px}.vtoggle button.active{color:var(--fg);font-weight:600}.vtoggle .switch{background:var(--fg);cursor:pointer;border-radius:999px;width:28px;height:16px;position:relative}.vtoggle .switch .knob{background:var(--bg);border-radius:50%;width:12px;height:12px;transition:left .2s;position:absolute;top:2px}.vtoggle.v2 .switch .knob{left:14px}.vtoggle.v1 .switch .knob{left:2px}.ascii-frame{background:var(--bg);border:1px solid var(--line);line-height:1;display:inline-block;position:relative;overflow:hidden}.ascii-frame pre{font-family:var(--mono);font-size:var(--ascii-size);line-height:var(--ascii-size);letter-spacing:0;white-space:pre;color:var(--fg);-webkit-user-select:none;user-select:none;margin:0;transition:opacity .35s,filter .35s}.ascii-frame .reveal{opacity:0;pointer-events:none;background-position:50%;background-size:cover;transition:opacity .35s;position:absolute;inset:0}.ascii-frame:hover .reveal{opacity:1}.ascii-frame:hover pre{opacity:0;filter:blur(2px)}.ascii-frame .default-img{opacity:1;pointer-events:none;background-position:50%;background-size:cover;transition:opacity .35s;position:absolute;inset:0}.ascii-frame.has-default pre,.ascii-frame.has-default:hover .default-img{opacity:0}.ascii-frame.has-default:hover pre{opacity:0;filter:none}.ascii-frame .caption{color:var(--fg-dim);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);border:1px solid var(--line);padding:2px 6px;font-size:10px;position:absolute;bottom:6px;left:8px}.ascii-frame:hover .caption{background:#ffffffd9}.dino-game{margin:8px 0 4px}.dino-game canvas{width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line);background:var(--bg);cursor:pointer;display:block}.dino-meta{color:var(--fg-dim);letter-spacing:.02em;justify-content:space-between;gap:12px;margin-top:5px;font-size:11px;display:flex}.about-grid{grid-template-columns:1fr;gap:0;display:grid}.about-section{border-top:1px solid var(--line-soft);padding:56px 0}.about-section:first-child{border-top:none;padding-top:0}.about-section h3{text-transform:uppercase;letter-spacing:.18em;color:var(--fg);align-items:center;gap:14px;margin:0 0 32px;font-size:13px;font-weight:600;display:flex}.about-section h3:before{content:"##";color:var(--fg-dim);font-weight:400}.about-section h3:after{content:"";background:var(--line);flex:1;height:1px}.about-hi{grid-template-columns:1fr 340px;align-items:start;gap:48px;display:grid}.about-hi .bio{max-width:560px;font-size:15px;line-height:1.75}.about-hi .bio h1{letter-spacing:-.025em;margin:0 0 20px;font-size:40px;font-weight:700;line-height:1.1}.about-hi .bio p{color:var(--fg);margin:0 0 14px}.about-hi .bio p.muted{color:var(--fg-muted)}.about-hi .portrait{width:340px}.about-hi .portrait .ascii-frame pre{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--fg);font-size:1.2px;line-height:1.1}.timeline{flex-direction:column;gap:0;display:flex}.exp{border-top:1px solid var(--line-soft);grid-template-columns:170px 1fr;gap:24px;padding:18px 0;display:grid}.exp:first-child{border-top:none;padding-top:0}.exp .when{color:var(--fg-dim);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.exp .what{flex-direction:column;gap:4px;display:flex}.exp .what .role{letter-spacing:-.005em;font-size:16px;font-weight:600}.exp .what .org{color:var(--fg-muted);font-size:13px}.exp .what .blurb{color:var(--fg);max-width:620px;margin-top:6px;font-size:13px;line-height:1.6}.community{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.community .card{border:1px solid var(--line);flex-direction:column;gap:6px;padding:18px 20px;transition:background .15s;display:flex}.community .card:hover{background:var(--bg-soft)}.community .card .role{font-size:15px;font-weight:600}.community .card .org{color:var(--fg-muted);font-size:12px}.community .card .blurb{color:var(--fg-muted);margin-top:6px;font-size:12px;line-height:1.6}.ram{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.ram .col{border-left:1px solid var(--line-soft);padding:0 24px}.ram .col:first-child{border-left:none;padding-left:0}.ram .col h4{letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:8px;margin:0 0 16px;font-size:11px;font-weight:600;display:flex}.ram .col h4:before{content:">";color:var(--fg)}.ram .col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ram .col li{font-size:13px;line-height:1.5}.ram .col li .t{font-weight:600}.ram .col li .s{color:var(--fg-muted);font-size:12px;display:block}.lore-grid .ascii-frame .reveal{opacity:0}.lore-grid .ascii-frame pre{opacity:1;pointer-events:none}.lore-grid .ascii-frame:hover .reveal{opacity:1}.lore-grid .ascii-frame:hover pre{opacity:0;filter:blur(2px)}.lore-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.lore-grid .ascii-frame{aspect-ratio:3/2;z-index:0;width:100%;transition:transform .25s;overflow:hidden;container-type:inline-size}.lore-grid .ascii-frame.wide{aspect-ratio:3;grid-column:span 2}.lore-grid .ascii-frame pre{font-size:var(--ascii-size);white-space:pre;transform-origin:0 0;line-height:1;position:absolute;top:0;left:0}.lore-grid .ascii-frame:hover{z-index:10;transform:scale(1.06)}.v1-shell{color:#222;min-height:100vh;font-family:var(--mono);background:#ededed;padding:60px 80px;font-size:13px}.v1-shell .v1-top{justify-content:space-between;align-items:center;margin-bottom:60px;display:flex}.v1-shell h1{margin:0 0 24px;font-size:28px;font-weight:700}.v1-shell p{max-width:560px;line-height:1.7}.v1-shell .stamp{color:#ededed;letter-spacing:.2em;text-transform:uppercase;background:#222;padding:4px 12px;font-size:11px;position:fixed;top:20px;left:50%;transform:translate(-50%)rotate(-2deg)}.theme-toggle{border:1px solid var(--line);width:26px;height:26px;color:var(--fg-muted);justify-content:center;align-self:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.theme-toggle svg{width:14px;height:14px;display:block}.settings-panel{background:var(--bg);border:1px solid var(--line);z-index:1000;border-radius:10px;flex-direction:column;gap:12px;width:260px;padding:14px 16px;display:flex;box-shadow:0 4px 20px #0000001a}.settings-panel--topright{position:fixed;top:56px;right:20px}.settings-header{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);justify-content:space-between;align-items:center;font-size:11px;display:flex}.settings-close{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.settings-close:hover{color:var(--fg)}.settings-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-label{color:var(--fg-muted);letter-spacing:.04em;white-space:nowrap;font-size:11px}.settings-seg{background:var(--bg-alt,var(--bg));border:1px solid var(--line);border-radius:6px;gap:2px;padding:2px;display:flex}.settings-seg button{font-size:10px;font-family:var(--mono);color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 7px;transition:background .12s,color .12s}.settings-seg button.active{background:var(--fg);color:var(--bg)}.settings-select{background:var(--bg);border:1px solid var(--line);font-size:11px;font-family:var(--mono);color:var(--fg);cursor:pointer;border-radius:6px;flex:1;min-width:0;padding:4px 8px}.settings-divider{background:var(--line);height:1px;margin:2px 0}.settings-changelog-toggle{letter-spacing:.04em;width:100%;color:var(--fg-muted);cursor:pointer;justify-content:space-between;align-items:center;font-size:11px;display:flex}.settings-changelog-toggle:hover{color:var(--fg)}.settings-changelog{max-height:240px;padding-right:4px;overflow-y:auto}.changelog{flex-direction:column;gap:14px;display:flex}.changelog-entry{flex-direction:column;gap:5px;display:flex}.changelog-head{align-items:baseline;gap:8px;display:flex}.changelog-ver{color:var(--fg);font-size:12px;font-weight:600}.changelog-date{color:var(--fg-dim);letter-spacing:.04em;font-size:10px}.changelog-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.changelog-list li{color:var(--fg-muted);padding-left:14px;font-size:11px;line-height:1.5;position:relative}.changelog-list li:before{content:"–";color:var(--fg-dim);position:absolute;left:0}.bottom-buttons{z-index:900;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.term-launch{z-index:1;background:var(--bg);border:1px solid var(--fg-dim);letter-spacing:.06em;color:var(--fg-muted);border-radius:12px;align-items:center;gap:8px;padding:11px 20px;font-size:11px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;bottom:auto;right:auto;box-shadow:0 2px 8px #0000001a}.term-launch:hover{color:var(--fg);border-color:var(--fg);box-shadow:0 4px 12px #00000029}.term-launch .glyph{color:var(--fg);font-weight:700}.term-launch .kbd{border:1px solid var(--line);color:var(--fg-dim);border-radius:4px;padding:1px 6px;font-size:10px}.term-win{background:var(--bg);border:1px solid var(--fg);z-index:1000;resize:both;flex-direction:column;width:580px;min-width:320px;height:360px;min-height:200px;animation:.16s cubic-bezier(.2,.8,.2,1) termpop;display:flex;position:fixed;overflow:auto;box-shadow:0 24px 60px #00000038}@keyframes termpop{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:none}}.term-bar{border-bottom:1px solid var(--line);color:var(--fg-dim);letter-spacing:.04em;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;padding:9px 13px;font-size:11px;display:flex}.term-bar.dragging{cursor:grabbing}.term-close{color:var(--fg);margin-left:4px;padding:4px 6px;font-size:16px;line-height:1;display:none}.term-bar .lights{gap:6px;margin-right:4px;display:flex}.term-bar .lights span{border:1px solid var(--fg-dim);border-radius:50%;width:9px;height:9px}.term-bar .title{flex:1}.term-bar .hint{color:var(--fg-dim)}.term-bar .hint .kbd{border:1px solid var(--line);border-radius:3px;margin-left:2px;padding:0 5px}.term-body{flex:1 1 0;padding:14px 16px;font-size:13px;line-height:1.55;overflow-y:auto}.term-line{white-space:pre-wrap;word-break:break-word}.term-line.cmd{color:var(--fg)}.term-line.cmd .ps{color:var(--fg-dim);-webkit-user-select:none;user-select:none;margin-right:8px}.term-line.out{color:var(--fg-muted)}.term-line.err{color:var(--fg)}.term-line.err:before{content:"✗ "}.term-line.ok{color:var(--fg)}.term-line.ok:before{content:"✓ "}.term-line .accent{color:var(--fg);font-weight:600}.term-block{margin:4px 0 10px}.term-cols{grid-template-columns:max-content 1fr;gap:2px 14px;display:grid}.term-cols .k{color:var(--fg);white-space:nowrap}.term-cols .v{color:var(--fg-muted)}.term-inputrow{border-top:1px solid var(--line);flex-shrink:0;align-items:center;padding:12px 16px;display:flex;position:relative}.term-inputrow .ps{color:var(--fg);-webkit-user-select:none;user-select:none;margin-right:8px;font-weight:600}.term-inputwrap{flex:1;display:flex;position:relative}.term-input{width:100%;color:var(--fg);font:inherit;caret-color:var(--fg);z-index:2;background:0 0;border:none;outline:none;position:relative}.term-ghost{pointer-events:none;color:var(--fg-dim);z-index:1;white-space:pre;position:absolute;top:0;left:0}.term-ghost .typed{color:#0000}.term-ghost .tabhint{border:1px solid var(--line);color:var(--fg-dim);border-radius:3px;margin-left:10px;padding:0 5px;font-size:10px}@media (max-width:760px){.shell{padding:20px 22px 80px}.term-launch .kbd,.term-launch span:not(.glyph):not(.kbd){display:none}.about-hi{grid-template-columns:1fr}.ram{grid-template-columns:1fr;gap:24px}.ram .col{border-left:none;padding:0}.lore-grid{grid-template-columns:repeat(2,1fr)}.project{grid-template-columns:36px 1fr 60px}.project .project-meta{display:none}.exp{grid-template-columns:1fr;gap:4px}.community{grid-template-columns:1fr}.term-win{transform:translateY(var(--term-top,0px));resize:none;min-width:0;max-width:none;min-height:0;box-shadow:none;border-width:0;border-radius:0;width:100%!important;height:var(--term-h,100%)!important;inset:0!important}.term-bar{cursor:default}.term-bar .hint{display:none}.term-close{display:block}.nav-burger{display:inline-flex}.nav{background:var(--bg);border:1px solid var(--line);z-index:950;flex-direction:column;align-items:flex-start;gap:18px;min-width:150px;padding:16px 18px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.nav.open{display:flex}.nav button.active:after{bottom:-3px}.nav a,.nav .theme-toggle{align-self:flex-start!important}.foot{text-align:center;flex-direction:column;align-items:center;gap:14px}.foot .webring,.foot .socials{justify-content:center}.project-detail{grid-template-columns:1fr}}
