@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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.0dza.stei.9v7.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.03nf~dfjdkf~..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.0gfhww.tctz1o.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.09q3q1i5159bl.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.1409xf.ylxg8g.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_eb534a50-module__kKEaQG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_eb534a50-module__kKEaQG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@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_e75932e0-module__T2yeWW__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_e75932e0-module__T2yeWW__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;font-display:swap;src:url(../media/6fcea7c134f77b9c-s.0fe4cm~exteeh.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:italic;font-weight:300;font-display:swap;src:url(../media/fc9ff45e7db276e6-s.0nzrhene48~up.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:italic;font-weight:300;font-display:swap;src:url(../media/eb0c5870d77757e2-s.0nkjxk~q~gq99.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:italic;font-weight:300;font-display:swap;src:url(../media/b034a21f3b57f1a3-s.0ngop4wcr7qiu.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:italic;font-weight:300;font-display:swap;src:url(../media/53cb5b17add74ab8-s.p.0.dxp7np75qz8.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:italic;font-weight:400;font-display:swap;src:url(../media/3e29d6c8df211d66-s.0s54-9j8fqoaz.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:italic;font-weight:400;font-display:swap;src:url(../media/2956efe007516702-s.0osx2brc3z96o.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:italic;font-weight:400;font-display:swap;src:url(../media/658fb2a9c2a0ea5d-s.0do1o-n_dmm3f.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:italic;font-weight:400;font-display:swap;src:url(../media/7c125d9da13f978a-s.03gs.40dtl4ho.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:italic;font-weight:400;font-display:swap;src:url(../media/a46a75cfd765634f-s.p.05w.dojgtyxj~.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:italic;font-weight:500;font-display:swap;src:url(../media/c752d4f65d3e00e0-s.006uzf-gzuf5l.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:italic;font-weight:500;font-display:swap;src:url(../media/151f074d78c0031d-s.0hdqp.ao76ew_.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:italic;font-weight:500;font-display:swap;src:url(../media/3ee1b1187b5e60bc-s.0o3xiofc54cuk.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:italic;font-weight:500;font-display:swap;src:url(../media/ecc49aa4bef31f74-s.0b09bhu34_n_x.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:italic;font-weight:500;font-display:swap;src:url(../media/21c1dee959b18079-s.p.07jqaw7268ozj.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:italic;font-weight:600;font-display:swap;src:url(../media/6a793dba767aa497-s.0w_k.lkp_pqj6.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:italic;font-weight:600;font-display:swap;src:url(../media/cf54ce4ee2f7915c-s.16e4nux6or3il.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:italic;font-weight:600;font-display:swap;src:url(../media/bb1a7daf057744c1-s.0.7tm11uf-kr2.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:italic;font-weight:600;font-display:swap;src:url(../media/eb34f5373173429c-s.0hpya677b0oli.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:italic;font-weight:600;font-display:swap;src:url(../media/cb74272c1a4b1482-s.p.0hx--h4h8.no_.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:italic;font-weight:700;font-display:swap;src:url(../media/ad21f0acf5c10a61-s.0592eo-fkdaj2.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:italic;font-weight:700;font-display:swap;src:url(../media/bb9b18854658c251-s.0k_rat210_nbg.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:italic;font-weight:700;font-display:swap;src:url(../media/397c48bdc865c14c-s.0ee3enapqx.hn.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:italic;font-weight:700;font-display:swap;src:url(../media/e7a7eeb0f3bf0de1-s.0h4n41nd67.ho.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:italic;font-weight:700;font-display:swap;src:url(../media/60ec66547305f91a-s.p.00ahgohlisko0.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:300;font-display:swap;src:url(../media/43fa41482cbf5ee5-s.0~btz4rqmgych.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.0.5.ezl_0i0ce.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.06sjesqvmxwcw.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.0cign27nilu.e.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.17tf8b5td.v-i.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.08hd0g.321csk.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.0x08jh8vondwt.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.0~wrfy7sm-h4g.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.0k_.i63k_i_qa.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.16-z~2sp29ex6.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.0m9hhkgdlzukj.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.0juuwbcf7uz~t.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.0qg7j5o.yrclm.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.0hkrq11n-dhos.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.07ig5l8azj~hy.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.0_n_qwbzcushi.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.07r2ragk8ph~z.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.0787d67~10694.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.0dgq8lqrj3gc_.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.0o14nraug8u5s.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.0l86rvwdd07jt.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.0-bj-4.3jk9zi.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.169mj0m4oygmx.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.072srq0~jhoqa.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.15mmg7gamto4l.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_919bd104-module__v7udOW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback}.ibm_plex_mono_919bd104-module__v7udOW__variable{--font-ibm-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b6a3ba25a63ffdc2-s.15ohl7e77t946.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 Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/c46d9efd5b21dbaa-s.05wsi7y..0-zn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6308822089fd3411-s.0gpf~ipgyub9r.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 Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/ff4d9f8b7294524b-s.07f3ikk4yi_cj.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 Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0e64cfb82a47c250-s.p.0ifiqyzdok2k..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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/79d9db89a59a83fa-s.00t13ga90sieb.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/11705a6cc6a37f59-s.0i8u8rm4-rxel.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/221a7ef2b9efbaad-s.15v8us89x~07t.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/730055c84ed23e9d-s.0c8d635zbe~1j.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b02a479d288d97d4-s.p.06_fqbhf6hhmd.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 Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/15c09482df909879-s.14blccx~bbv97.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 Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/60bfa20ba60b1b5d-s.10-.hy4h~y_2m.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/6cf6eaf2cf9795dc-s.0ckzt6-otdf3v.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 Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3a7d6c5ab4b67497-s.0twqk6vvna2vh.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 Serif;font-style:italic;font-weight:600;font-display:swap;src:url(../media/374bfedbce52fcde-s.p.0iml90u_clsy3.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 Serif;font-style:italic;font-weight:700;font-display:swap;src:url(../media/4ff2e957432947c2-s.04trxiqd3s4zm.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 Serif;font-style:italic;font-weight:700;font-display:swap;src:url(../media/c6f30c8b4f2ddcab-s.0bnebgfev7wxy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:700;font-display:swap;src:url(../media/05b8fb8103ef7753-s.082qjmucbw~vu.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 Serif;font-style:italic;font-weight:700;font-display:swap;src:url(../media/f12ec6d2fd88dee2-s.04~-1ta0uzdbm.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 Serif;font-style:italic;font-weight:700;font-display:swap;src:url(../media/10db712d90c20090-s.p.13_3c2t78stlt.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f49c72243bdcede-s.02n~ovut9q.eh.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2797aaeec05c026-s.0heuz94e2xu-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3baf9375001c1f5-s.0pgow3hyiaf3k.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9096fd5f49bfad97-s.0wnpx~ncnbwem.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 Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef7be03ed7e60a63-s.p.14o~5h-2n.9~4.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4bd7aa058bc96e4f-s.15bgzjziiwxor.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0bd78c1bd4dfd4c7-s.131wlma90crvu.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/197b82234d448be7-s.15ua0zfd806~o.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/79050e547acec5d8-s.10902ftf82jy~.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 Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/522cd826f2dc0be6-s.p.0n2990xzhyidg.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/be04ef6d3831928d-s.0o4ka-p93aw.5.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/690c9e92a92dc3ad-s.0hqurtsn5_f~5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bd1c8a16898c933f-s.0lp.-olc331pf.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c63a115de3206da5-s.17ey1u~4-vz6b.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 Serif;font-style:normal;font-weight:600;font-display:swap;src:url(../media/713e82fa9fe87496-s.p.08fj0~_8shb3u.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 Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dbde2f8f30101ad5-s.0yj~nmf1k1wsd.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 Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3458ec625a68754e-s.0gbbo479ko04r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bcf81e271d3e6abb-s.01vai8fj1ya.z.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 Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b9126928ffb46be5-s.16hq-3ewj6jv8.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 Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/97f7e3833b6cf3b1-s.p.10qtomfsgntaz.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 Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_25d4f6fd-module__Iv57rW__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback}.ibm_plex_serif_25d4f6fd-module__Iv57rW__variable{--font-ibm-serif:"IBM Plex Serif", "IBM Plex Serif Fallback"}
:root{--bg:#ecedf0;--ink:#0d1117;--accent:#2960e6;--paper:color-mix(in oklab, var(--bg), var(--ink) 3%);--bg-deep:color-mix(in oklab, var(--bg), var(--ink) 8%);--ink-soft:color-mix(in oklab, var(--ink), var(--bg) 12%);--mute:color-mix(in oklab, var(--ink), var(--bg) 42%);--mute-2:color-mix(in oklab, var(--ink), var(--bg) 45%);--line:color-mix(in oklab, var(--bg), var(--ink) 14%);--line-strong:color-mix(in oklab, var(--bg), var(--ink) 28%);--highlight:color-mix(in oklab, var(--accent), transparent 70%);--good:color-mix(in oklab, var(--accent), var(--ink) 25%);--accent-deep:color-mix(in oklab, var(--accent), var(--ink) 35%);--mono:"JetBrains Mono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--serif:"Instrument Serif", "Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-size:15px;line-height:1.55}body{overflow-x:hidden}a{color:inherit}body.custom-cursor,body.custom-cursor *{cursor:none}a,button,.cta,.cat-pill{cursor:pointer}.chip,.project-card{cursor:grab}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;mix-blend-mode:multiply;will-change:transform;position:fixed;top:0;left:0}.cursor-dot{background:var(--ink);border-radius:50%;width:8px;height:8px;transition:width .2s,height .2s,background .2s;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid var(--ink);border-radius:50%;width:36px;height:36px;transition:width .25s,height .25s,border-color .25s,border-radius .25s;transform:translate(-50%,-50%)}.cursor-ring.hover{border-color:var(--accent);width:56px;height:56px}.cursor-ring.drag{border-color:var(--accent);border-radius:6px;width:28px;height:28px}.cursor-label{pointer-events:none;z-index:9999;background:var(--ink);color:var(--paper);font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:0;white-space:nowrap;border-radius:4px;padding:5px 8px;transition:opacity .15s;position:fixed;transform:translate(14px,14px)}.cursor-label.show{opacity:1}@media (hover:none){body{cursor:auto}.cursor-dot,.cursor-ring,.cursor-label{display:none}}.grid-bg{pointer-events:none;background-image:linear-gradient(to right, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--ink) 5%, transparent) 1px, transparent 1px);z-index:0;background-size:80px 80px;position:fixed;inset:0}.app{z-index:1;position:relative}.section{max-width:1440px;margin:0 auto;padding:120px 64px;position:relative}.section-tag{color:var(--mute);letter-spacing:.04em;align-items:center;gap:10px;margin-bottom:32px;font-size:12px;display:inline-flex}.section-tag:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent), transparent 85%);border-radius:50%}.topbar{z-index:100;letter-spacing:.04em;color:var(--mute);background:linear-gradient(to bottom, var(--bg) 70%, transparent);pointer-events:none;justify-content:space-between;align-items:center;padding:14px 28px;font-size:11px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar-left,.topbar-right{align-items:center;gap:20px;display:flex}.topbar .blink{background:var(--good);border-radius:50%;width:7px;height:7px;animation:1.4s infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.2}}.topbar nav{gap:18px;display:flex}.topbar nav a{color:var(--mute);text-decoration:none;transition:color .2s}.topbar nav a:hover,.topbar nav a.active{color:var(--ink)}.topbar nav a.active span.num{color:var(--accent)}.topbar nav a span.num{color:var(--mute-2);margin-right:4px}.reveal{opacity:0;transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal-1{transition-delay:50ms}.reveal-2{transition-delay:.15s}.reveal-3{transition-delay:.25s}.reveal-4{transition-delay:.35s}.hero{flex-direction:column;justify-content:center;max-width:1440px;min-height:100dvh;margin:0 auto;padding:120px 64px 80px;display:flex;position:relative}.term-prompt{color:var(--mute);align-items:center;gap:12px;margin-bottom:32px;font-size:13px;display:flex}.term-prompt .who{color:var(--accent)}.term-prompt .caret{background:var(--ink);vertical-align:middle;width:9px;height:16px;margin-left:4px;animation:1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.hero h1{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(72px,11vw,168px);font-weight:500;line-height:.92}.hero h1 .accent{color:var(--accent);font-style:italic;font-family:var(--serif);font-weight:400}.hero-sub{grid-template-columns:1.2fr 1fr;align-items:end;gap:80px;margin-top:56px;display:grid}.hero-pitch{color:var(--ink-soft);max-width:540px;font-size:22px;font-weight:400;line-height:1.4}.hero-pitch em{font-family:var(--serif);color:var(--accent);font-size:1.15em;font-style:italic;font-weight:400}.hero-meta{color:var(--mute);border-left:1px solid var(--line);flex-direction:column;gap:8px;padding-left:24px;font-size:12px;display:flex}.hero-meta .row{justify-content:space-between;gap:24px;padding:4px 0;display:flex}.hero-meta .row .k{color:var(--mute-2)}.hero-meta .row .v{color:var(--ink)}.hero-meta .row .v .dot{background:var(--good);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.scroll-hint{color:var(--mute-2);letter-spacing:.06em;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:32px;left:64px}.scroll-hint:after{content:"";background:var(--line-strong);transform-origin:0;width:40px;height:1px;animation:1.6s ease-in-out infinite scroll-line}@keyframes scroll-line{0%,to{transform:scaleX(.4)}50%{transform:scaleX(1)}}.about-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:80px;display:grid}.about-side{color:var(--mute);font-size:13px;position:sticky;top:100px}.about-portrait{aspect-ratio:4/5;background:var(--bg-deep);border:1px solid var(--line);border-radius:14px;width:100%;margin-bottom:24px;overflow:hidden}.about-portrait img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.about-portrait:hover img{transform:scale(1.04)}.about-side h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 14px;font-size:11px;font-weight:600}.about-side ul{margin:0 0 28px;padding:0;list-style:none}.about-side li{border-bottom:1px dashed var(--line);justify-content:space-between;padding:6px 0;display:flex}.about-side li .k{color:var(--mute-2)}.about-side li .v{color:var(--ink)}.about-body{color:var(--ink-soft);max-width:720px;font-size:24px;line-height:1.5}.about-body p{margin:0 0 24px}.about-body em{font-family:var(--serif);color:var(--accent);font-size:1.08em;font-style:italic}.about-body strong{background:linear-gradient(to bottom, transparent 60%, var(--highlight) 60%, var(--highlight) 90%, transparent 90%);font-weight:500}.about-body .keyword{color:var(--accent);font-weight:500}.skills-wrap{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.skill-group{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;transition:border-color .3s,box-shadow .3s;position:relative}.skill-group:hover{border-color:var(--line-strong);box-shadow:0 8px 30px -12px color-mix(in oklab, var(--ink), transparent 88%)}.skill-group h4{letter-spacing:.02em;align-items:center;gap:10px;margin:0 0 4px;font-size:13px;font-weight:600;display:flex}.skill-group h4 .ico{width:22px;height:22px;color:var(--accent);border:1px solid var(--line-strong);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:inline-flex}.skill-group .group-hint{color:var(--mute-2);margin-bottom:16px;font-size:11px}.chips{flex-wrap:wrap;gap:8px;min-height:40px;display:flex}.chip{background:var(--bg);border:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:500;transition:transform .15s,background .2s,border-color .2s,box-shadow .15s;display:inline-flex;position:relative}.chip-ico{pointer-events:none;flex-shrink:0;width:14px;height:14px}.chip:hover{border-color:var(--ink);background:var(--paper);transform:translateY(-1px)}.chip.dragging{background:var(--ink);color:var(--paper);border-color:var(--ink);z-index:10;cursor:grabbing;box-shadow:0 10px 30px -8px color-mix(in oklab, var(--ink), transparent 60%);transform:scale(1.08)rotate(-2deg)}.chip.featured{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.featured .chip-ico,.chip.dragging .chip-ico{color:var(--paper)!important}.chip .pin{background:var(--accent);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:6px;display:inline-block}.skill-tip{color:var(--mute-2);letter-spacing:.04em;align-items:center;gap:6px;margin-top:18px;font-size:11px;display:flex}.projects-head{justify-content:space-between;align-items:flex-end;margin-bottom:48px;display:flex}.projects-head h2{letter-spacing:-.03em;max-width:800px;margin:0;font-size:clamp(48px,6.5vw,96px);font-weight:500;line-height:.95}.projects-head h2 em{font-family:var(--serif);color:var(--accent);font-style:italic;font-weight:400}.projects-meta{text-align:right;color:var(--mute);min-width:220px;font-size:12px;line-height:1.6}.projects-meta .count{color:var(--ink);font-size:56px;font-weight:300;line-height:1;font-family:var(--serif);font-style:italic}.projects-grid{grid-template-columns:repeat(6,1fr);gap:20px;display:grid;position:relative}.project-card{background:var(--paper);border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:16px;flex-direction:column;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--ink);box-shadow:0 30px 60px -25px color-mix(in oklab, var(--ink), transparent 75%);transform:translateY(-4px)}.project-card.dragging{cursor:grabbing;z-index:100;box-shadow:0 40px 80px -20px color-mix(in oklab, var(--ink), transparent 55%);border-color:var(--accent);transform:scale(1.03)rotate(-1deg)}.project-card.is-placeholder{background:color-mix(in oklab, var(--accent), transparent 92%);border:2px dashed color-mix(in oklab, var(--accent), transparent 45%);box-shadow:none;cursor:default}.project-card .thumb{aspect-ratio:4/3;background:var(--bg-deep);position:relative;overflow:hidden}.project-card.tone-accent .thumb{background:color-mix(in oklab, var(--accent), var(--bg) 78%)}.project-card.tone-ink .thumb{background:color-mix(in oklab, var(--ink), var(--bg) 85%)}.project-card .thumb-img{object-fit:cover;z-index:1;filter:saturate(.92);width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s;display:block;position:absolute;inset:0}.project-card:hover .thumb-img{filter:saturate();transform:scale(1.05)}.project-card .thumb-overlay{display:none}.project-card .thumb-inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card.pat-grid .thumb-inner{background-image:linear-gradient(to right, color-mix(in oklab, var(--ink) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--ink) 10%, transparent) 1px, transparent 1px);background-size:22px 22px}.project-card.pat-dots .thumb-inner{background-image:radial-gradient(color-mix(in oklab, var(--ink) 18%, transparent) 1.5px, transparent 1.5px);background-size:16px 16px}.project-card.pat-lines .thumb-inner{background:repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in oklab, var(--ink) 10%, transparent) 14px 15px)}.project-card .glyph{color:var(--ink);opacity:.9;letter-spacing:-.05em;font-size:64px;font-weight:500}.project-card.tone-accent .glyph{color:var(--accent);opacity:1}.project-card.tone-ink .glyph{color:var(--ink);opacity:.95}.project-card .corner-tag{letter-spacing:.06em;color:var(--ink);background:color-mix(in oklab, var(--bg), white 8%);border:1px solid var(--line);z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:500;position:absolute;top:12px;left:12px}.project-card .corner-link{background:var(--ink);width:32px;height:32px;color:var(--bg);opacity:0;pointer-events:none;z-index:3;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:opacity .25s,transform .25s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;bottom:14px;right:14px;transform:translateY(8px)}.project-card.has-url:hover .corner-link{opacity:1;transform:translateY(0)}.cat-filter{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.cat-pill{font-family:var(--mono);border:1px solid var(--line);color:var(--mute);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.cat-pill:hover{border-color:var(--ink);color:var(--ink)}.cat-pill.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.cat-pill .cat-count{opacity:.65;font-variant-numeric:tabular-nums;font-size:10px}.project-card .corner-num{color:var(--mute-2);font-variant-numeric:tabular-nums;z-index:3;background:color-mix(in oklab, var(--bg), transparent 30%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:4px 8px;font-size:10px;position:absolute;top:12px;right:12px}.project-card .info{flex-direction:column;flex:1;gap:6px;padding:18px 20px 20px;display:flex}.project-card h3{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:500}.project-card .role{color:var(--mute);letter-spacing:.04em;font-size:11px}.project-card .stack{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px;display:flex}.project-card .stack span{letter-spacing:.04em;color:var(--mute);background:var(--bg-deep);border-radius:4px;padding:3px 7px;font-size:10px}.project-card.size-lg{grid-column:span 4}.project-card.size-md{grid-column:span 3}.project-card.size-sm{grid-column:span 2}.project-card.size-lg .thumb{aspect-ratio:16/9}.project-card.size-md .thumb{aspect-ratio:4/3}.project-card.size-sm .thumb{aspect-ratio:1}.project-card.size-lg .glyph{font-size:96px}.footer{text-align:center;max-width:1440px;margin:0 auto;padding:120px 64px 80px}.footer-rule{background:var(--line);height:1px;margin-bottom:80px;position:relative}.footer-rule:after{content:"$ ./goodbye.sh";background:var(--bg);color:var(--mute-2);padding:0 16px;font-size:11px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.footer h2{letter-spacing:-.04em;margin:0 0 32px;font-size:clamp(56px,8vw,128px);font-weight:500;line-height:.95}.footer h2 em{font-family:var(--serif);color:var(--accent);font-style:italic;font-weight:400}.footer-pitch{color:var(--mute);max-width:540px;margin:0 auto 56px;font-size:18px;line-height:1.5}.cta-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.cta{background:var(--ink);color:var(--paper);letter-spacing:.01em;border:1px solid var(--ink);border-radius:999px;align-items:center;gap:12px;padding:18px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s,background .2s,gap .2s;display:inline-flex}.cta:hover{background:var(--accent-deep);border-color:var(--accent-deep);gap:18px}.cta.ghost{color:var(--ink);border-color:var(--ink);background:0 0}.cta.ghost:hover{background:var(--ink);color:var(--paper);gap:18px}.cta .arrow{transition:transform .2s;display:inline-block}.cta:hover .arrow{transform:translate(2px)}.footer-bottom{color:var(--mute-2);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:80px;padding-top:24px;font-size:11px;display:flex}.footer-bottom a{color:var(--mute);margin-right:16px;text-decoration:none;transition:color .2s}.footer-bottom a:hover{color:var(--accent)}.footer-socials{align-items:center;gap:6px;display:flex}.footer-socials a{border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;margin:0;transition:background .2s,transform .2s;display:inline-flex}.footer-socials a:hover{background:var(--paper);transform:translateY(-2px)}.footer-socials svg{pointer-events:none;width:18px;height:18px}body[data-font=mono-serif]{--mono:"JetBrains Mono", ui-monospace, monospace;--serif:"Instrument Serif", Georgia, serif}body[data-font=ibm-plex]{--mono:"IBM Plex Mono", ui-monospace, monospace;--serif:"IBM Plex Serif", Georgia, serif}body[data-font=geist]{--mono:"Geist Mono", ui-monospace, monospace;--serif:"Fraunces", Georgia, serif}body[data-font=space-mono]{--mono:"Space Mono", ui-monospace, monospace;--serif:"DM Serif Display", Georgia, serif}body[data-font=fira]{--mono:"Fira Code", ui-monospace, monospace;--serif:"Crimson Pro", Georgia, serif}body[data-font=inter-sans]{--mono:"Inter", ui-sans-serif, sans-serif;--serif:"Instrument Serif", Georgia, serif}body[data-font=redacted]{--mono:"Redaction 35", ui-monospace, monospace;--serif:"Redaction", Georgia, serif}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);padding:18px 0;overflow:hidden}.marquee-track{white-space:nowrap;color:var(--mute);letter-spacing:.02em;gap:56px;font-size:14px;animation:40s linear infinite marquee;display:flex}.marquee-track span{align-items:center;gap:56px;display:inline-flex}.marquee-track span:after{content:"✦";color:var(--accent);font-size:10px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-card h3 a{color:inherit;text-decoration:none}.project-card h3 a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,.cta:focus-visible,.cat-pill:focus-visible,.chip:focus-visible,.project-card:focus-visible,.project-card h3 a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (pointer:coarse){.cat-pill{min-height:44px}.chip{align-items:center;min-height:40px;display:inline-flex}.topbar nav a{padding-block:10px}.footer-socials a{width:44px;height:44px}.project-card.has-url .corner-link{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.marquee-track{animation:none!important}}@media (max-width:1024px){.section{padding:100px 40px}.hero,.footer{padding:100px 40px 72px}.hero-sub,.about-grid{gap:48px}.projects-grid{grid-template-columns:repeat(4,1fr)}.project-card.size-lg{grid-column:span 4}.project-card.size-md,.project-card.size-sm{grid-column:span 2}}@media (max-width:768px){html,body{font-size:14px}.section{padding:72px 24px}.hero{min-height:auto;padding:96px 24px 56px}.footer{padding:72px 24px 56px}.topbar{padding:10px 16px}.topbar-left{display:none}.topbar nav{gap:14px}.topbar nav a span.num{display:none}.hero-sub{grid-template-columns:1fr;gap:36px;margin-top:40px}.hero-pitch{font-size:19px}.hero-meta{border-left:none;border-top:1px solid var(--line);padding-top:18px;padding-left:0}.scroll-hint{left:24px}.about-grid{grid-template-columns:1fr;gap:40px}.about-side{position:static;top:auto}.about-body{font-size:19px}.skills-wrap{grid-template-columns:1fr}.projects-head{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:36px}.projects-meta{text-align:left;min-width:0}.projects-grid{grid-template-columns:repeat(2,1fr);gap:14px}.project-card.size-lg,.project-card.size-md,.project-card.size-sm{grid-column:span 2}.project-card.size-lg .thumb{aspect-ratio:16/10}}@media (max-width:480px){.hero h1{font-size:clamp(44px,15vw,96px)}.projects-grid{grid-template-columns:1fr}.project-card.size-lg,.project-card.size-md,.project-card.size-sm{grid-column:span 1}.project-card.size-lg .thumb,.project-card.size-md .thumb{aspect-ratio:4/3}.cta-row{flex-direction:column}.cta{justify-content:center}.footer-bottom{text-align:center;flex-direction:column;gap:14px}}
