@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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/03bda585a99c6450-s.p.0glcd8n2pdab0.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%}.fraunces_d361c29d-module__5PBLiG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_d361c29d-module__5PBLiG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/952f0fd261157ce3-s.0vzeamdgr8mnv.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 Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/69169fb36b2bd6d2-s.3zk6zb2orfupy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.0odk6wthizbrk.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:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.3s9ulrnaxq5-5.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 Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/d9e1577adfc6a783-s.2usxhypzav_u-.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:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/37a1c0476297a605-s.p.3ega2vp4j9qoz.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 Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/952f0fd261157ce3-s.0vzeamdgr8mnv.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 Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/69169fb36b2bd6d2-s.3zk6zb2orfupy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.0odk6wthizbrk.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:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.3s9ulrnaxq5-5.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 Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/d9e1577adfc6a783-s.2usxhypzav_u-.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:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/37a1c0476297a605-s.p.3ega2vp4j9qoz.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 Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/952f0fd261157ce3-s.0vzeamdgr8mnv.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 Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/69169fb36b2bd6d2-s.3zk6zb2orfupy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.0odk6wthizbrk.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:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.3s9ulrnaxq5-5.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 Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/d9e1577adfc6a783-s.2usxhypzav_u-.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:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/37a1c0476297a605-s.p.3ega2vp4j9qoz.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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 Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_3dd8829c-module__cJAY-W__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback}.ibm_plex_sans_3dd8829c-module__cJAY-W__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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.3nkuoiize4urq.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.1da667lu-u79a.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.1i05ju5aeyhye.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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.31-2bzhq1gx_9.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.3xauquyg2sixn.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.2taws-qdxmzlf.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.0htwiiqufp3l9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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_28411002-module__cjC0Ca__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_28411002-module__cjC0Ca__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#eef2ef;--surface:#e3e9e5;--raised:#f7f9f8;--ink:#13201e;--muted:#4b5d58;--faint:#6c7c77;--line:#13201e24;--line-strong:#13201e47;--link:#17695b;--signal:#b06a12;--signal-glow:#d68c2c73;--selection:#cde3db;--shadow:0 1px 2px #13201e0f, 0 12px 32px #13201e12;--color-scheme:light;--font-display:var(--font-fraunces), Georgia, serif;--font-sans:var(--font-plex-sans), system-ui, sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, Menlo, monospace;--measure:68ch;--shell:1120px;--gutter:clamp(1.25rem, 4vw, 3rem)}html.dark{--bg:#0d1517;--surface:#131d20;--raised:#162226;--ink:#dfe8e4;--muted:#9aaca6;--faint:#73857f;--line:#dfe8e41a;--line-strong:#dfe8e438;--link:#7fc8ae;--signal:#f2b58a;--signal-glow:#f2b58a80;--selection:#24413b;--shadow:0 1px 2px #0000004d, 0 16px 40px #00000040;--color-scheme:dark}*{box-sizing:border-box}html{color-scheme:var(--color-scheme);scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);min-height:100vh;color:var(--muted);font:400 1.0625rem/1.7 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{color:var(--ink);text-wrap:balance}p{text-wrap:pretty}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::selection{background:var(--selection);color:var(--ink)}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:3px}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:6px;padding:.7rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.top-bar{z-index:40;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.top-bar{background:color-mix(in srgb, var(--bg) 86%, transparent)}}.top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.top-bar-inner{max-width:var(--shell);min-height:64px;padding:0 var(--gutter);align-items:center;gap:2rem;margin:0 auto;display:flex}.top-bar-name{color:var(--ink);font:500 1.2rem/1 var(--font-display);letter-spacing:-.01em;white-space:nowrap}.top-bar-name:hover{text-decoration:none}.top-bar nav{align-items:center;gap:.3rem;margin-left:auto;display:flex}.top-bar nav a{min-height:40px;color:var(--muted);border-radius:6px;align-items:center;padding:0 .7rem;font-size:.92rem;display:inline-flex}.top-bar nav a:hover{color:var(--ink);background:var(--surface);text-decoration:none}.top-bar nav a[aria-current=page]{color:var(--ink)}.top-bar nav .top-bar-resume{border:1px solid var(--line-strong);color:var(--ink);margin-left:.4rem}.top-bar-tools{align-items:center;gap:.2rem;display:flex}.top-bar-tools a,.theme-toggle{width:40px;height:40px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.top-bar-tools a:hover,.theme-toggle:hover{color:var(--ink);background:var(--surface)}.top-bar-tools svg,.theme-toggle svg{width:18px;height:18px}.shell{max-width:var(--shell);padding:0 var(--gutter);margin:0 auto}.section{margin-top:clamp(5rem,10vw,8rem)}.section-heading{grid-template-columns:11rem minmax(0,1fr);gap:0 2rem;margin-bottom:1.5rem;display:grid}.section-heading h2{font:400 2rem/1.15 var(--font-display);letter-spacing:-.015em;margin:0}.section-heading p{max-width:58ch;margin:.4rem 0 0;font-size:.98rem}.hero{padding-top:clamp(3rem,8vw,6.5rem)}.hero h1{font:400 clamp(2.9rem, 7.5vw, 5.2rem)/1 var(--font-display);letter-spacing:-.03em;font-variation-settings:"opsz" 144;margin:0}.hero-tagline{max-width:34ch;color:var(--ink);font:400 clamp(1.2rem, 2.4vw, 1.5rem)/1.4 var(--font-display);margin:1rem 0 0}.hero-body{max-width:64ch;margin-top:1.6rem}.hero-body p{margin:0 0 1rem}.hero-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.hero-body a:hover{-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}.hero-roles{gap:.35rem;margin:.4rem 0 0;display:grid}.hero-roles div{grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;display:grid}.hero-roles dt{color:var(--faint);font:.85rem/1.7 var(--font-mono)}.hero-roles dd{margin:0}.hero-roles a{color:var(--ink)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 0;display:flex}.button{border:1px solid var(--ink);background:var(--ink);min-height:46px;color:var(--bg);border-radius:6px;align-items:center;gap:.45rem;padding:0 1.2rem;font-size:.95rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:hover{background:var(--link);border-color:var(--link);color:var(--bg);text-decoration:none}.button:active{transform:scale(.98)}.button-quiet{color:var(--ink);border-color:var(--line-strong);background:0 0}.button-quiet:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.signal{margin:clamp(2.5rem,6vw,4rem) 0 2.6rem;position:relative}.signal-wire{height:0;position:absolute;inset:0 0 auto}.signal-line{background:var(--line-strong);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.signal-trail{background:linear-gradient(90deg, transparent, var(--signal));opacity:.8;height:2px;position:absolute;top:-.5px}.signal-packet{background:var(--signal);border-radius:50%;width:9px;height:9px;position:absolute;top:0}@supports (color:color-mix(in lab, red, red)){.signal-packet{background:color-mix(in srgb, var(--signal) 35%, white)}}.signal-packet{box-shadow:0 0 0 3px var(--signal), 0 0 18px 4px var(--signal-glow)}@supports (color:color-mix(in lab, red, red)){.signal-packet{box-shadow:0 0 0 3px color-mix(in srgb, var(--signal) 25%, transparent), 0 0 18px 4px var(--signal-glow)}}.signal-packet{transform:translate(-50%,-50%)}.signal-ring{border:1.5px solid var(--signal);border-radius:50%;width:10px;height:10px;position:absolute;top:0}.signal-stations{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.signal-station{padding:1.5rem 1.5rem 0 0;position:relative}.signal-dot{border:1.5px solid var(--signal);width:9px;height:9px;position:absolute;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.signal-dot{border:1.5px solid color-mix(in srgb, var(--signal) calc(var(--lit) * 100%), var(--line-strong))}}.signal-dot{background:var(--bg);box-shadow:0 0 calc(var(--flash) * 18px) calc(var(--flash) * 4px) var(--signal-glow);border-radius:50%;transform:translate(-50%,-50%)}.signal-station dt{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.signal-station dt{color:color-mix(in srgb, var(--ink) calc(var(--lit) * 100%), var(--faint))}}.signal-station dt{font:400 clamp(1.6rem, 3vw, 2.15rem)/1.1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;text-shadow:0 0 calc(var(--flash) * 22px) var(--signal-glow)}.signal-station dd{max-width:22ch;margin:.45rem 0 0;font-size:.86rem;line-height:1.45}.ledger{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ledger>li{border-bottom:1px solid var(--line)}.ledger-row{color:inherit;grid-template-columns:11rem minmax(0,1fr);gap:.4rem 2rem;padding:1.8rem 0;display:grid}.ledger-row:hover{text-decoration:none}.ledger-when{color:var(--faint);font:.85rem/1.4 var(--font-mono);font-variant-numeric:tabular-nums;padding-top:.25rem}.ledger-body{max-width:var(--measure);gap:.35rem;display:grid}.ledger-org{color:var(--faint);font-size:.9rem}.ledger-title{color:var(--ink);font:400 1.45rem/1.25 var(--font-display);letter-spacing:-.012em}.ledger-row:hover .ledger-title{text-decoration:underline;-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link);text-underline-offset:4px;text-decoration-thickness:1px}.ledger-context{color:var(--faint);font-size:.9rem;font-style:italic}.ledger-summary{font-size:.98rem}.ledger-metrics{flex-wrap:wrap;gap:.3rem 1.4rem;margin-top:.35rem;font-size:.85rem;display:flex}.ledger-metrics b{color:var(--ink);font-weight:500;font-family:var(--font-mono);font-size:.82rem}.ledger-cta{color:var(--link);margin-top:.4rem;font-size:.9rem;font-weight:500}.products{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.products>li{border-bottom:1px solid var(--line)}.product-row{color:inherit;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2.5rem;padding:2rem 0;display:grid}.product-row:hover{text-decoration:none}.product-row-text{grid-template-columns:1fr}.product-row-text .product-text{max-width:var(--measure)}.product-shot{background:var(--surface);box-shadow:var(--shadow);outline:1px solid var(--line);outline-offset:-1px;border-radius:8px;display:block;overflow:hidden}.product-shot img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;height:auto;transition:transform .3s;display:block}.product-row:hover .product-shot img{transform:scale(1.012)}.product-text{gap:.4rem;display:grid}.product-meta{color:var(--faint);font-size:.88rem}.product-title{color:var(--ink);font:400 1.75rem/1.2 var(--font-display);letter-spacing:-.015em}.product-row:hover .product-title{text-decoration:underline;-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link);text-underline-offset:4px;text-decoration-thickness:1px}.product-description{font-size:.98rem}.product-tags{color:var(--faint);font:.82rem/1.5 var(--font-mono)}.site-footer{border-top:1px solid var(--line);margin-top:clamp(5rem,10vw,8rem);padding:3rem 0 4rem}.site-footer h2{max-width:22ch;font:400 clamp(1.8rem, 3.5vw, 2.4rem)/1.15 var(--font-display);letter-spacing:-.02em;margin:0 0 .6rem}.site-footer>p{max-width:56ch;margin:0}.site-colophon{color:var(--faint);font-size:.82rem;margin-top:2.5rem!important}.article-header{max-width:var(--measure);padding:4rem 0 1.5rem}.article-header h1{font:400 clamp(2.1rem, 4.5vw, 3rem)/1.1 var(--font-display);letter-spacing:-.02em;margin:0}.eyebrow{color:var(--faint);font:.85rem var(--font-mono);margin:0 0 .8rem}.article-body{max-width:var(--measure);color:var(--muted)}.article-body>:first-child{margin-top:0}.article-body p,.article-body ul,.article-body ol{margin:0 0 1.15rem}.article-body ul,.article-body ol{padding-left:1.2rem}.article-body ul{list-style:outside}.article-body ol{list-style:decimal}.article-body h2{font:400 1.5rem/1.25 var(--font-display);letter-spacing:-.01em;margin:2.6rem 0 .8rem}.article-body a{text-decoration:underline;-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}@supports (color:color-mix(in lab, red, red)){.article-body a{-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent)}}.article-body a{text-underline-offset:3px}.article-body strong{color:var(--ink);font-weight:600}.article-body table{border-collapse:collapse;width:100%;margin:.5rem 0 1.6rem;font-size:.92rem}.article-body th,.article-body td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .9rem .6rem 0}.article-body th{color:var(--faint);font-size:.85rem;font-weight:500}.article-body td:first-child{width:36%;color:var(--ink);font-family:var(--font-mono);font-size:.84rem}.case-links{margin-top:.4rem}.article-body code{background:var(--surface);color:var(--ink);font:.88em var(--font-mono);border-radius:4px;padding:.1rem .3rem}.project-case-nav,.project-case-footer{justify-content:space-between;gap:1rem;font-size:.92rem;display:flex}.project-case-nav{padding:1.4rem 0 0}.project-case-nav a,.project-case-footer a{align-items:center;gap:.4rem;min-height:44px;display:inline-flex}.project-case-footer{border-top:1px solid var(--line);margin-top:3rem;padding-top:1rem}.product-hero{max-width:880px;padding:2.6rem 0 2.2rem}.case-kicker{color:var(--faint);margin:0 0 1rem;font-size:.95rem}.product-hero h1{font:380 clamp(2.3rem, 5vw, 3.7rem)/1.07 var(--font-display);letter-spacing:-.026em;font-variation-settings:"opsz" 144;margin:0 0 1.2rem}.product-intro{max-width:70ch;margin:0 0 1.3rem;font-size:clamp(1.02rem,1.6vw,1.15rem);line-height:1.65}.chips{flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);color:var(--muted);font:.8rem/1.5 var(--font-mono);border-radius:4px;padding:.2rem .6rem}.text-link{align-items:center;gap:.35rem;min-height:40px;font-weight:500;display:inline-flex}.project-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 2rem;display:grid}.project-facts>div{padding:1rem 1.5rem 1rem 0}.project-facts>div+div{border-left:1px solid var(--line);padding-left:1.5rem}.project-facts dt{color:var(--faint);margin-bottom:.25rem;font-size:.82rem}.project-facts dd{color:var(--ink);margin:0;font-size:.95rem}.work-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:0 0 2rem;display:grid}.work-metrics>div{border:1px solid var(--line);background:var(--raised);border-radius:8px;padding:1.1rem 1.25rem}.work-metrics>div:only-child{max-width:22rem}.work-metrics strong{color:var(--ink);font:400 1.75rem/1.15 var(--font-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums lining-nums;display:block}.work-metrics span{margin-top:.35rem;font-size:.85rem;line-height:1.45;display:block}.proprietary-note{border-left:2px solid var(--signal);max-width:70ch;margin:0 0 2.5rem;padding-left:1rem;font-size:.95rem}.product-highlights{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:2.5rem 0 3rem;display:grid}.product-highlights p{color:var(--ink);margin:0;padding:1.2rem 1.5rem 1.2rem 0;font-size:.95rem}.product-highlights p+p{border-left:1px solid var(--line);padding-left:1.5rem}.product-story{max-width:var(--measure);padding-bottom:2rem}.work-body{padding-bottom:2rem}.work-prose{max-width:var(--measure)}.work-prose+.work-prose{margin-top:1rem}.work-illustration{margin:2.2rem 0 3rem;scroll-margin-top:5.5rem}.work-illustration-label{color:var(--faint);margin:0 0 .7rem;font-size:.88rem}.work-illustration .lab-console{border-radius:10px}.project-gallery{margin-bottom:2.5rem}.gallery-toolbar{color:var(--faint);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.gallery-toolbar button,.screenshot-dialog-bar button{min-height:40px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.gallery-toolbar button span{margin-left:.4rem}.sample-tag{background:var(--surface);color:var(--muted);font:.75rem var(--font-mono);border-radius:4px;margin-left:.6rem;padding:.1rem .45rem}.project-gallery figure{margin:0}.gallery-image-button{background:var(--surface);width:100%;box-shadow:var(--shadow);outline:1px solid var(--line);outline-offset:-1px;cursor:zoom-in;border:0;border-radius:10px;padding:0;display:block;overflow:hidden}.gallery-image-button img{aspect-ratio:16/10;object-fit:contain;width:100%;height:auto;display:block}.project-gallery figcaption{max-width:80ch;margin-top:.8rem;font-size:.88rem;line-height:1.6}.gallery-selector{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.gallery-selector button{border:1px solid var(--line);min-height:44px;color:var(--muted);font:.88rem var(--font-sans);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.6rem;padding:.4rem .85rem;display:flex}.gallery-selector button[aria-pressed=true]{border-color:var(--link);background:var(--surface);color:var(--ink)}.gallery-number{color:var(--faint);font:.78rem var(--font-mono)}.screenshot-dialog{border:1px solid var(--line);background:var(--bg);width:min(1500px,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--ink);border-radius:10px;padding:0 1rem 1rem;box-shadow:0 24px 80px #0006}.screenshot-dialog::backdrop{background:#050a0bbf}.screenshot-dialog-bar{z-index:1;background:var(--bg);justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex;position:sticky;top:0}.screenshot-dialog img{border-radius:4px;width:100%;height:auto;display:block}.screenshot-dialog p{margin:.8rem 0 0;font-size:.88rem}.resume{max-width:760px;padding:3rem var(--gutter) 5rem;margin:0 auto}.resume-toolbar{justify-content:space-between;align-items:center;margin:0 0 2.5rem;display:flex}.resume-actions{align-items:center;gap:1rem;display:flex}.resume-actions .text-link,.resume-actions button{min-height:40px;color:var(--link);font:500 .95rem var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0}.resume header h1{font:400 2.6rem/1.1 var(--font-display);letter-spacing:-.02em;margin:0 0 .3rem}.resume header p{margin:.15rem 0}.resume-summary{color:var(--ink);margin-top:.8rem!important}.resume h2{border-bottom:1px solid var(--line-strong);font:500 1.15rem var(--font-display);margin:2.4rem 0 1rem;padding-bottom:.4rem}.resume h3{font:500 1rem var(--font-sans);margin:0 0 .15rem}.resume h3 a{color:var(--ink)}.resume-job{break-inside:avoid;margin-bottom:1.5rem}.resume-meta{color:var(--faint);margin:0 0 .45rem;font-size:.9rem}.resume-job ul{margin:0;padding-left:1.1rem;list-style:outside}.resume-job li{margin-bottom:.3rem}.resume-product{break-inside:avoid;margin-bottom:1rem}.resume-product h3 span{color:var(--faint);font-size:.88rem;font-weight:400}.resume-product p,.resume-skills,.resume-degree{margin:0 0 .4rem}.resume-skills strong,.resume-school{color:var(--ink);font-weight:600}.resume-school{margin:0}@media (max-width:860px){.section-heading,.ledger-row{grid-template-columns:1fr}.section-heading p{margin-top:.6rem}.signal-stations{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.signal-wire,.signal-dot{display:none}.signal-station{border-left:2px solid var(--signal);padding:0 1rem 0 0}@supports (color:color-mix(in lab, red, red)){.signal-station{border-left:2px solid color-mix(in srgb, var(--signal) 55%, transparent)}}.signal-station{padding-left:.9rem}.signal-station dt{font-size:1.5rem}.signal-station dd{font-size:.82rem}.hero-roles div{grid-template-columns:1fr;gap:0}.product-row{grid-template-columns:1fr;gap:1.2rem}.project-facts,.product-highlights{grid-template-columns:1fr}.project-facts>div+div,.product-highlights p+p{border-left:0;border-top:1px solid var(--line);padding-left:0}}@media (max-width:640px){.top-bar-inner{gap:.6rem}.top-bar-tools a{display:none}.top-bar nav{gap:0}.top-bar nav a{padding:0 .45rem;font-size:.86rem}.top-bar nav .top-bar-resume{margin-left:.2rem}.top-bar-name{font-size:1.05rem}}@media (max-width:400px){.top-bar-inner{gap:.4rem}.top-bar nav a{padding:0 .35rem}}@media (max-width:374px){.top-bar-name{font-size:.95rem}.top-bar nav a{padding:0 .3rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@media print{html,html.dark{--bg:#fff;--surface:#f1f4f2;--ink:#13201e;--muted:#34433f;--faint:#5a6965;--line:#13201e26;--line-strong:#13201e4d;--link:#13201e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:#fff;font-size:10.5pt}.top-bar,.site-footer,.skip-link,.theme-toggle,.resume-toolbar,.project-case-nav,.project-case-footer,.gallery-toolbar,.gallery-selector{display:none!important}.resume{max-width:none;padding:0}.resume h2{margin:1.4rem 0 .7rem}.resume-job{margin-bottom:1rem}.resume-job li{margin-bottom:.15rem}.resume-product{margin-bottom:.7rem}}@page{margin:.5in}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
.lab-console{--lab-bg:#141c20;--lab-panel:#192328;--lab-line:#303d43;--lab-ink:#edf1ed;--lab-muted:#a0b0b6;--lab-good:#a2d6bd;--lab-bad:#f6a38a;--lab-amber:#eaca84;background:var(--lab-bg);color:var(--lab-muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:1px solid #2b373d;border-radius:0 0 8px 8px;font-size:14px;line-height:1.5;overflow:hidden;box-shadow:0 24px 70px #1019171a}.lab-console button,.lab-console input,.lab-console select{font:inherit}.lab-console button{cursor:pointer}.lab-console button:disabled{cursor:default;opacity:.45}.lab-console button:focus-visible,.lab-console input:focus-visible,.lab-console select:focus-visible,.lab-console summary:focus-visible{outline:2px solid var(--lab-good);outline-offset:3px}.lab-console .mono{font-family:var(--font-mono);letter-spacing:.06em;font-size:.67rem;font-weight:400}.lab-console .muted{color:var(--lab-muted)}.lab-console .text-good{color:var(--lab-good)}.lab-console .text-bad{color:var(--lab-bad)}.lab-console .text-amber{color:var(--lab-amber)}.lab-titlebar{border-bottom:1px solid var(--lab-line);font-family:var(--font-mono);background:#1c272c;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;font-size:.67rem;display:flex}.lab-titlebar>div{align-items:center;gap:.7rem;display:flex}.lab-titlebar strong{color:var(--lab-ink);letter-spacing:.08em;font-weight:500}.lab-titlebar-separator{color:#677e89}.lab-live-dot{background:var(--lab-good,#a2d6bd);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block;box-shadow:0 0 10px #a2d6bd33}.lab-workspace{grid-template-columns:238px minmax(0,1fr);display:grid}.lab-controls{border-right:1px solid var(--lab-line);background:#182126;padding:1.4rem 1rem}.lab-control-heading{color:var(--lab-ink);justify-content:space-between;align-items:center;display:flex}.lab-controls>p{margin:.7rem 0 1.1rem;font-size:.84rem;line-height:1.65}.lab-incidents{flex-direction:column;gap:.4rem;display:flex}.lab-incidents button{text-align:left;color:var(--lab-muted);border:1px solid var(--lab-line);background:0 0;border-radius:4px;align-items:center;gap:.6rem;padding:.85rem .65rem;transition:border-color .18s,background .18s;display:flex}.lab-incidents button:hover{background:#223037;border-color:#687e87}.lab-incidents button[aria-pressed=true]{color:var(--lab-ink);background:#293a3d;border-color:#8bb9a4}.incident-number{font-family:var(--font-mono);opacity:.65;font-size:.66rem}.lab-incidents button strong{font-size:.83rem;font-weight:500;display:block}.lab-incidents button small{font-family:var(--font-mono);letter-spacing:.04em;color:var(--lab-muted);margin-top:.2rem;font-size:.6rem;display:block}.incident-indicator{border:1px solid #74858d;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.lab-incidents button[aria-pressed=true] .incident-indicator{background:var(--lab-good);border-color:var(--lab-good);box-shadow:0 0 7px #a2d6bd44}.lab-control-note{padding:1.2rem .15rem .9rem}.lab-control-note>span{color:var(--lab-good)}.lab-control-note p{margin:.5rem 0 0;font-size:.82rem;line-height:1.7}.lab-primary-button{border:1px solid var(--lab-good);background:var(--lab-good);color:#152a25;border-radius:4px;justify-content:center;align-items:center;gap:.55rem;width:100%;padding:.8rem .45rem;display:flex;font-size:.82rem!important;font-weight:600!important}.lab-primary-button:hover:not(:disabled){background:#c0e7d5}.lab-primary-button:disabled{color:var(--lab-good);opacity:.8;background:0 0}.lab-text-button{color:var(--lab-muted);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;padding:.4rem 0;display:inline-flex;font-size:.73rem!important}.lab-text-button:hover{color:var(--lab-good)}.baseline-button{justify-content:space-between;width:100%;margin-top:.4rem;padding:.4rem .2rem;display:flex}.lab-config{border-top:1px solid var(--lab-line);margin-top:1rem;padding-top:1.3rem}.lab-config dl{grid-template-columns:1fr auto;gap:.5rem .2rem;margin-bottom:0;font-size:.72rem;display:grid}.lab-config dd{color:var(--lab-ink);font-family:var(--font-mono);margin:0;font-size:.67rem}.lab-main{min-width:0;padding:1.3rem 1.6rem 0}.lab-flow{border-bottom:1px solid var(--lab-line);background-image:radial-gradient(#69818b20 .7px,#0000 .7px);background-size:9px 9px;grid-template-columns:repeat(4,1fr);margin-bottom:1.4rem;padding:.6rem 0 1.25rem;display:grid;position:relative}.flow-node{z-index:1;padding-right:.8rem;position:relative}.flow-node:not(:last-of-type):after{content:"";z-index:-1;border-top:1px dashed #5b7279;width:calc(100% - 52px);position:absolute;top:20px;left:46px}.flow-node:not(:last-of-type):before{content:"";background:var(--lab-good);width:4px;height:4px;box-shadow:0 0 5px var(--lab-good);animation:3s linear infinite flow-travel;position:absolute;top:18px;left:65%}.flow-node:nth-child(2):before{animation-delay:.5s}.flow-node:nth-child(3):before{animation-delay:1s}.flow-symbol{background:var(--lab-bg);color:#abc2c7;border:1px solid #4b646b;border-radius:7px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:.6rem;display:flex}.flow-gate .flow-symbol{border-color:var(--lab-good);color:var(--lab-good)}.flow-blocked .flow-gate .flow-symbol{border-color:var(--lab-bad);color:var(--lab-bad);box-shadow:0 0 15px #f6a38a0e}.flow-node strong{color:var(--lab-ink);font-size:.78rem;font-weight:500;display:block}.flow-node>span{margin-top:.2rem;font-size:.66rem;display:block}.flow-step{color:#7f929a;font-family:var(--font-mono);font-size:.61rem;position:absolute;top:4px;right:.9rem}.flow-recovered{color:var(--lab-good);background:var(--lab-bg);font-size:.61rem;position:absolute;top:-8px;right:0}.lab-run-summary{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.lab-run-summary p{color:var(--lab-muted);margin:0 0 .4rem}.lab-run-summary h2{color:var(--lab-ink);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:500;line-height:1.4}.lab-status{white-space:nowrap;border:1px solid;border-radius:3px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.69rem;display:inline-flex}.lab-status>span{background:currentColor;border-radius:50%;width:4px;height:4px}.status-good{color:var(--lab-good);background:#a2d6bd08}.status-bad{color:var(--lab-bad);background:#f6a38a08}.lab-metrics{border:1px solid var(--lab-line);background:#182328;border-radius:5px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;display:grid}.lab-metrics>div{border-right:1px solid var(--lab-line);padding:.9rem 1rem}.lab-metrics>div:last-child{border-right:0}.lab-metrics>div>span{font-size:.69rem;display:block}.lab-metrics strong{color:var(--lab-ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:.35rem;margin:.35rem 0 .2rem;font-size:1.65rem;font-weight:400;line-height:1.2;display:flex}.lab-metrics strong small{letter-spacing:0;color:var(--lab-muted);font-size:.68rem}.lab-metrics em{font-size:.65rem;font-style:normal;display:block}.lab-check-strip{grid-template-columns:repeat(5,1fr);gap:.45rem;margin:0 0 1.3rem;display:grid}.lab-check-strip button{color:var(--lab-good);text-align:left;background:#172b27;border:1px solid #344b42;border-radius:4px;align-items:center;gap:.4rem;padding:.55rem .5rem;display:flex}.lab-check-strip button:hover{border-color:currentColor}.lab-check-strip button.check-error{color:var(--lab-bad);background:#342923;border-color:#665047}.lab-check-strip strong{font-size:.69rem;font-weight:500}.lab-check-strip small{font-family:var(--font-mono);opacity:.85;margin-left:auto;font-size:.6rem}.lab-inspector{border:1px solid var(--lab-line);border-radius:5px;overflow:hidden}.lab-inspector-toolbar{border-bottom:1px solid var(--lab-line);background:#1b252b;justify-content:space-between;align-items:center;gap:.8rem;min-height:47px;padding:0 .9rem;display:flex}.lab-view-tabs{align-self:stretch;gap:1.1rem;display:flex}.lab-view-tabs button{color:var(--lab-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:.85rem 0 .75rem;font-size:.79rem}.lab-view-tabs button:hover{color:var(--lab-ink)}.lab-view-tabs button[aria-pressed=true]{border-color:var(--lab-good);color:var(--lab-ink)}.lab-view-tabs button>span{color:var(--lab-good);background:#39443e;border-radius:3px;margin-left:.35rem;padding:.1rem .3rem;font-size:.63rem}.record-map-heading{justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1rem .6rem;font-size:.65rem;display:flex}.record-map-heading>span:last-child{white-space:nowrap}.record-map-heading .mono .muted{font-family:var(--font-sans);letter-spacing:0;font-size:.66rem}.legend-cell{background:#3a6053;border-radius:1px;width:6px;height:6px;margin:0 .25rem 0 .5rem;display:inline-block}.legend-cell.bad{background:var(--lab-bad)}.record-map{grid-template-columns:repeat(52,1fr);gap:3px;padding:0 1rem 1rem;display:grid}.record-cell{aspect-ratio:1;background:#36534b;border-radius:1px;width:100%;display:block}.record-cell.is-exception{background:var(--lab-bad);box-shadow:0 0 5px #f6a38a22}.lab-table-controls{border-top:1px solid var(--lab-line);border-bottom:1px solid var(--lab-line);background:#192328;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.lab-table-controls label{align-items:center;gap:.4rem;font-size:.71rem;display:flex}.lab-table-controls input[type=checkbox]{accent-color:var(--lab-good)}.lab-search{width:150px;color:var(--lab-ink);border:1px solid var(--lab-line);background:#121b1f;border-radius:4px;padding:.4rem .6rem;font-size:.71rem!important}.lab-search::placeholder{color:#a0afb4}.lab-table-scroll{overflow-x:auto}.lab-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:.76rem}.lab-table th{text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--lab-line);text-align:left;color:var(--lab-muted);background:#1a2429;padding:.6rem 1rem;font-size:.64rem;font-weight:400}.lab-table td{color:var(--lab-ink);border-bottom:1px solid #29363c;padding:.65rem 1rem}.lab-table tr:last-child td{border:0}.lab-table td code{font-size:.71rem}.lab-table td .muted{margin-left:.3rem;font-size:.66rem}.lab-table td.diff-value{color:var(--lab-bad);background:#f6a38a06}.finding-badge{color:var(--lab-bad);background:#382c27;border:1px solid #685148;border-radius:3px;padding:.15rem .4rem;font-size:.67rem;display:inline-block}.lab-pagination{border-top:1px solid var(--lab-line);justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.66rem;display:flex}.lab-pagination>div{gap:.35rem;display:flex}.lab-pagination button{color:var(--lab-ink);background:#253239;border:1px solid #41515a;border-radius:3px;padding:.05rem .45rem}.lab-empty{text-align:center;color:var(--lab-good);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}.lab-empty strong{font-size:.85rem;font-weight:500}.lab-empty>span{color:var(--lab-muted);font-size:.76rem}.lab-code-view{padding:1rem;font-size:.81rem}.lab-code-view>div{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.lab-code-view select{color:var(--lab-ink);background:#253239;border:1px solid #52636a;border-radius:3px;max-width:65%;padding:.4rem .6rem;font-size:.76rem}.lab-code-view pre{font-family:var(--font-mono);color:#c0d8cd;background:#0f181c;border:1px solid #2d3b43;border-radius:3px;margin:.8rem 0;padding:1rem;font-size:.75rem;line-height:1.9;overflow-x:auto}.lab-code-view p{font-size:.78rem}.lab-code-view p span{font-family:var(--font-mono);margin-right:.5rem;font-size:.7rem}.lab-code-view>small{font-size:.7rem;line-height:1.7;display:block}.lab-comparison{grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.2rem;display:grid}.lab-comparison>div{padding:.5rem 0}.lab-comparison h3{color:var(--lab-ink);margin:.6rem 0 1rem;font-size:.85rem;font-weight:500}.lab-comparison strong{color:var(--lab-ink);font-size:1.35rem;font-weight:400}.lab-comparison p{font-size:.82rem}.lab-comparison>div>span:last-child{font-size:.76rem}.lab-comparison>p{border-top:1px solid var(--lab-line);grid-column:1/-1;margin:0;padding-top:1rem;line-height:1.7}.lab-takeaway{gap:.75rem;padding:1rem .2rem;display:flex}.lab-takeaway>span{color:var(--lab-good);font-size:1.3rem;line-height:1}.lab-takeaway p{margin:0;font-size:.79rem;line-height:1.75}.lab-takeaway strong{color:var(--lab-ink);font-weight:500}.lab-history{border-top:1px solid var(--lab-line);background:#121a1e;margin:0 -1.6rem}.lab-history summary{cursor:pointer;justify-content:space-between;padding:.8rem 1.6rem;list-style:none;display:flex}.lab-history summary::-webkit-details-marker{display:none}.lab-history summary>span:last-child{font-size:.68rem}.lab-history ol{max-height:240px;margin:0;padding:0 1.6rem 1rem;list-style:none;overflow-y:auto}.lab-history li{border-top:1px solid #29363c;align-items:baseline;gap:.8rem;padding:.65rem 0;display:flex}.lab-history li code{color:#7b929b;font-size:.66rem}.lab-history li div{flex:1}.lab-history li strong{color:var(--lab-ink);font-size:.74rem;font-weight:500;display:block}.lab-history li div>span{margin-top:.15rem;font-size:.66rem;display:block}.lab-history li>small{font-family:var(--font-mono);color:var(--lab-good);font-size:.62rem}.lab-bottomline{border-top:1px solid var(--lab-line);background:#1a252a;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.4rem;font-size:.64rem;display:flex}.lab-bottomline .lab-live-dot{width:4px;height:4px;margin-right:.4rem}.lab-bottomline .mono{font-size:.6rem}.delivery-map{border:1px solid var(--lab-line);background:#172126;border-radius:5px;margin:0 0 1.2rem}.recipient-grid{grid-template-columns:repeat(8,1fr);gap:.5rem;padding:.25rem 1rem .8rem;display:grid}.recipient-grid button{opacity:.78;border:1px solid;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .2rem;transition:opacity .15s,transform .15s;display:flex}.recipient-grid button:hover{opacity:1;transform:translateY(-2px)}.recipient-grid button.is-selected{opacity:1;outline-offset:2px;outline:1px solid}.recipient-grid button code{font-size:.64rem}.recipient-grid button>span{font-size:.8rem;line-height:1}.recipient-accepted{color:var(--lab-good);background:#234037}.recipient-unknown{color:var(--lab-amber);background:#403c29}.recipient-held{color:#b7adf0;background:#343148}.recipient-failed{color:var(--lab-bad);background:#422f29}.recipient-legend{align-items:center;gap:1rem;padding:0 1rem .8rem;font-size:.64rem;display:flex}.recipient-legend i{border:1px solid;border-radius:1px;width:6px;height:6px;margin-right:.3rem;display:inline-block}.delivery-trace{grid-template-columns:1fr 1fr;min-height:270px;display:grid}.trace-identity{border-right:1px solid var(--lab-line);padding:1.1rem 1.2rem}.trace-identity h3{font-family:var(--font-display);color:var(--lab-ink);margin:.4rem 0 .5rem;font-size:1.5rem;font-weight:400}.trace-status{font-family:var(--font-mono);border:1px solid;border-radius:3px;padding:.2rem .5rem;font-size:.64rem;display:inline-block}.trace-identity p{font-size:.79rem;line-height:1.7}.trace-identity dl{font-size:.66rem}.trace-identity dt{margin:.8rem 0 .3rem}.trace-identity dd{font-family:var(--font-mono);color:var(--lab-ink);overflow-wrap:anywhere;margin:0;font-size:.63rem}.trace-identity .digest{color:var(--lab-muted)}.trace-events{padding:1.2rem}.trace-events ol{max-height:270px;margin:1rem 0 0;padding:0 0 0 .35rem;list-style:none;overflow:auto}.trace-events li{border-left:1px solid #3a4c53;padding:0 0 1.1rem 1.1rem;position:relative}.trace-events li:last-child{border-left-color:#0000;padding-bottom:.2rem}.trace-events li:before{content:"";background:var(--lab-good);border:1px solid var(--lab-bg);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:-4px}.trace-events li.trace-warning:before{background:var(--lab-amber)}.trace-events li strong{color:var(--lab-ink);font-size:.78rem;font-weight:400;display:block}.trace-events li span{margin-top:.25rem;font-size:.68rem;display:block}.notice-inspector{background:#202b30;grid-template-columns:1.5fr 1fr;gap:1.4rem;padding:1.3rem;display:grid}.paper-notice{color:#243335;background:#f5f2e9;padding:1.5rem;box-shadow:0 5px 20px #0003}.paper-letterhead{font-family:var(--font-mono);border-bottom:2px solid #45665c;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:.7rem;font-size:.6rem;display:flex}.paper-notice pre{white-space:pre-wrap;font-family:var(--font-display);margin:0;font-size:.74rem;line-height:1.8}.notice-metadata h3{font-family:var(--font-display);color:var(--lab-ink);font-size:1.4rem;font-weight:400;line-height:1.3}.notice-metadata p{font-size:.78rem;line-height:1.8}.notice-metadata code{color:var(--lab-good);overflow-wrap:anywhere;background:#172126;border:1px solid #445b53;border-radius:3px;padding:.7rem;font-size:.68rem;display:block}.notice-inspector .lab-empty{grid-column:1/-1}@media (min-width:1400px){.lab-workspace{grid-template-columns:260px minmax(0,1fr)}.lab-main{padding-left:2rem;padding-right:2rem}.lab-history{margin-left:-2rem;margin-right:-2rem}.lab-controls{padding-left:1.3rem;padding-right:1.3rem}}@media (max-width:1100px){.lab-workspace{grid-template-columns:210px minmax(0,1fr)}.lab-main{padding:1.2rem 1rem 0}.lab-history{margin-left:-1rem;margin-right:-1rem}.lab-metrics>div{padding:.8rem .65rem}.lab-metrics strong{font-size:1.4rem}.lab-check-strip{gap:.3rem}.lab-check-strip button{gap:.3rem;padding:.5rem .35rem}.lab-check-strip small{display:none}.lab-inspector-toolbar{padding:0 .75rem}.lab-view-tabs{gap:.8rem}.lab-view-tabs button{font-size:.71rem}.lab-run-summary{align-items:start}.lab-run-summary h2{font-size:.92rem}.lab-status{font-size:.61rem}.recipient-grid{gap:.4rem}.recipient-grid button{flex-direction:column;gap:.3rem}.record-map-heading .mono .muted{display:none}.lab-table td,.lab-table th{padding-left:.7rem;padding-right:.7rem}}@media (max-width:780px){.lab-workspace{display:block}.lab-controls{border-right:0;border-bottom:1px solid var(--lab-line);padding:1rem}.lab-control-heading,.lab-controls>p{display:none}.lab-incidents{scrollbar-width:thin;scrollbar-color:#506a63 transparent;flex-direction:row;margin:-3px -3px 0;padding:3px 3px .6rem;overflow-x:auto}.lab-incidents button{flex:0 0 175px;padding:.65rem}.lab-control-note{padding:.5rem 0 .8rem}.lab-control-note>span{display:none}.lab-control-note p{margin:0;font-size:.79rem}.lab-config{display:none}.lab-primary-button{width:auto;padding:.65rem 1rem;display:inline-flex}.baseline-button{gap:.6rem;width:auto;margin:0 0 0 1rem;display:inline-flex;font-size:.68rem!important}.lab-main{padding:1rem 1rem 0}.lab-titlebar{padding:.8rem 1rem}.lab-titlebar>.mono{display:none}.lab-flow{margin-bottom:1rem;padding-top:.3rem}.flow-node strong{font-size:.71rem}.flow-node>span{font-size:.6rem}.flow-step,.flow-node:not(:last-of-type):before{display:none}.flow-symbol{width:34px;height:34px}.flow-symbol svg{width:18px}.flow-node:not(:last-of-type):after{width:calc(100% - 44px);top:17px;left:37px}.lab-run-summary{gap:.6rem}.lab-run-summary h2{font-size:1rem}.lab-metrics>div>span{font-size:.66rem}.lab-metrics strong{font-size:1.45rem}.lab-metrics strong small{font-size:.6rem}.lab-check-strip strong{font-size:.68rem}.lab-bottomline>.mono{display:none}}@media (max-width:480px){.lab-titlebar{font-size:.6rem}.lab-titlebar>div{gap:.45rem}.lab-titlebar-separator,.lab-titlebar-separator+span{display:none}.lab-controls{padding:.8rem}.lab-primary-button{padding:.6rem .65rem;font-size:.73rem!important}.baseline-button{margin-left:.65rem}.lab-main{padding-left:.8rem;padding-right:.8rem}.lab-history{margin-left:-.8rem;margin-right:-.8rem}.lab-flow{gap:.3rem}.flow-node{padding-right:.25rem}.flow-node strong{font-size:.65rem}.flow-node>span{font-size:.6rem}.lab-run-summary{flex-direction:column;gap:.7rem}.lab-run-summary h2{font-size:1rem}.lab-metrics{grid-template-columns:1fr 1fr}.lab-metrics>div{padding:.75rem}.lab-metrics>div:nth-child(2){border-right:0}.lab-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--lab-line)}.lab-metrics strong{font-size:1.6rem}.lab-metrics>div>span{font-size:.71rem}.lab-check-strip{gap:.25rem}.lab-check-strip button{text-align:center;flex-direction:column;gap:.2rem;padding:.5rem .1rem}.lab-check-strip strong{font-size:.6rem}.lab-inspector-toolbar{flex-wrap:wrap;gap:0;padding:0 .7rem}.lab-inspector-toolbar>.lab-text-button{margin:0 0 .5rem auto}.lab-view-tabs{gap:1rem;width:100%}.lab-view-tabs button{font-size:.72rem}.record-map{grid-template-columns:repeat(26,1fr);gap:3px;padding-left:.7rem;padding-right:.7rem}.record-map-heading{padding:.8rem .7rem .5rem}.record-map-heading .mono,.record-map-heading>span:last-child{font-size:.6rem}.lab-table-controls{padding:.6rem .7rem}.lab-table-controls label{font-size:.64rem}.lab-search{width:120px;font-size:.66rem!important}.lab-table{font-size:.71rem}.lab-table th{font-size:.6rem}.lab-table td,.lab-table th{padding-left:.6rem;padding-right:.6rem}.lab-table td .muted{display:none}.lab-code-view{padding:.7rem}.lab-code-view>div>.mono{font-size:.6rem}.lab-comparison{gap:1rem;padding:.9rem}.lab-comparison h3{font-size:.81rem}.lab-comparison strong{font-size:1rem}.lab-comparison p{font-size:.73rem}.recipient-grid{grid-template-columns:repeat(6,1fr);gap:.45rem;padding-left:.7rem;padding-right:.7rem}.recipient-grid button{padding:.5rem .2rem}.recipient-legend{flex-wrap:wrap;gap:.4rem .8rem;padding-left:.7rem}.delivery-trace{grid-template-columns:1fr}.trace-identity{border-right:0;border-bottom:1px solid var(--lab-line)}.notice-inspector{grid-template-columns:1fr;padding:.9rem}.paper-notice{padding:1.2rem}.paper-notice pre{font-size:.72rem}.notice-metadata h3{margin:.5rem 0}}@media (prefers-reduced-motion:reduce){.flow-node:before{animation:none!important}}@media (max-width:480px){.lab-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lab-table tbody{display:block}.lab-table tr{border-bottom:1px solid var(--lab-line);grid-template-columns:1fr 1fr;display:grid}.lab-table tr:last-child{border-bottom:0}.lab-table td{white-space:normal;border:0;padding:.65rem .7rem;font-size:.78rem}.lab-table td:first-child{grid-area:1/1;padding-bottom:.1rem}.lab-table td:last-child{text-align:right;grid-area:1/2;padding-bottom:.1rem}.lab-table td:nth-child(2){grid-area:2/1}.lab-table td:nth-child(3){background:0 0;grid-area:2/2}.lab-table td:nth-child(2):before,.lab-table td:nth-child(3):before{color:var(--lab-muted);margin-bottom:.3rem;font-size:.6rem;display:block}.lab-table td:nth-child(2):before{content:"Source balance"}.lab-table td:nth-child(3):before{content:"Output balance"}.lab-table .finding-badge{white-space:nowrap;font-size:.57rem}}.work-illustration .lab-console{border-radius:8px}
.glance{border:1px solid var(--line);background:var(--raised);box-shadow:var(--shadow);border-radius:10px;margin:0;padding:clamp(1.25rem,3vw,2rem)}.glance-headline{color:var(--ink);font:400 clamp(1.35rem, 2.6vw, 1.75rem) / 1.2 var(--font-display);letter-spacing:-.015em;margin:0 0 1rem}.glance-caption,.glance-lesson,.glance-scale{color:var(--muted);font-size:.9rem}.glance-choices{flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;display:flex}.glance-choices button{border:1px solid var(--line-strong);min-height:40px;color:var(--muted);font:500 .88rem var(--font-sans);cursor:pointer;background:0 0;border-radius:999px;padding:.45rem .85rem}.glance-choices button:hover{color:var(--ink);border-color:var(--ink)}.glance-choices button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.glance-integrity{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,2.5rem);display:grid}.glance-ledger{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.glance-ledger th,.glance-ledger td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:.55rem .5rem}.glance-ledger th:first-child{text-align:left;font:.88rem var(--font-mono);color:var(--ink);padding-left:0}.glance-ledger thead th{color:var(--faint);font:500 .75rem var(--font-sans);letter-spacing:.04em;text-transform:uppercase}.glance-ledger thead th:first-child{font:500 .75rem var(--font-sans);color:var(--faint)}.glance-ledger td{color:var(--muted)}.glance-ledger tfoot th,.glance-ledger tfoot td{border-top:1px solid var(--line-strong);color:var(--ink);border-bottom:0;font-weight:600}.glance-ledger tfoot th:first-child{font:600 .88rem var(--font-sans)}.glance-note{width:1%;font-size:.85rem;color:var(--link)!important}.glance-ledger .is-wrong td,.glance-ledger .is-wrong th{color:var(--signal)!important}.glance-ledger tbody .is-wrong{background:color-mix(in srgb, var(--signal) 9%, transparent)}.glance-scale{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);gap:.4rem;margin:0 0 .6rem;font-size:.78rem;display:flex}.glance-checks ol{margin:0;padding:0;list-style:none}.glance-checks li{border-bottom:1px solid var(--line);grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.65rem 0;display:grid}.glance-checks li strong{color:var(--ink);font-weight:500;display:block}.glance-checks li small{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.8rem;display:block}.glance-mark{border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:600;display:grid}.is-pass .glance-mark{color:var(--link);background:color-mix(in srgb, var(--link) 14%, transparent)}.is-fail .glance-mark{color:var(--bg);background:var(--signal)}.glance-checks em{border:1px solid var(--signal);color:var(--signal);font:600 .72rem var(--font-sans);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-style:normal}.glance-lesson{color:var(--ink);margin:1rem 0 0}.glance-strip{grid-template-columns:repeat(24,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.glance-strip li{aspect-ratio:1;border:1px solid var(--line);background:color-mix(in srgb, var(--link) 10%, transparent);color:var(--link);font:600 .85rem var(--font-sans);border-radius:6px;place-items:center;transition:background-color .2s,color .2s;display:grid}.glance-strip .is-unknown{border-style:dashed;border-color:var(--signal);color:var(--signal);background:0 0}.glance-strip .is-duplicate,.glance-strip .is-missed{border-color:var(--signal);background:var(--signal);color:var(--bg)}.glance-strip .is-recovered{border-color:var(--link);background:var(--link);color:var(--bg)}.glance-caption{margin:.8rem 0 1.4rem}.glance-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.glance-options button{border:1px solid var(--line-strong);min-height:44px;color:var(--muted);font:.9rem/1.4 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border-radius:8px;align-content:start;gap:.35rem;padding:.9rem 1rem;display:grid}.glance-options button strong{color:var(--ink);font-size:.95rem;font-weight:600}.glance-options .is-bad>span{color:var(--signal)}.glance-options .is-good>span{color:var(--link)}.glance-options button:hover{border-color:var(--ink)}.glance-options button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface)}.glance-more{margin-top:1rem}.glance-more>button{min-height:40px;color:var(--link);font:500 .95rem var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:inline-flex}.glance-more>p{color:var(--faint);margin:.1rem 0 0;font-size:.85rem}.glance-more>.lab-console{margin-top:1rem}@media (max-width:860px){.glance-integrity,.glance-options{grid-template-columns:1fr}.glance-strip{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (max-width:480px){.glance-strip{grid-template-columns:repeat(8,minmax(0,1fr))}.glance-ledger{font-size:.85rem}.glance-ledger th,.glance-ledger td{padding:.5rem .3rem}}@media (prefers-reduced-motion:reduce){.glance-strip li{transition:none}}
.fs{--fs-bg:#0c1113;--fs-panel:#11191c;--fs-line:#26343a;--fs-ink:#e8efe9;--fs-muted:#9aaca6;--fs-faint:#6b7d78;--fs-accent:#f0b48c;background:var(--fs-bg);color:var(--fs-muted);border:1px solid #233034;border-radius:10px;overflow:hidden;box-shadow:0 18px 50px #0000002e}.fs-serif{font-family:var(--font-display)}.fs-mono{font-family:var(--font-mono)}.fs-bar{border-bottom:1px solid var(--fs-line);font:.78rem var(--font-mono);flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;padding:.85rem 1rem;display:flex}.fs-bar button{min-width:80px;min-height:36px;color:var(--fs-ink);font:inherit;cursor:pointer;background:#162024;border:1px solid #3a4b50;border-radius:5px;padding:0 .9rem;transition:border-color .15s}.fs-bar button:hover{border-color:var(--fs-accent)}.fs-bar button:active{transform:scale(.97)}.fs-bar input[type=range]{min-height:36px;accent-color:var(--fs-accent);flex:220px}.fs-bar dl{flex-wrap:wrap;flex-basis:100%;gap:.35rem 1.5rem;margin:0;display:flex}.fs-bar dl div{gap:.45rem;display:flex}.fs-bar dt{color:var(--fs-faint)}.fs-bar dd{color:var(--fs-ink);font-variant-numeric:tabular-nums;margin:0}.fs-scroll{overflow-x:auto}.fs-pipeline{width:100%;min-width:760px;height:auto;display:block}.fs-placeholder{aspect-ratio:1280/500;background:var(--fs-bg);min-width:760px}.fs-placeholder-map{aspect-ratio:1000/620;min-width:0}.fs-explore{border-top:1px solid var(--fs-line);grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);display:grid}.fs-map-wrap{align-self:center}.fs-map{cursor:crosshair;touch-action:manipulation;width:100%;height:auto;display:block}.fs-detail{border-left:1px solid var(--fs-line);background:var(--fs-panel);padding:1.1rem 1.2rem 1.2rem;font-size:.85rem}.fs-find{color:var(--fs-faint);font:.68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;gap:.35rem;display:grid}.fs-find select{background:var(--fs-bg);min-height:38px;color:var(--fs-ink);font:.86rem var(--font-sans);letter-spacing:0;text-transform:none;border:1px solid #3a4b50;border-radius:5px;padding:0 .6rem}.fs-detail h4{color:var(--fs-ink);font:500 1.25rem/1.25 var(--font-display);margin:1rem 0 .2rem}.fs-origin{color:var(--fs-faint);margin:0 0 .8rem;font-size:.74rem;line-height:1.45}.fs-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0 0 .6rem;display:grid}.fs-stats dt{color:var(--fs-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem}.fs-stats dd{color:var(--fs-ink);font:500 1.3rem/1.2 var(--font-display);font-variant-numeric:tabular-nums;margin:.15rem 0 0}.fs-stats small{color:var(--fs-faint);margin-top:.15rem;font-size:.66rem;line-height:1.35;display:block}.fs-spark{width:100%;height:auto;margin:.2rem 0 .9rem;display:block}.fs-movers{border-top:1px solid var(--fs-line);grid-template-columns:1fr 1fr;gap:.8rem;padding-top:.8rem;display:grid}.fs-movers p{color:var(--fs-faint);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-size:.64rem}.fs-movers ul{margin:0;padding:0;list-style:none}.fs-movers button{width:100%;min-height:30px;color:var(--fs-muted);font:.76rem var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;gap:.5rem;padding:.2rem .35rem;display:flex}.fs-movers button:hover,.fs-movers button[aria-pressed=true]{color:var(--fs-ink);background:#1a2529}.fs-movers b{font-variant-numeric:tabular-nums;font-weight:600}.fs-model{border-top:1px solid var(--fs-line);padding:1rem 1.1rem 1.1rem}.fs-model-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.fs-model-stats strong{color:var(--fs-ink);font:500 1.35rem/1.2 var(--font-display);font-variant-numeric:tabular-nums;display:block}.fs-model-stats div:first-child strong{color:var(--fs-accent)}.fs-model-stats span{margin-top:.2rem;font-size:.74rem;line-height:1.4;display:block}.fs-model-notes{margin-top:.9rem;font-size:.82rem;line-height:1.65}.fs-model-notes summary{min-height:36px;color:var(--fs-ink);cursor:pointer;align-items:center;display:flex}.fs-model-notes p{max-width:80ch;margin:.5rem 0}.fs-model-notes a{color:var(--fs-ink);text-underline-offset:2px;-webkit-text-decoration:underline #3a4b50;text-decoration:underline #3a4b50}.fs :focus-visible{outline:2px solid var(--fs-accent);outline-offset:2px}@media (max-width:900px){.fs-explore{grid-template-columns:1fr}.fs-detail{border-top:1px solid var(--fs-line);border-left:0}.fs-model-stats{grid-template-columns:1fr 1fr}}@media (max-width:480px){.fs-stats{grid-template-columns:1fr 1fr}.fs-movers{grid-template-columns:1fr}}
