@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.39u3dp1q8vt28.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.3-2s2qyqt5syo.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1ob51yn_zh4f3.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.2c9g56gofrre8.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.20ztly1_og8qv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.1d6bt9ufqnym6.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.41bcgzntq2c9e.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.3nx5do2g1gg_d.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.2wkl6p2bjtdkj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.1d956-ol9h5w9.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.37y6j4asgn87a.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.42ydqmu-69p6e.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.3j8b5jptl4nhr.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.2r3_h99a4p2o6.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0k99vu2yejv84.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.2kq1zw7ns-90j.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.38exv3t7tju-g.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.14rtxflq2gk6f.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.1h2_ral94l6aj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.1zyjrbr0w_u4w.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.0hanpnpn3ki-v.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.33q0gwxfwkcq9.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.1bd0br_i69opa.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.0h3aaz4315ad-.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.17-3491c_tfac.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1mkps5wbbyo2a.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.3hxpyk-en1__5.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.3i-6fz_bx7yta.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.0a5-aslyj_wbq.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.00ca59z0uilzq.woff)format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");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-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");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-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-cyrillic-ext-600-normal.0lqep3bw7v3wl.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-600-normal.18owfse_hsbuz.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-cyrillic-600-normal.0qipn60581k5b.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-600-normal.2so0eecqstp1p.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-vietnamese-600-normal.1xowhcc_d3c84.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-600-normal.3o6zfpml9w8yy.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-ext-600-normal.1h4gkbs1bbtv3.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-600-normal.2j6z_fq1740ug.woff)format("woff");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-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-600-normal.30e0eqd5fxn92.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-600-normal.0d95tbzh5g6jj.woff)format("woff");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-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-cyrillic-ext-700-normal.2nigw5odhiibm.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-700-normal.2nbp9nwmk-wxs.woff)format("woff");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-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-cyrillic-700-normal.1703kj4j0qq36.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-700-normal.2ybv8s3vwk2v4.woff)format("woff");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-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-vietnamese-700-normal.3-a8-sgv18rnp.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-700-normal.3f9zrf7d078uo.woff)format("woff");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-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-latin-ext-700-normal.1jrvuoo23--44.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-700-normal.1p428p8h1m-zs.woff)format("woff");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-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-latin-700-normal.2dfeoyem8ph0h.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-700-normal.1o1f7p2gb53xu.woff)format("woff");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}
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--spacing:.25rem;--radius-md:.375rem;--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{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.left-1\/2{left:50%}.z-0{z-index:0}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.w-\[280px\]{width:280px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.min-w-4{min-width:calc(var(--spacing) * 4)}.flex-none{flex:none}.shrink{flex-shrink:1}.basis-8{flex-basis:calc(var(--spacing) * 8)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.\[scrollbar-width\:none\]{scrollbar-width:none}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-center{align-items:center}.overflow-x-auto{overflow-x:auto}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[\#56647A\]{border-color:#56647a}.bg-\[\#101319\]{background-color:#101319}.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))}.\[perspective\:1000px\]{perspective:1000px}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0b0d11}::view-transition-old(root){animation:none}::view-transition-new(root){animation:1.05s cubic-bezier(.16,.72,.2,1) both theme-spread}@keyframes theme-spread{0%{clip-path:circle(0 at 100% 0)}to{clip-path:circle(150% at 100% 0)}}@keyframes tile-settle{0%{transform:perspective(1000px)translate3d(0,-4px,10px)scale(1.004)}58%{transform:perspective(1000px)translateY(1px)scale(.999)}80%{transform:perspective(1000px)translateY(-.5px)scale(1)}to{transform:perspective(900px)translate(0)scale(1)}}@keyframes lift-card-land{0%{transform:translateY(-10px)rotate(0);box-shadow:0 28px 48px -16px #000000c7,0 0 0 1px #5b8def80,0 0 30px #5b8def3d}25%{transform:translateY(0)rotate(-5deg);box-shadow:0 10px 20px -12px #000000ad,0 0 0 1px #5b8def3d,0 0 15px #5b8def1f}43%{transform:translateY(-1px)rotate(3.5deg);box-shadow:0 8px 17px -12px #0000009e,0 0 0 1px #5b8def29}60%{transform:translateY(0)rotate(-2deg);box-shadow:0 7px 15px -12px #00000094}78%{transform:translateY(-.5px)rotate(.8deg);box-shadow:0 6px 13px -12px #00000085}to{transform:translateY(0)rotate(0);box-shadow:0 5px 12px -12px #00000075}}@keyframes crack-impact{0%{opacity:0;transform:translate(-50%)scaleX(.72)}8%{opacity:.9;transform:translate(-50%)scaleX(1)}42%{opacity:.42}to{opacity:0;transform:translate(-50%)scaleX(1.03)}}@keyframes lift-aura-land{0%{opacity:.62;transform:scaleY(.8)}25%{opacity:.4;transform:scale(.94,.68)}43%{opacity:.25;transform:scale(.9,.62)}60%{opacity:.13;transform:scale(.86,.58)}78%{opacity:.05;transform:scale(.82,.55)}to{opacity:0;transform:scale(.78,.52)}}@media (hover:hover){.home-work-row:not(:hover){animation:.3s cubic-bezier(.2,.75,.25,1) tile-settle}.home-work-row:hover{animation:none}}.lift-card{isolation:isolate;transform-origin:50% 100%;border-radius:7px;box-shadow:0 5px 12px -12px #00000075}.lift-card:before{content:"";z-index:0;filter:blur(7px);opacity:0;pointer-events:none;background:radial-gradient(#5b8def4d,#5b8def1a 42%,#0000 72%);border-radius:50%;width:70%;height:20px;transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-9px;left:15%;transform:scale(.75,.55)}.lift-card>.project-card{z-index:1;position:relative}.lift-card.lifted{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1);transform:translateY(-10px);box-shadow:0 28px 48px -16px #000000c7,0 14px 32px -15px #5b8defb8}.lift-card.lifted:before{opacity:.62;transform:scaleY(.8)}.lift-card.landing{animation:.72s cubic-bezier(.3,1,.6,1) forwards lift-card-land}.lift-card.landing:before{animation:.72s cubic-bezier(.3,1,.6,1) forwards lift-aura-land}.impact-crack{color:#5c6470;opacity:0}.impact-crack.crack-flash{animation:.7s ease-out .18s both crack-impact}body{color:#e7e9ec;-webkit-font-smoothing:antialiased;background:#0b0d11;margin:0;font-family:IBM Plex Sans,sans-serif;font-size:17px;font-weight:500;line-height:1.62}a{color:inherit;text-decoration:none}a,button{transition:color .16s,border-color .16s,background-color .16s,transform .16s}a:focus-visible,button:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #5b8def}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.6rem,7vw,5.5rem);font-weight:500}h2{font-size:clamp(1.55rem,3vw,2.35rem);font-weight:500}h3{letter-spacing:-.015em;font-size:1.08rem;font-weight:600}p{color:#d0d3d9}.shell{width:min(1180px,100% - 40px);margin-inline:auto}.mono,.eyebrow,.meta,.nav-link,.tags{font-family:IBM Plex Mono,monospace}.mono,.meta,.tags{font-weight:500}.eyebrow{color:#b2b7c0;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:600;line-height:1.3}.meta{color:#aeb4be;letter-spacing:.03em;font-size:.78rem}.skip-link{z-index:100;color:#0b0d11;background:#e7e9ec;padding:10px 14px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0d11e6;border-bottom:1px solid #3e444f;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 40px);height:82px;margin:auto;display:flex}.wordmark{letter-spacing:-.045em;flex:none;align-items:center;font:600 1.2rem IBM Plex Mono,monospace;display:inline-flex}.wordmark-base{color:#0b0d11;background:#e7e9ec;border-radius:1px;padding:10px 13px;display:inline-block}.title-mark{color:#5b8def}.header-actions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.theme-toggle{color:#aeb3bd;cursor:pointer;background:0 0;border:1px solid #30343d;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;font-size:.95rem;line-height:1;display:grid}.theme-toggle:hover{color:#e7e9ec;border-color:#5b8def}.theme-toggle span{transition:transform .8s cubic-bezier(.2,.8,.2,1);display:block}[data-theme=light] .theme-toggle span{transform:rotate(180deg)}.command-hint{color:#aeb4be;cursor:pointer;background:#12151a;border:1px solid #343943;border-radius:99px;align-items:center;gap:7px;padding:8px 11px;font:500 .74rem IBM Plex Mono,monospace;display:inline-flex}.command-hint:hover{color:#e7e9ec;border-color:#5b8def}.command-hint kbd,.command-search kbd,.command-footer kbd{font:inherit}.command-hint kbd{color:#e7e9ec;text-align:center;background:#20242b;border:1px solid #464d59;border-radius:4px;min-width:18px;padding:1px 5px}.command-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040609bd;place-items:start center;padding:min(16vh,130px) 20px 30px;animation:.16s ease-out both command-fade;display:grid;position:fixed;inset:0}.command-dialog{color:#e7e9ec;background:#101319;border:1px solid #4c5667;border-radius:8px;width:min(620px,100%);font-family:IBM Plex Mono,monospace;animation:.2s cubic-bezier(.2,.8,.2,1) both command-enter;overflow:hidden;box-shadow:0 28px 90px #0000009e,0 0 34px #5b8def17}.command-search{border-bottom:1px solid #343943;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:62px;padding:0 18px;display:grid}.command-search>span{color:#79a2f3;font-weight:600}.command-search input{color:#f0f2f5;caret-color:#79a2f3;background:0 0;border:0;outline:0;width:100%;padding:18px 0;font:500 1rem IBM Plex Mono,monospace}.command-search input::placeholder{color:#747b87}.command-search kbd{color:#969da8;border:1px solid #3e444f;border-radius:4px;padding:3px 6px;font-size:.62rem}.command-list-label{color:#858d99;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:13px 18px 7px;font:600 .62rem IBM Plex Mono,monospace;display:flex}.command-list{padding:5px 8px 9px}.command-list button{color:#c9cdd4;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:22px minmax(110px,.55fr) 1fr 20px;align-items:center;gap:10px;width:100%;min-height:51px;padding:9px 11px;font-family:IBM Plex Mono,monospace;display:grid}.command-list button.selected{color:#f1f3f6;background:#1a202a;box-shadow:inset 2px 0 #5b8def}.command-list button:focus-visible{outline-offset:-1px;outline:1px solid #5b8def}.command-route-state{color:#69717e;place-items:center;font-size:.72rem;display:grid}.command-current-dot{width:7px;height:7px}.command-list strong{font-size:.82rem;font-weight:600}.command-list small{color:#9299a5;font:500 .68rem IBM Plex Sans,sans-serif}.command-enter{color:#79a2f3;text-align:right}.command-empty{color:#9299a5;text-align:center;margin:0;padding:28px 12px 32px;font-size:.78rem}.command-footer{color:#858d99;border-top:1px solid #343943;align-items:center;gap:18px;min-height:45px;padding:8px 16px;font:500 .62rem IBM Plex Mono,monospace;display:flex}.command-footer>span{align-items:center;gap:5px;display:inline-flex}.command-footer kbd{color:#b6bcc6}@keyframes command-fade{0%{opacity:0}to{opacity:1}}@keyframes command-enter{0%{opacity:0;transform:translateY(-5px)scale(.99)}to{opacity:1;transform:none}}@keyframes divider-hum-travel{0%{opacity:0;left:-10%}8%{opacity:.72}92%{opacity:.72}to{opacity:0;left:100%}}.page-heading:after,.home-profile:after,.home-section:after,.work-section:after,.compact-section:after{content:"";z-index:2;pointer-events:none;transform-origin:50%;background:#272c34;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleY(.25)}.page-heading:before,.home-profile:before,.home-section:before,.work-section:before,.compact-section:before{content:"";z-index:3;pointer-events:none;transform-origin:50%;background:linear-gradient(90deg,#0000,#79a2f3 42%,#d5e3ff 50%,#79a2f3 58%,#0000);width:9%;height:1px;animation:12s ease-in-out infinite divider-hum-travel;position:absolute;bottom:0;left:-10%;transform:scaleY(.35);box-shadow:0 0 3px #5b8def61}.page-heading,.home-profile,.home-section,.work-section,.compact-section{position:relative}.page-heading,.home-profile,.home-section,.compact-section,.background-columns{border-bottom-color:#0000}.work-section{border-top-color:#0000;border-bottom-color:#0000}.site-header{border-bottom-width:.5px;border-bottom-color:#3e444f7a}.resume-section{border-top-width:.5px}.hero{border-bottom:1px solid #23262d;min-height:690px;padding:clamp(90px,14vw,165px) 0 110px}.hero h1{max-width:960px;margin:20px 0 22px}.status{color:#c0c5cd;align-items:center;gap:10px;margin-bottom:26px;font:500 .77rem IBM Plex Mono,monospace;display:inline-flex}.status-dot{background:#34d399;border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse;position:relative;box-shadow:0 0 #34d39980}@keyframes pulse{50%{opacity:.5}}.hero-statement{max-width:650px;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.5}.quick-links{flex-wrap:wrap;gap:22px;margin-top:34px;display:flex}.quick-links a,.text-link,.card-links a{color:#5b8def;font-size:.86rem;font-weight:500}.quick-links a:hover,.text-link:hover,.card-links a:hover{color:#8db0f5}.section-split,.section-block,.contact-block{border-bottom:1px solid #23262d;padding:96px 0}.section-split{grid-template-columns:minmax(220px,.8fr) 1.5fr;gap:clamp(50px,10vw,150px);display:grid}.section-split h2{max-width:340px}.experience-preview>p{max-width:670px}.role-brand{align-items:center;gap:18px;display:flex}.role-brand img,.resume-role img{filter:brightness(0)invert();width:auto;height:auto}.row-head,.section-title-row{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.row-head p{margin-bottom:0}.row-head .meta{flex:none}.section-title-row{align-items:flex-end;margin-bottom:38px}.section-title-row h2{margin-bottom:0}.project-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.page-grid{padding-bottom:110px}.project-card{--tech-stack-bg:#14171d;isolation:isolate;cursor:pointer;background:#14171d;border:1px solid #464d59;border-radius:7px;height:100%;min-height:320px;padding:0;transition:border-color .2s,background-color .2s;display:block;position:relative;overflow:visible}.project-card>article,article.project-card{z-index:1;flex-direction:column;height:100%;padding:20px;display:flex;position:relative}.project-card:hover{background:#181c23;border-color:#66738a}.project-card:focus-visible{border-color:#5b8def}.project-card h2{margin:16px 0 12px;font-size:1.55rem}.project-meta{align-items:center;gap:8px;min-height:18px;display:flex}.project-meta .meta{margin:0}.project-card article>p:not(.meta),article.project-card>p:not(.meta){-webkit-line-clamp:3;color:#d3d6dc;-webkit-box-orient:vertical;min-height:4.65em;margin-bottom:16px;font-size:.96rem;font-weight:500;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card .tech-stack-slot{margin:auto 0 14px}.tech-stack-badge{z-index:1;transition:border-color .16s,box-shadow .2s,transform .16s}.tech-stack-badge:hover,.tech-stack-badge:focus-visible{box-shadow:none;border-color:#9dbaf2;outline:none;transform:none}.tech-stack-floating-label{z-index:200;color:#dde7fa;pointer-events:none;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;width:max-content;max-width:160px;padding-left:9px;font:600 .64rem/1.2 IBM Plex Mono,monospace;display:block;position:fixed;transform:translate(-50%,-100%)}.tech-stack-floating-label:before{content:"";background:#7ea8f7;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tech-stack-connector{z-index:0;margin-inline:7px;position:relative}.tech-stack-connector svg{display:block;overflow:hidden}.tech-stack-connector path{fill:none;stroke:#91b1ee;stroke-width:2px;vector-effect:non-scaling-stroke}.card-links{border-top:1px solid #464d59;gap:20px;padding-top:16px;display:flex}.card-links>span{color:#78a2f4;font-size:.86rem;font-weight:600}.project-card:hover .card-links>span{color:#a9c2f7}.contact-block{padding-right:28%}.contact-block h2{margin:20px 0;font-size:clamp(2rem,5vw,4.2rem)}.footer{justify-content:space-between;align-items:center;gap:20px;min-height:130px;display:flex}.footer p{color:#9ca2ad;flex-direction:column;gap:5px;margin:0;font:500 .72rem IBM Plex Mono,monospace;display:flex}.footer-origin{color:#748096;width:fit-content;font-size:.66rem;font-weight:700}.footer-origin:hover{color:#8caef2}.footer div{color:#868c97;align-items:center;gap:22px;font-size:.78rem;display:flex}.footer-visit-count{color:#8e96a3;white-space:nowrap;align-items:center;gap:7px;font:500 .67rem IBM Plex Mono,monospace;display:inline-flex}.footer-visit-count i{background:#6f9bef;border-radius:50%;width:5px;height:5px;animation:3.8s ease-in-out infinite traffic-pulse;box-shadow:0 0 8px #6f9befa6}.page-heading{border-bottom:0;padding:42px 0 34px}.page-heading h1{max-width:900px;margin:10px 0 12px;font-size:clamp(2.45rem,5vw,3.7rem)}.page-intro{max-width:690px;font-size:1.13rem}.contribution-list{padding:42px 0 28px}.contribution-card{--tech-stack-bg:#101319;isolation:isolate;background:#101319;border:1px solid #464d59;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px;display:grid;position:relative;overflow:hidden}.contribution-card:hover{background:#12161d;border-color:#66728a;transform:translateY(-2px)}.contribution-logo{background:#181d19;border:1px solid #334125;border-radius:4px;place-items:center;width:64px;height:64px;display:grid}.contribution-copy{flex-direction:column;min-width:0;display:flex}.contribution-copy .meta{color:#9aa0aa;margin-bottom:7px}.contribution-copy strong{color:#e7e9ec;letter-spacing:-.025em;margin-bottom:7px;font-size:1.28rem}.contribution-copy>span:last-child{color:#c7cbd2;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:690px;font-size:.9rem;display:-webkit-box;overflow:hidden}.contribution-meta{flex-direction:column;align-items:flex-end;gap:17px;display:flex}.contribution-meta .tech-stack-slot{min-width:240px}.contribution-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.contribution-tags small{color:#bec3cb;border:1px solid #343943;border-radius:99px;padding:4px 7px;font:500 .66rem IBM Plex Mono,monospace}.contribution .row-head{grid-column:1}.contribution>p,.contribution>a{grid-column:2}.contribution>p{grid-row:1}.contribution>a{align-self:end}.repo-list{border-top:1px solid #23262d}.repo-row{border-bottom:1px solid #23262d;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px 0;display:grid}.repo-row:hover strong{color:#5b8def}.repo-row strong,.repo-row small{display:block}.repo-row small{color:#868c97;max-width:710px;margin-top:3px;font-size:.82rem;line-height:1.45}.repo-row time{color:#9da3ad;white-space:nowrap;font:500 .72rem IBM Plex Mono,monospace}.repo-language .tech-stack-slot{width:38px}.repo-language .tech-stack-badge{border-radius:3px;width:38px;height:38px;transform:none}.repo-language .tech-stack-badge>svg{width:17px;height:17px}.repository-compact{align-items:start}.repository-compact>div{min-width:0}.repo-reveal{color:#8caef2;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:100%;padding:21px 0 8px;font:600 .72rem IBM Plex Mono,monospace;display:grid}.repo-reveal-line{background:#373d47;height:1px;position:relative;overflow:hidden;transform:scaleY(.5)}.repo-reveal-line:after{content:"";background:linear-gradient(90deg,#0000,#79a2f3 42%,#d5e3ff 50%,#79a2f3 58%,#0000);width:12%;animation:12s ease-in-out infinite divider-hum-travel;position:absolute;top:0;bottom:0;left:-10%;box-shadow:0 0 3px #5b8def61}.repo-reveal-copy{white-space:nowrap;align-items:center;gap:12px;display:inline-flex}.repo-reveal-dots{align-items:center;gap:5px;display:inline-flex}.repo-reveal-dots i{background:#79a2f3;border-radius:50%;width:3px;height:3px;box-shadow:0 0 6px #79a2f3c7}.repo-reveal-dots i:nth-child(2),.repo-reveal-dots i:nth-child(4){opacity:.7;width:5px;height:5px}.repo-reveal-dots i:nth-child(3){width:7px;height:7px;box-shadow:0 0 10px #79a2f3f2}.repo-reveal:hover{color:#c5d7fa}.repo-reveal:hover .repo-reveal-dots i{animation:.9s ease-in-out infinite alternate repo-dot-glow}@keyframes repo-dot-glow{to{opacity:1;transform:scale(1.25);box-shadow:0 0 12px #79a2f3}}.year-groups{padding:40px 0 100px}.year-group{border-bottom:1px solid #23262d;grid-template-columns:150px 1fr;display:grid}.year-group>h2{color:#868c97;padding-top:43px;font-size:.8rem}.post-row{border-bottom:1px solid #23262d;grid-template-columns:80px 154px minmax(0,1fr);align-items:center;gap:22px;padding:28px 0;display:grid}.post-row.no-preview{grid-template-columns:80px minmax(0,1fr)}.year-group:last-child,.post-row:last-child{border-bottom:0}.post-preview{background:#14171d;border:1px solid #2d323b;border-radius:3px;width:154px;height:92px;display:block;overflow:hidden}.post-preview img{object-fit:cover;filter:saturate(.76)contrast(1.04);width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s;display:block}.post-row:hover .post-preview img{filter:saturate(.95)contrast(1.04);transform:scale(1.035)}.post-copy{min-width:0}.post-row h3 a:hover{color:#5b8def}.post-row p{max-width:700px;margin-bottom:0;font-size:.92rem}.fallback{background:#14171d;border:1px solid #23262d;margin:80px 0 120px;padding:38px}.dense-section{border-bottom:1px solid #23262d;padding:64px 0}.about-section{border-bottom:1px solid #23262d;grid-template-columns:minmax(150px,.45fr) 1.55fr;gap:60px;padding:65px 0;display:grid}.about-section>div{max-width:790px}.about-section>div p{font-size:1.05rem}.dense-section>h2{margin-bottom:32px}.timeline-row{border-top:1px solid #23262d;justify-content:space-between;gap:40px;padding:24px 0;display:flex}.timeline-row h3,.timeline-row p{margin-bottom:4px}.timeline-row.detailed>div{max-width:760px}.timeline-row ul{color:#aeb3bd;padding-left:18px}.company{color:#e7e9ec}.stack-line{color:#868c97;font-size:.7rem}.distinct{background:#14171d;border:1px solid #23262d;margin-top:55px;padding-inline:34px}.cert-list{columns:2;color:#aeb3bd;padding-left:20px}.archive{margin-top:55px}.archive-grid{background:#23262d;border:1px solid #23262d;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.archive-grid a{background:#0b0d11;flex-direction:column;gap:5px;padding:24px;display:flex}.archive-grid a:hover strong{color:#5b8def}.archive-grid span{color:#868c97;font-size:.84rem}.print-button{color:#79a2f3;border:1px solid #384765;padding:10px 14px;font:500 .72rem IBM Plex Mono,monospace;position:sticky;top:86px}.skills-list>div{grid-template-columns:210px 1fr;gap:25px;padding:10px 0;display:grid}.skills-list dt{font-weight:600}.skills-list dd{color:#aeb3bd;margin:0}.placeholder-card{background:#14171d;border:1px solid #23262d;max-width:750px;margin:80px auto 130px;padding:50px}.placeholder-card h2{margin:22px 0 15px}.home-profile{border-bottom:0;grid-template-columns:160px minmax(0,760px);align-items:center;gap:clamp(24px,2.7vw,34px);min-height:0;padding:22px 0;display:grid}.home-portrait-wrap{align-self:center}.home-portrait{object-fit:cover;object-position:center top;filter:saturate(.82)contrast(1.03);border:1px solid #555d69;border-radius:3px;width:160px;height:185px;display:block}.home-portrait-wrap span{color:#a3a9b3;letter-spacing:.035em;white-space:nowrap;margin-top:7px;font-size:.64rem;font-weight:600;display:block}.home-profile-copy{padding-top:0}.home-profile h1{letter-spacing:-.055em;max-width:760px;margin:8px 0 10px;font-size:clamp(2.8rem,5vw,4.35rem);line-height:.98}.home-profile .status{margin-bottom:9px}.home-intro{max-width:740px;margin-bottom:0;font-size:1rem;line-height:1.48}.home-profile .quick-links{gap:clamp(22px,3vw,38px);margin-top:16px}.home-profile .quick-links a{align-items:center;gap:9px;margin:0;padding:6px 0 8px;display:inline-flex;position:relative}.home-profile .quick-links a:after{content:"";transform-origin:0;background:linear-gradient(90deg,#5b8def,#0000);height:1px;transition:transform .2s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.home-profile .quick-links a:hover:after,.home-profile .quick-links a:focus-visible:after{transform:scaleX(1)}.home-profile .quick-links svg{flex:none;width:16px;height:16px;transition:transform .2s}.home-profile .quick-links a:hover svg{transform:translateY(-1px)}.role-eyebrow{align-items:center;gap:7px;margin-bottom:0;display:inline-flex}.role-eyebrow img{object-fit:contain;filter:brightness(0)invert();width:38px;height:14px}.home-section{border-bottom:0;padding:34px 0 40px}.home-section>header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:17px;display:flex}.home-section>header h2{margin:5px 0 0;font-size:1.65rem}.home-section>header>a{color:#79a2f3;border-bottom:1px solid #0000;padding-bottom:2px;font-size:.78rem}.home-section>header>a:hover{border-color:currentColor}.home-work-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.home-work-row{--tech-stack-bg:#101319;isolation:isolate;min-height:178px;transform-style:preserve-3d;background:#101319;border:1px solid #464d59;border-radius:7px;padding:20px 21px;transition:transform .38s cubic-bezier(.16,.82,.2,1),box-shadow .38s,border-color .2s,background-color .2s;display:block;position:relative;overflow:visible}.home-work-row:before{content:"";z-index:-1;filter:blur(7px);opacity:0;pointer-events:none;background:radial-gradient(#5b8def57,#5b8def1a 42%,#0000 72%);width:72%;height:24px;transition:opacity .22s,transform .3s;position:absolute;bottom:-13px;left:14%;transform:scale(.72,.55)}.home-work-row:hover{background:#12161d;border-color:#68758c;transform:perspective(1000px)translate3d(0,-4px,10px)scale(1.004);box-shadow:0 14px 24px -12px #000000b8,0 9px 18px -16px #5b8defb3}.home-work-row:hover:before{opacity:1;transform:scale(1)}.home-work-row>div>span{color:#8caef2;max-width:calc(100% - 38px);margin-bottom:21px;font-size:.72rem;font-weight:600;display:block}.home-work-row>div>.tech-stack-slot{margin-bottom:19px}.home-work-row h3{margin-bottom:7px;font-size:1.12rem}.home-work-row p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.86rem;line-height:1.52;display:-webkit-box;overflow:hidden}.home-contribution-row{grid-template-columns:50px minmax(0,1fr);align-items:center;gap:18px;min-height:130px;display:grid}.home-contribution-row .home-work-logo{background:#181d19;border:1px solid #334125;border-radius:4px;width:50px;height:50px;padding:10px}.home-contribution-row>div>span{margin-bottom:7px}.home-contribution-row p{-webkit-line-clamp:2;max-width:720px}.skills-band{border-bottom:1px solid #23262d;grid-template-columns:270px 1fr;gap:clamp(42px,6vw,82px);padding:70px 0 85px;display:grid}.skills-heading h2{margin:8px 0 0}.skills-compact{grid-template-columns:repeat(2,1fr);gap:20px 40px;display:grid}.skills-compact div{border-top:1px solid #23262d;padding-top:14px}.skills-compact h3{color:#e7e9ec;letter-spacing:.04em;margin-bottom:8px;font-size:.7rem}.skills-compact p{margin:0;font-size:.86rem;line-height:1.55}.capability-grid{border-top:1px solid #23262d;border-left:1px solid #23262d;grid-template-columns:repeat(2,1fr);display:grid}.capability-grid article{border-bottom:1px solid #23262d;border-right:1px solid #23262d;min-height:165px;padding:20px}.capability-grid span{color:#79a2f3;font-size:.7rem}.capability-grid h3{margin:22px 0 7px}.capability-grid p{color:#d0d3d9;margin:0;font-size:.94rem;line-height:1.55}.project-featured{border-bottom:1px solid #23262d;padding:65px 0 85px}.work-section{border:0;padding:34px 0 44px}.work-section>header{grid-template-columns:1fr 1fr;align-items:end;gap:32px;margin-bottom:20px;display:grid}.work-section>header h2{margin:0}.work-section>header>p{justify-self:end;max-width:470px;margin:0}.work-section.priority{background:linear-gradient(#5b8def09,#0000 55%)}.work-section.priority .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.project-collection{scroll-margin-top:100px}.project-collection-toggle{margin-top:16px}.repository-section{border-bottom:1px solid #23262d;padding:75px 0}.repository-section>header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.repository-section>header h2{order:-1;margin:0}.repository-section>header .eyebrow{margin-bottom:5px}.repository-grid{border-top:1px solid #23262d;border-left:1px solid #23262d;grid-template-columns:repeat(3,1fr);display:grid}.repository-card{border-bottom:1px solid #23262d;border-right:1px solid #23262d;flex-direction:column;min-height:205px;padding:22px;display:flex}.repository-card:hover{background:#14171d}.repository-card>div,.repository-card footer{justify-content:space-between;gap:18px;display:flex}.repository-card h3{overflow-wrap:anywhere}.repository-card>div>span{color:#5b8def}.repository-card p{margin-bottom:25px;font-size:.84rem;line-height:1.5}.repository-card footer{color:#a0a6b0;margin-top:auto;font:500 .69rem IBM Plex Mono,monospace}.life-page{padding:80px 0 105px}.life-heading{grid-template-columns:1fr 1.5fr;gap:25px 80px;margin-bottom:52px;display:grid}.life-heading .eyebrow{grid-column:1/-1}.life-heading h1{margin:0;font-size:clamp(2.5rem,5vw,4.2rem)}.life-heading>p:last-child{text-align:right;text-wrap:balance;place-self:end;width:100%;max-width:570px;margin:0 0 24px;font-size:1.05rem;line-height:1.55}.widget-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:10px;display:grid}.life-widget{isolation:isolate;background:#181b21;border:1px solid #292d35;border-radius:5px;flex-direction:column;justify-content:flex-end;padding:25px;transition:border-color .45s,transform .45s cubic-bezier(.2,.8,.2,1),background-color .45s;display:flex;position:relative;overflow:hidden}.life-widget:before{content:"";z-index:0;opacity:0;transform-origin:50% 100%;pointer-events:none;background:linear-gradient(160deg,#5b8def08 10%,#5b8def21 72%,#5b8def33);transition:transform .68s cubic-bezier(.16,.76,.24,1),opacity .35s;position:absolute;inset:0;transform:scaleY(0)}.life-widget>*{z-index:1;position:relative}.life-widget:hover,.life-widget:focus-visible{border-color:#4d6288;outline:0;transform:translateY(-2px)}.life-widget:hover:before,.life-widget:focus-visible:before{opacity:1;transform:scaleY(1)}.life-widget .widget-label{color:#b0b5be;letter-spacing:.05em;text-transform:uppercase;font:600 .72rem IBM Plex Mono,monospace;transition:color .4s,letter-spacing .55s;position:absolute;top:22px;left:25px}.life-widget:hover .widget-label,.life-widget:focus-visible .widget-label{color:#90b2f5;letter-spacing:.08em}.life-widget strong{color:#e7e9ec;letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:600;line-height:1.05;transition:transform .55s cubic-bezier(.2,.8,.2,1),margin .55s;display:block}.life-widget p,.life-widget .status-inline{opacity:0;max-width:440px;max-height:0;margin:0;transition:max-height .55s cubic-bezier(.2,.8,.2,1),opacity .38s .12s,transform .55s cubic-bezier(.2,.8,.2,1);overflow:hidden;transform:translateY(15px)}.life-widget:hover strong,.life-widget:focus-visible strong{margin-bottom:8px;transform:translateY(-2px)}.life-widget:hover p,.life-widget:focus-visible p,.life-widget:hover .status-inline,.life-widget:focus-visible .status-inline{opacity:1;max-height:90px;transform:translateY(0)}.life-widget>i{color:#5b8def;font-style:normal;position:absolute;top:19px;right:22px}.widget-waka{background:#1a1e27;grid-area:span 2/span 7}.waka-breadth{margin-top:17px}.waka-breadth>header{color:#aeb4be;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:8px;font:600 .65rem IBM Plex Mono,monospace;display:flex}.waka-breadth>header>div{gap:13px;display:flex}.waka-breadth>header small{color:#758094;font:inherit}.waka-breadth>header small+small{color:#91a9d7;border-left:1px solid #3a414e;padding-left:13px}.waka-breadth>div{border-top:1px solid #3a414e;border-left:1px solid #3a414e;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.waka-breadth article{border-bottom:1px solid #3a414e;border-right:1px solid #3a414e;grid-template-columns:39px 1fr;align-content:center;column-gap:7px;min-width:0;min-height:60px;padding:7px 9px 10px;display:grid;position:relative;overflow:hidden}.waka-breadth article b{color:#7fa5f2;grid-row:span 2;align-self:center;font:500 .82rem IBM Plex Mono,monospace}.waka-breadth article span{color:#d9dce2;text-overflow:ellipsis;white-space:nowrap;font:600 .63rem IBM Plex Mono,monospace;overflow:hidden}.waka-breadth article small{color:#858e9c;white-space:nowrap;font:500 .54rem IBM Plex Mono,monospace}.waka-breadth article i{background:linear-gradient(90deg,#5b8def,#8060f2);max-width:100%;height:2px;position:absolute;bottom:0;left:0;right:auto;box-shadow:0 0 7px #5b8def40}.widget-code{grid-area:span 2/span 5}.github-overview{align-items:flex-end;gap:13px;margin-bottom:20px;display:flex}.widget-code .github-overview strong{color:#78a0f0;letter-spacing:-.08em;font:500 clamp(3.8rem,7vw,6.4rem)/.75 IBM Plex Mono,monospace}.github-overview>span{color:#aeb5c0;letter-spacing:.08em;text-transform:uppercase;padding-bottom:2px;font:600 .68rem IBM Plex Mono,monospace}.github-signals{border-block:1px solid #353b47;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px;display:grid}.github-signals>span{align-items:baseline;gap:7px;min-width:0;padding:10px 8px 10px 0;display:flex}.github-signals>span+span{border-left:1px solid #353b47;padding-left:11px}.github-signals b{color:#dfe4ec;font:600 1rem IBM Plex Mono,monospace}.github-signals small{color:#8f98a7;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font:600 .56rem IBM Plex Mono,monospace;overflow:hidden}.github-language-mix>span,.github-language-mix>small{color:#7f8998;letter-spacing:.05em;text-transform:uppercase;font:600 .52rem IBM Plex Mono,monospace;display:block}.github-language-strip{gap:4px;height:4px;margin:7px 0 6px;display:flex}.github-language-strip i{flex:var(--language-share) 1 0;background:hsl(calc(217deg + var(--language-index) * 9deg) 74% calc(66% - var(--language-index) * 3%));border-radius:999px;min-width:7px;position:static;box-shadow:0 0 9px #5b8def29}.github-language-mix>small{color:#a2aab7;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.widget-run{color:#0b0d11;background:#e7e9ec;grid-area:span 2/span 5}.widget-run .widget-label,.widget-run p{color:#555d68}.widget-run strong{color:#0b0d11}.basketball-content{z-index:2;position:relative}.basketball-court-bg{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .65s cubic-bezier(.2,.8,.2,1);inset:0;z-index:0!important;position:absolute!important}.basketball-court-lines{fill:none;stroke:#34404f;stroke-width:1.35px;vector-effect:non-scaling-stroke;opacity:.2}.basketball-court-lines *{vector-effect:non-scaling-stroke}.widget-run:hover .basketball-court-bg,.widget-run:focus-visible .basketball-court-bg{opacity:1}.basketball-shots circle{vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(0)}.basketball-shots .shot-make{fill:#c95e35;stroke:none}.basketball-shots .shot-miss{fill:none;stroke:#596575;stroke-width:1.4px}.widget-run:hover .basketball-shots circle,.widget-run:focus-visible .basketball-shots circle{animation:.42s cubic-bezier(.2,.75,.28,1.3) forwards shot-pop}@keyframes shot-pop{0%{opacity:0;transform:scale(0)}68%{opacity:.84;transform:scale(1.3)}to{opacity:.78;transform:scale(1)}}.widget-traffic{background:#141923;grid-area:span 2/span 7;justify-content:flex-end}.traffic-total{align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.traffic-total strong{color:#86aaf2;letter-spacing:-.07em;font:500 clamp(2.8rem,7vw,5.7rem)/.85 IBM Plex Mono,monospace}.traffic-total span{color:#9da5b2;letter-spacing:.06em;text-transform:uppercase;font:600 .68rem IBM Plex Mono,monospace}.traffic-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:7px;height:72px;display:grid}.traffic-bars>div{grid-template-rows:1fr auto;align-items:end;gap:6px;height:100%;display:grid}.traffic-bars>div>span{background:linear-gradient(#8aaef3,#3b5f9e);border-radius:2px 2px 0 0;min-height:3px;transition:height .7s cubic-bezier(.2,.8,.2,1),filter .25s;box-shadow:0 0 12px #5b8def2e}.traffic-bars>div:hover>span{filter:brightness(1.22)}.traffic-bars small{color:#788190;text-align:center;text-transform:uppercase;font:500 .55rem IBM Plex Mono,monospace}.widget-traffic p{margin-top:12px;font-size:.7rem}@keyframes traffic-pulse{50%{opacity:.45;box-shadow:0 0 3px #6f9bef40}}.status-inline{color:#969da8;text-transform:uppercase;margin-top:17px;font:500 .7rem IBM Plex Mono,monospace}.status-inline b{background:#f5a623;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.widget-writing{grid-column:span 8}.widget-writing:after{content:"";z-index:0;opacity:.45;pointer-events:none;background:repeating-linear-gradient(#82a4e633 0 1px,#0000 1px 14px);border-left:1px solid #82a4e62e;width:150px;height:82px;position:absolute;bottom:24px;right:28px;transform:rotate(-3deg)}.widget-principle{grid-column:span 4;min-width:0}.widget-principle:after{content:"";z-index:0;aspect-ratio:1;pointer-events:none;border:1px solid #7da6f424;border-radius:50%;width:142px;position:absolute;bottom:-42px;right:-9px;box-shadow:0 0 0 20px #7da6f406,0 0 0 40px #7da6f403}.heartfulness-mark{opacity:.09;pointer-events:none;width:118px;height:auto;transition:opacity .45s,transform .6s cubic-bezier(.2,.8,.2,1);bottom:13px;right:13px;z-index:0!important;position:absolute!important}.heartfulness-mark-light{display:none}.widget-principle:hover .heartfulness-mark,.widget-principle:focus-visible .heartfulness-mark{opacity:.17;transform:translateY(-3px)}.widget-principle blockquote{color:#e7e9ec;letter-spacing:-.02em;max-width:300px;margin:0;font-size:clamp(1.02rem,1.45vw,1.28rem);font-weight:600;line-height:1.22}.widget-principle p{max-width:280px;font-size:.72rem;line-height:1.4}.widget-principle:hover p,.widget-principle:focus-visible p{margin-top:7px}.widget-sports{background:#20242b;grid-column:span 4;justify-content:flex-end;min-width:0;padding:52px 22px 20px}.widget-sports:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(145deg,#80a4eb14,#80a4eb00);border:1px solid #80a4eb2b;width:138px;height:138px;position:absolute;bottom:-52px;right:22px;transform:rotate(45deg)}.widget-sports strong{letter-spacing:-.025em;font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.16}.widget-sports p{font-size:.76rem;line-height:1.38}.widget-sports:hover strong,.widget-sports:focus-visible strong{margin-bottom:6px;transform:none}.widget-spotify{background:#18241e;grid-column:span 8}.lastfm-art{opacity:.13;filter:saturate(.7)contrast(1.08);pointer-events:none;background-position:50%;background-size:cover;inset:0;z-index:0!important;position:absolute!important}.lastfm-art:after{content:"";background:linear-gradient(90deg,#18241efa 0%,#18241ed4 52%,#18241e6b);position:absolute;inset:0}.widget-spotify strong{z-index:2;text-overflow:ellipsis;white-space:nowrap;max-width:72%;margin-bottom:-.1em;padding-bottom:.1em;line-height:1.15;position:relative;overflow:hidden}.lastfm-tracks{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;max-width:72%;margin-top:11px;display:grid;position:relative}.lastfm-tracks>span{border-top:1px solid #7be4b533;min-width:0;padding-top:7px}.lastfm-tracks b,.lastfm-tracks small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lastfm-tracks b{color:#dde7e1;font-size:.72rem;font-weight:600}.lastfm-tracks small{color:#91a49a;font:500 .57rem IBM Plex Mono,monospace}.spotify-motion{color:#34d399;pointer-events:none;width:190px;height:105px;top:43px;right:13px;z-index:0!important;position:absolute!important}.spotify-core,.spotify-node,.spotify-note,.spotify-equalizer{place-items:center;display:grid;position:absolute}.spotify-core{opacity:.28;filter:drop-shadow(0 0 12px #34d39929);width:48px;height:48px;font-size:42px;transition:opacity .4s,transform .7s cubic-bezier(.2,.8,.2,1);top:28px;right:54px}.spotify-node{color:#7be4b5;opacity:.42;background:#34d3990f;border:1px solid #7be4b52e;border-radius:50%;width:25px;height:25px;font-size:14px}.spotify-disc{top:47px;left:20px}.spotify-headphones{top:11px;right:11px}.spotify-play{font-size:11px;bottom:1px;right:2px}.spotify-note{opacity:.2;font-size:2.45rem;line-height:1;top:4px;left:58px;transform:rotate(-9deg)}.spotify-equalizer{opacity:.3;grid-auto-flow:column;align-items:end;gap:3px;width:34px;height:24px;top:5px;left:4px}.spotify-equalizer i{background:currentColor;border-radius:2px;width:3px;height:35%}.spotify-equalizer i:nth-child(2){height:76%}.spotify-equalizer i:nth-child(3){height:52%}.spotify-equalizer i:nth-child(4){height:92%}.widget-spotify:hover .spotify-core,.widget-spotify:focus-visible .spotify-core{opacity:.62;transform:scale(1.06)rotate(7deg)}.widget-spotify:hover .spotify-disc,.widget-spotify:focus-visible .spotify-disc{animation:2.8s ease-in-out infinite spotify-disc-orbit}.widget-spotify:hover .spotify-headphones,.widget-spotify:focus-visible .spotify-headphones{animation:2.2s ease-in-out infinite alternate spotify-headphones-float}.widget-spotify:hover .spotify-play,.widget-spotify:focus-visible .spotify-play{animation:2.5s ease-in-out infinite alternate spotify-play-drift}.widget-spotify:hover .spotify-note,.widget-spotify:focus-visible .spotify-note{animation:2.4s ease-in-out infinite spotify-note-rise}.widget-spotify:hover .spotify-equalizer i,.widget-spotify:focus-visible .spotify-equalizer i{animation:.75s ease-in-out infinite alternate spotify-level}.widget-spotify:hover .spotify-equalizer i:nth-child(2){animation-delay:-.35s}.widget-spotify:hover .spotify-equalizer i:nth-child(3){animation-delay:-.55s}.widget-spotify:hover .spotify-equalizer i:nth-child(4){animation-delay:-.2s}@keyframes spotify-disc-orbit{50%{transform:translate(9px,-8px)rotate(180deg)}to{transform:rotate(360deg)}}@keyframes spotify-headphones-float{to{opacity:.7;transform:translate(-7px,8px)rotate(-8deg)}}@keyframes spotify-play-drift{to{opacity:.72;transform:translate(-10px,-5px)scale(1.08)}}@keyframes spotify-note-rise{50%{opacity:.45;transform:translate(4px,-8px)rotate(3deg)}}@keyframes spotify-level{to{opacity:.9;height:96%}}.widget-credo{background:#1d1d25;grid-column:span 5;min-width:0;padding-block:20px}.widget-credo:after{content:"?";z-index:0;color:#81a3e61a;pointer-events:none;font:500 9rem/1 IBM Plex Mono,monospace;position:absolute;bottom:-28px;right:22px;transform:rotate(8deg)}.widget-credo blockquote{color:#e8eaf0;letter-spacing:-.02em;max-width:470px;margin:0;font-size:clamp(1.12rem,1.7vw,1.5rem);font-weight:600;line-height:1.24}.widget-credo p{font-size:.78rem;line-height:1.4}.widget-credo:hover p,.widget-credo:focus-visible p{margin-top:7px}.widget-travel{background:#171d22;grid-column:span 7;min-width:0;padding-block:20px}.widget-travel:after{content:"";z-index:0;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);pointer-events:none;background:linear-gradient(135deg,#6189d614,#0000 72%);width:46%;height:100%;position:absolute;top:0;right:0}.widget-travel strong{max-width:470px;font-size:clamp(1.35rem,2.4vw,2rem)}.widget-travel p{font-size:.8rem;line-height:1.4}.travel-route{pointer-events:none;opacity:.28;width:100%;height:100%;inset:0;z-index:0!important;position:absolute!important}.travel-route>path{fill:none;stroke:#6f93d9;stroke-width:1.2px;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}.travel-route circle{fill:#8aaef3;filter:drop-shadow(0 0 5px #7da6f4b3)}.travel-marker{fill:#92b3f2;opacity:.58;transform-box:fill-box;transform-origin:50%}.widget-travel:hover .travel-marker,.widget-travel:focus-visible .travel-marker{animation:3.2s ease-in-out infinite alternate travel-marker-drift}@keyframes travel-marker-drift{to{opacity:.9;transform:translate(82px,-31px)rotate(8deg)}}.widget-activity{grid-column:span 12}.widget-activity:after{content:"";z-index:0;opacity:.3;filter:drop-shadow(0 0 5px #6995eb38);pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 70'%3E%3Cpath d='M0 39h72l13-17 17 35 21-49 20 31h62l13-13 16 23 19-10h177' fill='none' stroke='%2388aaf0' stroke-width='1.4'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;width:min(42%,430px);height:70px;position:absolute;bottom:31px;right:30px}.pending-widget{border-style:dashed}.background-page{padding:68px 0 90px}.profile-intro{border-bottom:1px solid #23262d;grid-template-columns:210px 1fr;align-items:start;gap:clamp(38px,7vw,90px);padding-bottom:55px;display:grid}.profile-photo{aspect-ratio:4/5;background:#14171d;border:1px solid #2a2e36;border-radius:4px;place-items:center;display:grid;overflow:hidden}.profile-photo span{color:#5b8def;font:500 2rem IBM Plex Mono,monospace}.profile-photo img{object-fit:cover;object-position:center top;width:100%;height:100%}.profile-intro h1{max-width:750px;margin:12px 0 18px;font-size:clamp(2.15rem,4.2vw,3.6rem)}.profile-copy{max-width:760px;margin-bottom:16px;font-size:1rem;line-height:1.55}.compact-section{border-bottom:0;grid-template-columns:190px 1fr;gap:45px;padding:38px 0;display:grid}.compact-section>header{align-items:baseline;gap:10px;display:flex}.compact-section>header>span{color:#5b8def}.compact-section h2{margin:0;font-size:1rem;font-weight:600}.compact-row{border-top:1px solid #23262d;grid-template-columns:64px 1fr auto;align-items:start;gap:16px;padding:14px 0;display:grid}.compact-row:first-child{border-top:0;padding-top:0}.org-mark{color:#5b8def;background:#14171d;border:1px solid #2a2e36;border-radius:3px;place-items:center;width:38px;height:38px;font:500 .66rem IBM Plex Mono,monospace;display:grid}.org-mark.org-logo{background:0 0;border:0;place-self:center;width:64px;height:42px;padding:4px;overflow:visible}.org-mark.org-logo:not(.org-logo-wide) img{width:34px;margin-inline:auto}.org-mark.org-logo-wide{padding:3px 4px}.org-mark.org-logo-dark-canvas{background:#f7f7f5;border-radius:3px;padding:4px}.org-mark.org-logo img{object-fit:contain;width:100%;height:100%;display:block}.compact-row h3,.compact-row p{margin-bottom:3px}.compact-row p{max-width:710px;font-size:.82rem;line-height:1.45}.compact-row time{color:#9da3ad;white-space:nowrap;font:500 .72rem IBM Plex Mono,monospace}.background-columns{border-bottom:0;grid-template-columns:1.35fr 1fr;gap:55px;display:grid}.background-columns .compact-section{border:0;grid-template-columns:1fr;gap:20px}.mini-row{border-top:1px solid #23262d;padding:12px 0}.mini-row h3,.mini-row p{margin-bottom:3px}.mini-row p,.compact-list{font-size:.82rem}.compact-list{color:#c2c6cd;gap:8px;margin:0;padding-left:18px;display:grid}.credential-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.credential-grid article,.credential-grid a{background:#14171d;border:1px solid #343943;flex-direction:column;justify-content:space-between;min-height:92px;padding:13px;display:flex}.credential-grid a:hover{background:#181c23;border-color:#5b78a8;transform:translateY(-1px)}.credential-grid span{color:#86aaf2;letter-spacing:.06em;font:600 .66rem IBM Plex Mono,monospace}.credential-grid strong{font-size:.78rem;line-height:1.35}.credly-profile-link{color:#79a2f3;margin-top:11px;font:600 .68rem IBM Plex Mono,monospace;display:inline-block}.archive-compact>div{flex-wrap:wrap;gap:10px;display:flex}.archive-compact a{background:#14171d;border:1px solid #2a2e36;padding:6px 10px;font:500 .72rem IBM Plex Mono,monospace}.archive-compact a span{color:#5b8def}.resume-page{max-width:900px;margin-inline:auto;padding:42px 0 80px}.resume-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:48px;padding:12px 0 30px;display:grid}.resume-identity{max-width:700px}.resume-header h1{letter-spacing:-.025em;margin:4px 0 3px;font-size:1.3rem;font-weight:700}.resume-header p{max-width:650px;margin:0;font-size:.82rem;line-height:1.45}.resume-actions{flex-direction:column;align-items:flex-end;gap:4px;padding-bottom:5px;font:500 .72rem IBM Plex Mono,monospace;display:flex}.resume-actions .print-button{margin-bottom:10px;position:static}.resume-section{border:0;padding:16px 0 6px}.resume-section-heading{border-bottom:1px solid #4c8dd4;margin-bottom:11px}.resume-section-heading h2{color:#62a8ec;margin:0 0 4px;font-size:1rem;font-weight:650}.resume-job-list{gap:17px;display:grid}.resume-job{background:0 0;border:0;border-radius:0;padding:0}.resume-job>header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:7px;display:flex}.resume-company{display:block}.resume-company h3,.resume-company p{margin:0}.resume-company h3{font-size:.92rem}.resume-company p{color:#c6cad1;margin-top:2px;font-size:.76rem}.resume-job-meta{color:#a4aab4;white-space:nowrap;flex-direction:column;align-items:flex-end;font:500 .68rem IBM Plex Mono,monospace;display:flex}.resume-job ul,.resume-project-primary ul{color:#c9cdd4;gap:3px;margin:0;padding-left:17px;display:grid}.resume-job li,.resume-project-primary li{padding-left:2px;font-size:.74rem;line-height:1.42}.resume-stack{flex-wrap:wrap;gap:4px 12px;margin-top:7px;display:flex}.resume-stack span{color:#9cafe0;border:0;border-radius:0;padding:0;font:500 .59rem IBM Plex Mono,monospace}.resume-stack span:not(:last-child):after{content:" ·"}.resume-compact-list{border:0;grid-template-columns:1fr;margin-top:13px;display:grid}.resume-compact-list article{border:0;grid-template-columns:minmax(0,1fr) auto;gap:22px;min-height:0;padding:7px 0;display:grid}.resume-compact-list h3{margin-bottom:3px;font-size:.82rem}.resume-compact-list p{margin:0;font-size:.72rem;line-height:1.5}.resume-compact-list time,.resume-education time{color:#9299a5;font:500 .64rem IBM Plex Mono,monospace}.resume-research-grid{grid-template-columns:1fr;gap:10px;display:grid}.resume-research-grid article{border:0;grid-template-columns:190px minmax(0,1fr) auto;align-items:start;gap:18px;min-height:0;padding:0;display:grid}.resume-research-grid h3{margin:2px 0 0;font-size:.82rem}.resume-research-grid>article>p:not(.meta){margin:0;font-size:.72rem;line-height:1.48}.resume-research-grid time{color:#9299a5;white-space:nowrap;margin-top:0;font:500 .62rem IBM Plex Mono,monospace}.resume-publications{border:0}.resume-publications article{border:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:7px 0;display:grid}.resume-publications h3{max-width:720px;margin:0 0 3px;font-size:.82rem;line-height:1.4}.resume-publications strong{color:#aab5cc;margin-bottom:3px;font:600 .62rem IBM Plex Mono,monospace;display:block}.resume-publications p{max-width:720px;margin:0;font-size:.75rem;line-height:1.5}.resume-publications a{color:#79a2f3;white-space:nowrap;align-self:start;font:600 .65rem IBM Plex Mono,monospace}.resume-project-primary{background:0 0;border:0;padding:0}.resume-project-primary>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:7px;display:flex}.resume-project-primary h3{margin:2px 0 0;font-size:.9rem}.resume-project-primary a,.resume-open-source a{color:#79a2f3;white-space:nowrap;font:600 .68rem IBM Plex Mono,monospace}.resume-project-grid{grid-template-columns:1fr;gap:0;margin-top:10px;display:grid}.resume-project-grid>article{border:0;min-height:0;padding:7px 0;display:block}.resume-project-grid header{justify-content:space-between;gap:12px;display:flex}.resume-project-grid header span{color:#9299a5;font:500 .64rem IBM Plex Mono,monospace}.resume-project-grid h3{margin-bottom:3px;font-size:.82rem}.resume-project-grid p{margin:0;font-size:.72rem;line-height:1.5}.resume-project-grid .resume-stack{margin-top:auto}.resume-open-source{border:0;grid-template-columns:1fr auto;align-items:start;gap:20px;padding:0;display:grid}.resume-open-source h3,.resume-open-source p{margin-bottom:4px}.resume-open-source p{font-size:.78rem}.resume-skill-groups{background:0 0;border:0;grid-template-columns:1fr;gap:4px;display:grid}.resume-skill-groups>div{background:0 0;grid-template-columns:175px minmax(0,1fr);gap:16px;padding:0;display:grid}.resume-skill-groups h3{color:#e0e3e8;margin:0;font-size:.72rem}.resume-skill-groups p{margin:0;font:500 .67rem/1.55 IBM Plex Mono,monospace}.resume-leadership-grid{border:0;grid-template-columns:1fr;display:grid}.resume-leadership-grid article{border:0;min-height:0;padding:7px 0}.resume-leadership-grid header{justify-content:space-between;gap:12px;margin-bottom:2px;display:flex}.resume-leadership-grid h3{margin:0;font-size:.86rem;line-height:1.35}.resume-leadership-grid time{color:#9299a5;white-space:nowrap;font:500 .6rem IBM Plex Mono,monospace}.resume-leadership-grid strong{color:#8eadf0;margin-bottom:3px;font:600 .66rem IBM Plex Mono,monospace;display:block}.resume-leadership-grid p{margin:0;font-size:.72rem;line-height:1.5}.resume-final-grid{display:block}.resume-final-grid .resume-section{min-width:0}.resume-education{border:0;justify-content:space-between;gap:15px;padding:6px 0;display:flex}.resume-education:first-of-type{border-top:0;padding-top:0}.resume-education h3,.resume-education p{margin-bottom:4px}.resume-education p{font-size:.76rem}.resume-certifications{color:#c8ccd3;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 30px;margin:0;padding-left:17px;font-size:.74rem;display:grid}[data-theme=light] html,html[data-theme=light],[data-theme=light] body{color:#17191d;background:#f5f3ee}[data-theme=light] p,[data-theme=light] .resume-entry ul,[data-theme=light] .compact-list,[data-theme=light] .resume-capabilities span{color:#4e535c}[data-theme=light] .site-header{background:#f5f3eeeb;border-color:#d8d5ce}[data-theme=light] .wordmark-base{color:#f5f3ee;background:#17191d}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] .life-widget strong{color:#17191d}[data-theme=light] .heartfulness-mark-dark{display:none}[data-theme=light] .heartfulness-mark-light{display:block}[data-theme=light] .theme-toggle{color:#555b65}[data-theme=light] .command-hint{color:#474e58;background:#ebe8e1;border-color:#beb9b0}[data-theme=light] .command-hint:hover{color:#17191d;border-color:#1f56a6}[data-theme=light] .command-hint kbd{color:#20242b;background:#f7f5f0;border-color:#aaa59c}[data-theme=light] .command-backdrop{background:#20252d6b}[data-theme=light] .command-dialog{color:#17191d;background:#f7f5f0;border-color:#8e96a2;box-shadow:0 28px 80px #161c2547,0 0 28px #1f56a614}[data-theme=light] .command-search,[data-theme=light] .command-footer{border-color:#c8c4bc}[data-theme=light] .command-search>span,[data-theme=light] .command-enter{color:#1f56a6}[data-theme=light] .command-search input{color:#17191d;caret-color:#1f56a6}[data-theme=light] .command-search input::placeholder,[data-theme=light] .command-search kbd,[data-theme=light] .command-list-label,[data-theme=light] .command-footer{color:#535a64}[data-theme=light] .command-list button{color:#303640}[data-theme=light] .command-list button.selected{color:#11141a;background:#e5e8ee;box-shadow:inset 2px 0 #1f56a6}[data-theme=light] .command-list small,[data-theme=light] .command-empty{color:#555d68}[data-theme=light] .command-footer kbd{color:#303640}[data-theme=light] .eyebrow,[data-theme=light] .meta,[data-theme=light] .status,[data-theme=light] .home-portrait-wrap span,[data-theme=light] .footer,[data-theme=light] .footer p,[data-theme=light] .footer div,[data-theme=light] .repository-card footer,[data-theme=light] .compact-row time,[data-theme=light] .resume-entry time,[data-theme=light] .status-inline,[data-theme=light] .repo-row small,[data-theme=light] .year-group>h2,[data-theme=light] .timeline-row ul,[data-theme=light] .stack-line,[data-theme=light] .cert-list,[data-theme=light] .archive-grid span,[data-theme=light] .skills-list dd,[data-theme=light] .contribution-tags small{color:#474e58}[data-theme=light] .title-mark,[data-theme=light] .quick-links a,[data-theme=light] .text-link,[data-theme=light] .card-links a,[data-theme=light] .card-links>span,[data-theme=light] .home-section>header>a,[data-theme=light] .home-work-row>div>span,[data-theme=light] .capability-grid span,[data-theme=light] .repository-card>div>span,[data-theme=light] .repo-row:hover strong,[data-theme=light] .post-row h3 a:hover,[data-theme=light] .profile-photo span,[data-theme=light] .compact-section>header>span,[data-theme=light] .credential-grid span,[data-theme=light] .archive-compact a span,[data-theme=light] .resume-section>h2,[data-theme=light] .company-monogram,[data-theme=light] .life-widget i,[data-theme=light] .widget-code strong,[data-theme=light] .print-button{color:#1f56a6}[data-theme=light] .quick-links a:hover,[data-theme=light] .text-link:hover,[data-theme=light] .card-links a:hover,[data-theme=light] .project-card:hover .card-links>span{color:#143f7d}[data-theme=light] .hero,[data-theme=light] .section-split,[data-theme=light] .section-block,[data-theme=light] .skills-band,[data-theme=light] .page-heading,[data-theme=light] .project-featured,[data-theme=light] .repository-section,[data-theme=light] .profile-intro,[data-theme=light] .compact-section,[data-theme=light] .background-columns,[data-theme=light] .resume-section{border-color:#d8d5ce}[data-theme=light] .project-card,[data-theme=light] .profile-photo,[data-theme=light] .org-mark,[data-theme=light] .archive-compact a,[data-theme=light] .life-widget{background:#ebe8e1;border-color:#d5d1c9}[data-theme=light] .org-mark.org-logo,[data-theme=light] .org-mark.org-logo-dark-canvas{background:0 0;border-color:#0000}[data-theme=light] .project-card article>p:not(.meta),[data-theme=light] article.project-card>p:not(.meta),[data-theme=light] .life-widget p{color:#4e535c}[data-theme=light] .capability-grid,[data-theme=light] .capability-grid article,[data-theme=light] .compact-row,[data-theme=light] .mini-row,[data-theme=light] .repository-grid,[data-theme=light] .repository-card{border-color:#d8d5ce}[data-theme=light] .repository-card:hover{background:#ebe8e1}[data-theme=light] .post-preview{background:#ebe8e1;border-color:#c4c0b8}[data-theme=light] .repo-reveal{color:#1f56a6}[data-theme=light] .repo-reveal-line{background:#bbb7af}[data-theme=light] .repo-reveal-line:after{background:linear-gradient(90deg,#0000,#5c82c5 42%,#1f56a6 50%,#5c82c5 58%,#0000);box-shadow:0 0 3px #1f56a640}[data-theme=light] .repo-reveal-dots i{background:#1f56a6;box-shadow:0 0 6px #1f56a680}[data-theme=light] .page-heading,[data-theme=light] .home-profile,[data-theme=light] .home-section,[data-theme=light] .compact-section,[data-theme=light] .background-columns{border-bottom-color:#0000}[data-theme=light] .work-section{border-top-color:#0000;border-bottom-color:#0000}[data-theme=light] .page-heading:after,[data-theme=light] .home-profile:after,[data-theme=light] .home-section:after,[data-theme=light] .work-section:after,[data-theme=light] .compact-section:after{background:#d3cfc7}[data-theme=light] .page-heading:before,[data-theme=light] .home-profile:before,[data-theme=light] .home-section:before,[data-theme=light] .work-section:before,[data-theme=light] .compact-section:before{background:linear-gradient(90deg,#0000,#5c82c5 42%,#1f56a6 50%,#5c82c5 58%,#0000);box-shadow:0 0 3px #1f56a640}[data-theme=light] .contribution-card{background:#efebe4;border-color:#c4c0b8}[data-theme=light] .contribution-card:hover{background:#ebe8e1;border-color:#9ea9ba}[data-theme=light] .contribution-copy strong{color:#17191d}[data-theme=light] .contribution-copy>span:last-child{color:#4e535c}[data-theme=light] .contribution-logo{background:#e7ebdd;border-color:#bccaa5}[data-theme=light] .tech-stack-badge{color:#334052;background:#f2f4f7;border-color:#9aaac1}[data-theme=light] .tech-stack-floating-label{color:#28364c}[data-theme=light] .tech-stack-connector path{stroke:#4778d0}[data-theme=light] .project-card{--tech-stack-bg:#ebe8e1}[data-theme=light] .home-work-row,[data-theme=light] .contribution-card{--tech-stack-bg:#efebe4}[data-theme=light] .widget-run{background:#17191d}[data-theme=light] .widget-run strong{color:#f5f3ee}[data-theme=light] .widget-run p,[data-theme=light] .widget-run .widget-label{color:#b6bbc4}[data-theme=light] .basketball-court-lines{stroke:#a5afbc}[data-theme=light] .basketball-shots .shot-make{fill:#e07848}[data-theme=light] .basketball-shots .shot-miss{stroke:#94a0af}[data-theme=light] .widget-traffic{background:#e8ecf3}[data-theme=light] .traffic-total strong{color:#1f56a6}[data-theme=light] .traffic-total span,[data-theme=light] .traffic-bars small{color:#505967}[data-theme=light] .traffic-bars>div>span{background:linear-gradient(#316dcf,#7996c8)}[data-theme=light] .widget-spotify{background:#e4eee7}[data-theme=light] .home-profile,[data-theme=light] .home-section,[data-theme=light] .home-portrait,[data-theme=light] .home-work-grid,[data-theme=light] .home-work-row{border-color:#c4c0b8}[data-theme=light] .home-work-row{background:#efebe4}[data-theme=light] .home-work-row:hover{background:#ebe8e1}[data-theme=light] .home-work-row:before{background:radial-gradient(#316dcf3d,#316dcf12 42%,#0000 72%)}[data-theme=light] .home-contribution-row .home-work-logo{background:#e7ebdd;border-color:#bccaa5}[data-theme=light] .credential-grid article,[data-theme=light] .credential-grid a{background:#ebe8e1;border-color:#c4c0b8}[data-theme=light] .project-card,[data-theme=light] .project-visual,[data-theme=light] .card-links,[data-theme=light] .work-section{border-color:#c4c0b8}[data-theme=light] .project-card:hover{background:#e5e1d9;border-color:#316dcf;box-shadow:0 12px 28px #181f2a1f}[data-theme=light] .project-card:before{background:radial-gradient(#316dcf3d,#316dcf12 42%,#0000 72%)}[data-theme=light] .lift-card:before{background:radial-gradient(#316dcf38,#316dcf12 42%,#0000 72%)}[data-theme=light] .role-brand img,[data-theme=light] .resume-role img,[data-theme=light] .role-eyebrow img{filter:none}[data-theme=light] .resume-job,[data-theme=light] .resume-project-primary{background:0 0;border-color:#0000}[data-theme=light] .resume-company p,[data-theme=light] .resume-job ul,[data-theme=light] .resume-project-primary ul,[data-theme=light] .resume-certifications{color:#4e535c}[data-theme=light] .resume-skill-groups{background:0 0;border-color:#0000}[data-theme=light] .resume-skill-groups>div{background:0 0}[data-theme=light] .resume-skill-groups h3{color:#17191d}[data-theme=light] .resume-publications strong{color:#46536b}[data-theme=light] .resume-leadership-grid strong{color:#1f56a6}[data-theme=light] .resume-open-source img{filter:none}@media (max-width:800px){.shell,.nav-shell{width:min(100% - 28px,1180px)}.hero{min-height:auto;padding:90px 0}.section-split,.contribution{grid-template-columns:1fr;gap:30px}.contribution-card{grid-template-columns:56px minmax(0,1fr);gap:18px}.contribution-logo{width:56px;height:56px}.contribution-logo img{width:36px;height:36px}.contribution-meta{grid-column:2;align-items:flex-start}.contribution-tags{justify-content:flex-start}.contribution>p,.contribution>a{grid-area:auto/1}.project-grid{grid-template-columns:1fr}.project-card{min-height:310px}.work-section>header{grid-template-columns:1fr;gap:12px}.work-section>header>p{justify-self:start}.work-section.priority .project-grid{grid-template-columns:1fr}.contact-block{padding-right:0}.page-heading{padding:40px 0 32px}.year-group{grid-template-columns:1fr}.year-group>h2{padding:35px 0 0}.post-row{grid-template-columns:58px 130px minmax(0,1fr);gap:16px}.post-row.no-preview{grid-template-columns:58px minmax(0,1fr)}.post-preview{width:130px;height:80px}.cert-list{columns:1}.archive-grid{grid-template-columns:1fr}.footer{align-items:flex-start}.footer div{flex-wrap:wrap}.skills-list>div{grid-template-columns:1fr;gap:2px}.skills-band{grid-template-columns:1fr;gap:25px}.home-profile{grid-template-columns:135px 1fr;gap:26px;min-height:0}.home-portrait{width:135px;height:160px}.repository-grid{grid-template-columns:repeat(2,1fr)}.life-heading{grid-template-columns:1fr;gap:18px}.life-heading .eyebrow{grid-column:1}.life-heading>p:last-child{text-align:left;justify-self:start;margin-bottom:0}.widget-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.life-widget{grid-column:span 1}.life-widget:not(.widget-waka){grid-row:span 1}.widget-waka,.widget-traffic,.widget-principle,.widget-activity{grid-column:span 2}.about-section{grid-template-columns:1fr;gap:20px}.profile-intro{grid-template-columns:150px 1fr;gap:35px}.compact-section{grid-template-columns:1fr;gap:20px}.background-columns{grid-template-columns:1fr;gap:0}.resume-page{max-width:100%}.resume-compact-list,.resume-research-grid,.resume-leadership-grid{grid-template-columns:1fr}.resume-final-grid{grid-template-columns:1fr;gap:0}}@media (max-width:520px){.nav-shell{width:calc(100% - 20px);height:70px}.wordmark{font-size:1.05rem}.wordmark-base{padding:8px 10px}.command-hint>span:first-child{display:none}.command-backdrop{padding:70px 10px 16px}.command-list button{grid-template-columns:20px minmax(90px,.7fr) 1fr 16px;gap:7px;padding-inline:8px}.command-list small{font-size:.63rem}.command-footer{gap:11px}.section-split,.section-block,.contact-block{padding:66px 0}.section-title-row,.timeline-row,.footer{flex-direction:column;gap:12px;display:flex}.footer{justify-content:flex-start;align-items:flex-start;gap:17px;min-height:0;padding:27px 0 31px}.footer p{max-width:310px;font-size:.68rem;line-height:1.55}.footer div{align-items:center;gap:8px 18px;width:100%;display:flex}.footer-visit-count{flex:0 0 100%;font-size:.65rem}.footer a{padding-block:2px;font-size:.75rem}.timeline-row>.meta{text-align:left;order:-1}.distinct{padding-inline:20px}.post-row{grid-template-columns:1fr;gap:9px}.post-row.no-preview{grid-template-columns:1fr}.post-preview{width:100%;height:150px}.print-button{position:static}.placeholder-card{padding:30px}.wordmark-route{display:none}.skills-compact,.repository-grid{grid-template-columns:1fr}.repository-section>header{display:block}.widget-grid{flex-direction:column;display:flex}.life-widget{min-height:220px}.widget-waka{min-height:400px}.widget-code{min-height:285px;padding:23px}.widget-code .widget-label{left:23px}.github-overview{margin-bottom:17px}.widget-code .github-overview strong{font-size:clamp(3.7rem,20vw,5rem)}.github-signals{margin-bottom:13px}.github-signals>span{gap:2px;padding-block:9px;display:grid}.github-signals>span+span{padding-left:9px}.github-signals small{text-overflow:clip;white-space:normal;font-size:.5rem;line-height:1.25}.widget-traffic{min-height:310px;padding:23px}.widget-traffic .widget-label{left:23px}.traffic-total{gap:9px;margin-bottom:16px}.traffic-total strong{font-size:clamp(3rem,18vw,4.7rem)}.traffic-total span{max-width:75px;font-size:.58rem;line-height:1.3}.traffic-bars{gap:5px;height:78px}.traffic-bars small{font-size:.48rem}.widget-traffic p{font-size:.64rem;line-height:1.45}.waka-breadth>div{grid-template-columns:repeat(2,minmax(0,1fr))}.waka-breadth>header{align-items:flex-start;gap:8px}.waka-breadth>header>div{flex-direction:column;align-items:flex-end;gap:3px}.waka-breadth>header small+small{border-left:0;padding-left:0}.background-page{padding:38px 0 65px}.profile-intro{grid-template-columns:96px minmax(0,1fr);gap:20px;padding-bottom:34px}.profile-photo{width:96px}.profile-intro h1{margin:7px 0 12px;font-size:clamp(1.55rem,8vw,2.05rem)}.profile-copy{font-size:.82rem;line-height:1.5}.compact-section{gap:14px;padding:28px 0}.compact-section>header{gap:8px}.compact-row{grid-template-columns:54px minmax(0,1fr);gap:7px 15px;padding:18px 0}.compact-row>.org-mark{grid-area:1/1/span 2;place-self:start center}.compact-row>div{grid-area:2/2;min-width:0}.compact-row time{color:#89919e;grid-area:1/2;justify-self:start;font-size:.63rem;line-height:1.2}.compact-row h3{overflow-wrap:anywhere;margin-bottom:4px;font-size:.94rem;line-height:1.18}.compact-row p{overflow-wrap:anywhere;margin:0;font-size:.76rem;line-height:1.48}.org-mark.org-logo{width:54px;height:40px;padding:3px}.org-mark.org-logo:not(.org-logo-wide) img{width:31px}.background-columns .compact-section{padding-block:28px}.credential-grid,.contribution-card{grid-template-columns:1fr}.contribution-meta{grid-column:1}.contribution-copy>span:last-child{white-space:normal}.home-profile{grid-template-columns:1fr;gap:20px;padding:24px 0}.home-portrait{width:115px;height:140px}.home-profile h1{font-size:2.7rem}.home-section>header{align-items:flex-start}.home-section{padding:28px 0 32px}.home-work-row{min-height:0;padding:19px}.resume-page{padding:28px 0 64px}.resume-header{grid-template-columns:1fr;gap:18px;padding:4px 0 24px}.resume-header h1{font-size:1.45rem}.resume-header p{font-size:.84rem;line-height:1.52}.resume-actions{align-items:flex-start;font-size:.68rem}.resume-section{padding:20px 0 4px}.resume-section-heading{margin-bottom:15px}.resume-section-heading h2{font-size:.96rem}.resume-job-list{gap:24px}.resume-job>header,.resume-project-primary>header{flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:11px}.resume-company h3{font-size:1rem;line-height:1.25}.resume-company p{font-size:.8rem;line-height:1.4}.resume-job-meta{flex-flow:wrap;align-items:center;gap:7px;font-size:.65rem;line-height:1.3}.resume-job-meta span:before{content:"·";color:#657083;margin-right:7px}.resume-job ul,.resume-project-primary ul{gap:7px;padding-left:16px}.resume-job li,.resume-project-primary li{padding-left:1px;font-size:.81rem;line-height:1.52}.resume-stack{gap:4px 9px;margin-top:10px}.resume-stack span{font-size:.63rem;line-height:1.45}.resume-project-grid,.resume-skill-groups,.resume-open-source{grid-template-columns:1fr}.resume-publications article{grid-template-columns:1fr;gap:5px}.resume-publications a{grid-column:auto;justify-self:start}.resume-research-grid article{grid-template-columns:1fr;gap:3px}.resume-skill-groups>div{grid-template-columns:1fr;gap:1px}.resume-skill-groups{gap:10px}.resume-skill-groups h3{font-size:.78rem}.resume-skill-groups p{font-size:.7rem;line-height:1.6}.resume-compact-list article{grid-template-columns:1fr;gap:3px;padding:10px 0}.resume-compact-list time,.resume-education time{font-size:.62rem}.resume-education{flex-direction:column;gap:2px;padding:10px 0}.resume-certifications{grid-template-columns:1fr;gap:7px;font-size:.78rem;line-height:1.45}.resume-leadership-grid header{flex-direction:column;gap:3px}.resume-publications h3,.resume-research-grid h3,.resume-compact-list h3{font-size:.86rem}.resume-publications p,.resume-research-grid>article>p:not(.meta),.resume-compact-list p,.resume-project-grid p,.resume-leadership-grid p{font-size:.78rem;line-height:1.52}.resume-capabilities,.capability-grid{grid-template-columns:1fr}}@media (hover:none){.life-widget p,.life-widget .status-inline{opacity:1;max-height:90px;transform:none}.life-widget strong{margin-bottom:8px}.life-widget:before{opacity:.18;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lift-card.lifted,.lift-card.landing{transform:none!important;box-shadow:0 5px 12px -12px #00000075!important}.lift-card.lifted:before,.lift-card.landing:before,.impact-crack{display:none!important}.basketball-court-bg{display:none}}@media print{@page{margin:.55in}body{color:#111;background:#fff;font-size:10.5pt}.site-header,.footer,.print-button,.skip-link{display:none!important}.shell{width:100%}.resume-page{padding:0}.resume-section{break-inside:avoid}.resume-job,.resume-project-primary,.resume-project-grid>article,.resume-open-source,.resume-research-grid article,.resume-publications article,.resume-leadership-grid article{background:#fff;border-color:#bbb}.resume-skill-groups{background:#bbb;border-color:#bbb}.resume-skill-groups>div{background:#fff}.resume-company-logo{border:1px solid #ddd}p,.resume-entry time,.resume-entry ul,.skills-list dd{color:#333}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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}
