@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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}:root{--bg:#f5f3ee;--surface:#fffefa;--surface-muted:#ece9e2;--border:#d6d2c9;--border-strong:#a7a299;--text:#242321;--text-dim:#595751;--text-faint:#817f78;--accent:#326bdd;--accent-hover:#244fae;--accent-warm:#ee9a2b;--home-blue:#326bdd;--home-blue-soft:#dce7ff;--on-accent:#fffefa;--maxw:1120px;--font-display:"Space Grotesk", "Inter", "Segoe UI", sans-serif;--font-body:"Inter", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", monospace;--glow-color:#326bdd1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0a0a0f;--surface:#141419;--surface-muted:#1a1a22;--border:#2a2a35;--border-strong:#3d3d4a;--text:#f0eef5;--text-dim:#a8a5b5;--text-faint:#76748a;--accent:#8bb0ff;--accent-hover:#b3cbff;--home-blue:#1a2d5c;--home-blue-soft:#dce7ff;--on-accent:#0a0a0f;--glow-color:#8bb0ff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;max-width:100vw;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);width:100%;max-width:100vw;margin:0;font-size:16px;line-height:1.65;transition:background-color .4s,color .3s;overflow-x:hidden}#root{width:100%;max-width:100vw;overflow-x:hidden}::selection{background:var(--accent);color:var(--on-accent)}img{max-width:100%;display:block}figure{margin:0}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text);font-family:var(--font-display);letter-spacing:0;font-weight:400;line-height:1.12}p{color:var(--text-dim)}.container{width:min(100% - 56px, var(--maxw));margin-inline-start:auto;margin-inline-end:auto}main{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:500;background:var(--text);color:var(--bg);padding:10px 14px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.cursor-glow{background:radial-gradient(circle, var(--glow-color) 0%, transparent 70%);pointer-events:none;z-index:9999;will-change:transform;mix-blend-mode:screen;border-radius:50%;width:400px;height:400px;position:fixed;top:0;left:0}[data-theme=dark] .cursor-glow{background:radial-gradient(circle,#8bb0ff0f 0%,#0000 70%)}@media (pointer:coarse){.cursor-glow{display:none}}.particle-canvas{pointer-events:all;z-index:0;opacity:.7;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.site-header{z-index:100;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;height:76px;display:flex}.site-logo-link{color:var(--text);align-items:center;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.site-logo-link:hover{transform:translateY(-1px)}.site-logo-wrap{align-items:center;gap:12px;display:flex}.logo-avatar-frame{border:2px solid var(--border);background:var(--surface-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .25s;display:flex;position:relative}.site-logo-link:hover .logo-avatar-frame{border-color:var(--accent);box-shadow:0 4px 14px var(--glow-color);transform:scale(1.08)}.logo-avatar-img{object-fit:cover;object-position:center 25%;border-radius:50%;width:100%;height:100%;display:block}.logo-status-dot{border:2px solid var(--surface);background:#10b981;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0;box-shadow:0 0 6px #10b98180}.logo-text-block{flex-direction:column;line-height:1.15;display:flex}.logo-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:1.05rem;font-weight:700}.logo-highlight{color:var(--accent);transition:color .2s}.logo-subline{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;margin-top:1px;font-size:.68rem}.logo-code-sym{color:var(--accent);opacity:.85}.navbar{align-items:center;gap:27px;display:flex}.navbar ul{align-items:center;gap:26px;margin:0;padding:0;list-style:none;display:flex}.navbar ul li a{color:var(--text-dim);font-size:.88rem;transition:color .15s,transform .15s;position:relative}.navbar ul li a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-4px;left:0}.navbar ul li a:hover:after,.navbar ul li a.active:after{width:100%}.navbar ul li a:hover,.navbar ul li a.active{color:var(--accent)}.nav-header-actions,.theme-toggle--mobile{display:none}.nav-toggle{cursor:pointer;background:0 0;border:0;display:none}.nav-resume{border:1px solid var(--border-strong);color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:9px 13px;font-size:.8rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-resume:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 20%, transparent);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .25s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:rotate(15deg)}.site-language{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.site-language button,.language-toggle button{min-width:31px;color:var(--text-faint);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 6px;font-size:.68rem;font-weight:500;transition:all .2s}.site-language button:hover,.language-toggle button:hover{color:var(--text)}.site-language button.active,.language-toggle button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #0000001a}.btn{border:1px solid var(--text);min-height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:.88rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent);opacity:0;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.btn:hover:before{opacity:1}.btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 15%, transparent);transform:translateY(-2px)}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn-primary:before{background:linear-gradient(135deg,#ffffff26,#0000)}.btn-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--on-accent);box-shadow:0 6px 24px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-outline{border-color:var(--border-strong)}.text-link,.work-jump{color:var(--text);align-items:center;gap:8px;font-size:.87rem;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover,.work-jump:hover{color:var(--accent);gap:11px}.eyebrow,.resume-label{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;margin-bottom:14px;padding:4px 11px;font-size:.72rem;font-weight:600;display:inline-flex}.resume-label{font-family:var(--font-body);letter-spacing:0;text-transform:none;background:0 0;border:0;border-radius:0;padding:0;display:block}.lead{max-width:650px;font-size:1.08rem}@keyframes holographic-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.home-hero-copy h1 em{background:linear-gradient(135deg, var(--home-blue-soft) 0%, #c4b5fd 25%, var(--home-blue-soft) 50%, #93c5fd 75%, var(--home-blue-soft) 100%);-webkit-text-fill-color:transparent;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;font-style:normal;animation:6s ease-in-out infinite holographic-shift}.home-hero{border-bottom:1px solid var(--border);background:linear-gradient(160deg, var(--home-blue) 0%, color-mix(in srgb, var(--home-blue) 70%, #1a0a3e) 100%);padding:72px 0 60px;position:relative;overflow:hidden}.home-hero:before{content:"";pointer-events:none;background:radial-gradient(at 70% 20%,#8bb0ff26 0%,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.home-hero-grid{z-index:1;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:center;gap:76px;display:grid;position:relative}.home-hero-copy{max-width:690px}.hero-tag-row{font-family:var(--font-mono);align-items:center;gap:16px;margin-bottom:18px;display:flex}.hero-index{color:var(--accent-warm);font-size:.85rem}.hero-terminal{color:var(--accent-warm);letter-spacing:.02em;font-size:.85rem}.hero-role-line{color:var(--home-blue-soft);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;min-height:1.3em;margin:0 0 16px;font-size:.92rem;font-weight:600}.blink-cursor{margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.home-hero-copy h1{color:#fff;margin:0 0 24px;font-size:4.5rem}.home-hero-copy>p:not(.eyebrow){color:#ffffffd6;max-width:570px;margin-bottom:24px;font-size:1.08rem}.hero-meta-row{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:18px;display:flex}.hero-pill{color:#ffffffe0;backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.78rem;transition:all .3s;display:inline-flex}.hero-pill:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.home-hero .copy-chip{color:#ffffffe0;border-color:#ffffff38}.home-hero .copy-chip:hover{color:#fff;border-color:#fff}.hero-tech-pills{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.tech-pill{color:var(--home-blue-soft);font-family:var(--font-mono);backdrop-filter:blur(4px);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;padding:5px 11px;font-size:.72rem;transition:all .2s}.tech-pill:hover{background:#ffffff1a;transform:translateY(-1px)}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.home-hero-actions .work-jump,.home-hero-actions .text-link{color:#fff}.home-hero-actions .work-jump{border-bottom:1px solid var(--home-blue-soft);padding-bottom:5px}.home-hero-actions .text-link:hover,.home-hero-actions .work-jump:hover{color:var(--home-blue-soft)}.home-portrait{z-index:1;justify-self:end;width:100%;max-width:310px;position:relative}.home-portrait img{aspect-ratio:1;object-fit:cover;object-position:center 34%;border:4px solid #ffffff4d;border-radius:50%;width:100%;transition:all .4s;box-shadow:0 0 40px #8bb0ff33,0 0 80px #8bb0ff14}.home-portrait:hover img{border-color:#ffffff80;transform:scale(1.02);box-shadow:0 0 50px #8bb0ff4d,0 0 100px #8bb0ff1f}.home-portrait figcaption{color:#fff;justify-content:space-between;gap:10px;padding-top:12px;font-size:.78rem;display:flex}.home-portrait figcaption span{color:var(--home-blue-soft)}.home-stats-grid{z-index:1;border:1px solid #ffffff1f;border-left:3px solid var(--accent-warm);backdrop-filter:blur(12px);background:#ffffff0a;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:44px;padding:28px 30px;display:grid;position:relative}.stat{flex-direction:column;gap:4px;display:flex}.stat strong{color:#fff;font-family:var(--font-display);font-size:2.6rem;font-weight:600;line-height:1}.stat span{color:var(--home-blue-soft);font-size:.8rem}.home-capability{padding:70px 0 78px}.home-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px;display:grid}.home-capability-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);backdrop-filter:blur(12px);border-radius:18px;padding:26px 22px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.home-capability-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff08,#0000);width:200%;height:100%;transition:transform .7s;position:absolute;top:0;left:-50%;transform:translate(-100%)}.home-capability-card:hover:before{transform:translate(100%)}.home-capability-card:hover{border-color:var(--accent);box-shadow:0 12px 40px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);transform:translateY(-6px)}.home-capability-card .icon-badge{background:var(--accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .3s,box-shadow .3s;display:inline-flex}.home-capability-card:hover .icon-badge{box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 40%, transparent);transform:scale(1.08)rotate(-3deg)}.home-capability-card:nth-child(2) .icon-badge{background:var(--accent-warm)}.home-capability-card:nth-child(3) .icon-badge{background:#8a5cf5}.home-capability-card:nth-child(4) .icon-badge{background:#23a879}.home-capability-card:nth-child(5) .icon-badge{background:#e05d8f}.home-capability-card h3{color:var(--text);margin:16px 0 8px;font-size:1.2rem}.home-capability-card p{margin:0;font-size:.88rem}.publications-list{flex-direction:column;gap:28px;margin-bottom:50px;display:flex}.publication-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 4px 24px color-mix(in srgb, var(--accent) 5%, transparent);border-radius:20px;padding:36px 38px;transition:all .3s;position:relative;overflow:hidden}.publication-card:before{content:"";background:var(--accent-warm);border-radius:4px 0 0 4px;width:4px;height:100%;position:absolute;top:0;left:0}.publication-card:hover{border-color:var(--accent-warm);box-shadow:0 10px 36px color-mix(in srgb, var(--accent-warm) 10%, transparent);transform:translateY(-2px)}.publication-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.pub-status-badge{font-size:.78rem;font-family:var(--font-mono);color:var(--accent-warm);background:color-mix(in srgb, var(--accent-warm) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent-warm) 28%, transparent);border-radius:999px;padding:4px 12px;font-weight:500}.publication-year{font-size:.88rem;font-family:var(--font-mono);color:var(--text-faint)}.publication-title{color:var(--text);margin:0 0 14px;font-size:1.55rem;font-weight:700;line-height:1.35}.publication-authors{color:var(--text-dim);margin-bottom:16px;font-size:.95rem}.authors-label{color:var(--text);font-weight:600}.author-highlight{color:var(--text);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--accent)}.publication-abstract{color:var(--text-dim);max-width:960px;margin:0 0 24px;font-size:1rem;line-height:1.65}.publication-card-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex}.pub-action-btn{padding:8px 16px;font-size:.86rem}.portfolio-section{padding-top:78px}.section-heading-row{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:21px;display:flex}.section-heading-row h2,.about-heading h2,.contact-strip h2{margin:0;font-size:2.25rem}.journey-band{background:var(--surface-muted);padding:72px 0 76px;position:relative}.journey-band:before{content:"";background:radial-gradient(ellipse at 20% 80%, color-mix(in srgb, var(--accent) 5%, transparent) 0%, transparent 50%);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.journey-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px;display:flex}.journey-heading>div{max-width:660px}.journey-heading .eyebrow{margin-bottom:12px}.journey-heading h2{margin:0;font-size:2.7rem}.journey-heading>p{max-width:320px;margin:0 0 4px;font-size:.95rem}.journey-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid;position:relative}.journey-chapters:before{border-top:1px solid var(--border-strong);content:"";position:absolute;top:5px;left:0;right:0}.journey-chapter{min-width:0;padding:21px 12px 0 0;transition:transform .3s;position:relative}.journey-chapter:hover{transform:translateY(-3px)}.journey-chapter:before{border:2px solid var(--bg);background:var(--accent);content:"";border-radius:50%;width:11px;height:11px;transition:box-shadow .3s,transform .3s;position:absolute;top:0;left:0}.journey-chapter:hover:before{box-shadow:0 0 12px color-mix(in srgb, var(--accent) 50%, transparent);transform:scale(1.3)}.journey-period{color:var(--accent);margin-bottom:20px;font-size:.78rem}.journey-chapter h3{margin-bottom:12px;font-size:1.65rem}.journey-chapter>p:last-child{max-width:38ch;margin:0;font-size:.91rem}.journey-study{border-top:1px solid var(--border);grid-template-columns:.55fr 1.45fr;align-items:start;gap:16px 28px;margin-top:42px;padding-top:18px;display:grid}.journey-study .eyebrow{margin:0}.journey-study>p:not(.eyebrow){max-width:640px;margin:0;font-size:.9rem}.journey-study .text-link{grid-column:2}.playground-section{border-top:1px solid var(--border);padding:78px 0 82px}.playground-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.playground-heading .eyebrow{margin-bottom:10px}.playground-heading h2{margin:0 0 10px;font-size:2.45rem}.playground-subline{max-width:560px;color:var(--text-dim);margin:0;font-size:.95rem}.playground-tabs{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;gap:6px;margin-bottom:18px;padding:4px;display:inline-flex}.playground-tab{color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;transition:all .25s;display:inline-flex}.playground-tab.active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #00000014}.mini-game-panel{border:1px solid var(--border);background:var(--surface);border-radius:20px;grid-template-columns:.36fr .64fr;display:grid;overflow:hidden;box-shadow:0 4px 24px #0000000a}.mini-game-info{border-right:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:14px;padding:32px;display:flex}.mini-game-info h3{margin:0;font-size:1.3rem}.mini-game-info>p{color:var(--text-dim);margin:0;font-size:.9rem}.mini-game-score{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;align-items:baseline;gap:8px;font-size:.78rem;display:flex}.mini-game-score strong{font-family:var(--font-display);color:var(--accent);letter-spacing:0;text-transform:none;font-size:1.9rem}.mini-game-board{background:#0b1220;min-height:260px;position:relative;overflow:hidden}[data-theme=dark] .mini-game-board{background:#05070d}.mini-game-board:before{content:"";background-image:radial-gradient(circle,#ffffff14 1px,#0000 1px);background-size:22px 22px;position:absolute;top:0;bottom:0;left:0;right:0}.mini-game-timer{z-index:2;font-family:var(--font-mono);color:#fff9;font-size:.82rem;position:absolute;top:14px;right:18px}.mini-game-overlay{z-index:2;text-align:center;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.mini-game-overlay p{color:#ffffffbf;font-family:var(--font-mono);margin:0;font-size:.88rem}.bug-target{z-index:1;width:38px;height:38px;color:var(--accent-warm);cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;animation:.18s bug-pop;display:flex;position:absolute;transform:translate(-50%,-50%)}.bug-target:hover{background:#ffffff2e;box-shadow:0 0 16px #ee9a2b4d}@keyframes bug-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.bug-target{animation:none}}.web-demo{border:1px solid var(--border);background:var(--surface);border-radius:20px;grid-template-columns:.42fr .58fr;display:grid;overflow:hidden;box-shadow:0 4px 24px #0000000a}.web-demo-controls{border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:28px;display:flex}.web-demo-field{flex-direction:column;gap:8px;display:flex}.web-demo-field span{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem}.web-demo-field input[type=text]{border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:10px;padding:9px 12px;font-size:.92rem;transition:all .25s}.web-demo-field input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.web-demo-swatches{gap:8px;display:flex}.web-demo-swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;transition:all .2s}.web-demo-swatch:hover{transform:scale(1.15)}.web-demo-swatch.active{border-color:var(--text);box-shadow:0 2px 8px #00000026}.web-demo-toggle{color:var(--text-dim);align-items:center;gap:8px;font-size:.86rem;display:flex}.web-demo-preview{background:var(--bg);border:2px solid;flex-direction:column;justify-content:center;gap:8px;margin:24px;padding:24px;transition:border-radius .15s;display:flex;position:relative}.web-demo-preview-dot{border-radius:50%;width:10px;height:10px;position:absolute;top:18px;right:18px}.web-demo-preview h4{margin:0;font-size:1.3rem}.web-demo-preview p{color:var(--text-dim);margin:0;font-size:.86rem}.phone-frame{border:1px solid var(--border-strong);background:var(--surface);border-radius:32px;width:220px;margin:24px auto;padding:14px 10px;transition:box-shadow .3s;box-shadow:0 12px 40px #0000001a,inset 0 0 0 1px #ffffff0d}.phone-frame:hover{box-shadow:0 16px 50px #00000026,inset 0 0 0 1px #ffffff14}.phone-notch{background:var(--border-strong);border-radius:999px;width:70px;height:8px;margin:0 auto 10px}.phone-screen{background:var(--surface-muted);border-radius:20px;height:300px;position:relative;overflow:hidden}.swipe-card{border:1px solid var(--border);background:var(--bg);cursor:grab;touch-action:pan-y;user-select:none;border-radius:16px;flex-direction:column;gap:8px;padding:18px;display:flex;position:absolute;top:14px;bottom:64px;left:14px;right:14px;overflow:hidden}.swipe-card h4{margin:0;font-size:1.05rem}.swipe-card p{color:var(--text-dim);word-break:break-word;overflow-wrap:break-word;hyphens:auto;margin:0;font-size:.8rem}.swipe-actions{justify-content:center;gap:14px;display:flex;position:absolute;bottom:14px;left:0;right:0}.swipe-btn{border:1px solid var(--border-strong);background:var(--bg);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.swipe-btn:hover{transform:scale(1.1)}.swipe-skip{color:#e35d5d}.swipe-skip:hover{background:#e35d5d1a;border-color:#e35d5d}.swipe-like{color:var(--accent)}.swipe-like:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:var(--accent)}.phone-empty{text-align:center;height:100%;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:.88rem;display:flex}.phone-empty p{margin:0}.project-list{border-top:1px solid var(--border-strong)}.project-entry{border-bottom:1px solid var(--border);grid-template-columns:minmax(200px,.9fr) minmax(240px,1.1fr) minmax(150px,.55fr);align-items:start;gap:22px 34px;padding:25px 0 27px;transition:all .25s;display:grid}.project-entry:hover{background:color-mix(in srgb, var(--accent) 3%, transparent);border-radius:12px;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.project-entry-heading h3{margin:0;font-size:1.6rem;transition:color .2s}.project-entry:hover .project-entry-heading h3{color:var(--accent)}.project-category-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.project-category{color:var(--accent);margin-bottom:0;font-size:.78rem;font-weight:500}.project-badge-pill{font-size:.72rem;font-weight:600;font-family:var(--font-mono);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.project-description{margin:2px 0 0;font-size:.92rem}.tags{flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;display:flex}.tag{color:var(--text-faint);white-space:nowrap;font-size:.76rem}.tag:not(:last-child):after{content:"·";color:var(--border-strong);margin-left:8px}.about-section{grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:100px;display:grid}.about-heading h2{max-width:400px}.about-copy>p{max-width:620px;font-size:1.05rem}.about-copy strong{color:var(--text);font-weight:600}.about-actions{flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.contact-strip{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-muted) 80%, transparent);backdrop-filter:blur(12px);border-radius:22px;justify-content:space-between;align-items:center;gap:32px;margin-top:96px;padding:46px;display:flex;position:relative;overflow:hidden}.contact-strip:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 8%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-20%}.contact-strip h2{max-width:650px}.contact-strip-copy p:not(.status-line){max-width:520px;margin-top:12px}.contact-strip-actions{flex-wrap:wrap;flex-shrink:0;gap:12px;display:flex}.status-line{color:var(--text-dim);font-family:var(--font-mono);align-items:center;gap:8px;margin-top:16px;font-size:.78rem;display:flex}.status-dot{background:#23a879;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;display:inline-block}.copy-chip{border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:.78rem;transition:all .25s;display:inline-flex}.copy-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.page-hero{text-align:left;padding-top:74px;padding-bottom:34px}.page-hero h1{max-width:850px;margin-bottom:17px;font-size:3.7rem}.page-hero .lead{margin-bottom:0}.page-hero .lead--center{text-align:left;margin-inline-start:0;margin-inline-end:0}section.container:not(.page-hero){margin-top:44px}.section-head{border-top:1px solid var(--border);max-width:700px;margin-bottom:20px;padding-top:17px}.section-head h2{margin-bottom:0;font-size:2rem}.section-head .eyebrow{margin-bottom:9px}.grid{gap:0 36px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:0;border-top:1px solid var(--border);box-shadow:none;background:0 0;padding:22px 0;transition:transform .25s}.card:hover{box-shadow:none;transform:translateY(-2px)}.card--span{grid-column:1/-1}.card .icon{display:none}.card h3{margin-bottom:8px;font-size:1.38rem}.card p{margin-bottom:0}.skill-category h4{font:600 1rem var(--font-body);margin-bottom:12px}.cert-card{align-items:flex-start;gap:18px;display:flex}.cert-meta{color:var(--text-faint);margin-top:8px;font-size:.82rem;display:block}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:20px;margin-bottom:18px;display:flex}.filter-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 0;font-size:.88rem;transition:all .2s}.filter-btn:hover,.filter-btn.active{border-bottom-color:var(--accent);color:var(--text)}.project-list--archive{margin-bottom:25px}.timeline-card{box-shadow:none;background:0 0;border:0;padding:0}.timeline{flex-direction:column;display:flex}.timeline-item{border-top:1px solid var(--border);grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);gap:7px 42px;padding:25px 0 28px;transition:all .25s;display:grid}.timeline-item:hover{background:color-mix(in srgb, var(--accent) 3%, transparent);border-radius:12px;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.timeline-head{flex-direction:column;grid-column:1;gap:8px;display:flex}.timeline-head h3{margin:0;font-size:1.35rem;transition:color .2s}.timeline-item:hover .timeline-head h3{color:var(--accent)}.timeline-date{color:var(--text-faint);font-size:.8rem}.timeline-role,.timeline-place,.bullets,.timeline-item>.tags{grid-column:2}.timeline-role{color:var(--text);font-size:1rem;font-weight:600}.timeline-place{color:var(--text-faint);margin:-4px 0 6px;font-size:.85rem}.bullets{color:var(--text-dim);flex-direction:column;gap:7px;margin:0;padding-left:18px;display:flex}.bullets li{padding-left:3px;font-size:.92rem}.bullets li::marker{color:var(--accent)}.timeline-item:before{content:none}.cta{border-top:1px solid var(--border-strong);text-align:left;box-shadow:none;background:0 0;border-radius:0;padding:30px 0}.cta h2{margin-bottom:10px;font-size:2rem}.cta p{max-width:610px;margin-bottom:18px}.cta-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.site-footer{border-top:1px solid var(--border);background:0 0;margin-top:52px;padding:25px 0}.site-footer:before{content:none}.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-inner p{color:var(--text-faint);margin:0;font-size:.82rem}.footer-signature{flex-direction:column;gap:5px;display:flex}.footer-status{color:var(--text-dim);font-size:.82rem}.footer-status i{display:none}.footer-social{gap:20px;display:flex}.footer-social a{color:var(--text-dim);align-items:center;gap:6px;font-size:.84rem;transition:all .2s;display:inline-flex}.footer-social a:hover{color:var(--accent);transform:translateY(-1px)}.scroll-progress{z-index:200;background:linear-gradient(90deg, var(--accent), #8a5cf5, var(--accent-warm));width:0;height:3px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 40%, transparent);position:fixed;top:0;left:0}.back-to-top{z-index:90;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 90%, transparent);backdrop-filter:blur(8px);width:44px;height:44px;color:var(--text);opacity:0;visibility:hidden;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 20%, transparent);transform:translateY(-2px)}.not-found{padding-top:120px;padding-bottom:120px}.not-found h1{font-size:3.5rem}.resume-page{padding:24px 0 70px}.resume-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.resume-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.resume-section-tabs{align-items:center;gap:18px;display:flex}.resume-section-tabs a{border-bottom:1px solid var(--border-strong);color:var(--text-dim);padding:7px 0;font-size:.78rem}.resume-section-tabs a:hover{border-color:var(--accent);color:var(--accent)}.language-toggle{gap:3px;padding-right:8px;display:inline-flex}.resume-sheet{border:1px solid var(--border);background:var(--surface);width:min(100% - 56px,800px);min-height:297mm;margin:0 auto 24px;padding:38px 42px}.resume-sheet--first{break-after:page;page-break-after:always}.resume-header{border-bottom:1px solid var(--border-strong);padding-bottom:18px;display:block}.resume-header h1{text-transform:uppercase;margin:0 0 3px;font-size:2.5rem}.resume-role{color:var(--text-dim);margin-bottom:12px;font-size:.9rem}.resume-contact{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:.74rem;display:flex}.resume-contact a{color:var(--text)}.resume-contact span{align-items:center;gap:5px;display:inline-flex}.resume-intro{border-bottom:1px solid var(--border);grid-template-columns:1fr;gap:8px;padding:19px 0 16px;display:grid}.resume-intro .resume-label{margin-bottom:0}.resume-intro p:last-child{color:var(--text);margin:0;font-size:.84rem}.resume-section{padding-top:20px}.resume-section>.resume-label{color:var(--text);text-align:center;text-transform:uppercase;letter-spacing:.1em;border:0;margin-bottom:14px;padding-bottom:0;font-size:.76rem}.resume-entry{border-bottom:1px solid var(--border);margin-bottom:15px;padding-bottom:15px}.resume-entry-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resume-entry h2,.resume-education-entry h2{font:600 .83rem var(--font-body);text-transform:uppercase;margin:0}.resume-entry-head>span,.resume-education-entry .resume-entry-head>span{color:var(--text-dim);text-align:right;font-size:.72rem}.resume-entry-meta{color:var(--text-faint);justify-content:space-between;gap:10px;margin:4px 0 8px;font-size:.75rem;display:flex}.resume-entry ul{flex-direction:column;gap:5px;margin:0;padding-left:14px;list-style:"–  ";display:flex}.resume-entry li{color:var(--text-dim);padding-left:3px;font-size:.77rem;line-height:1.45}.resume-education-section{padding-top:10px}.resume-education-entry{padding:4px 0 14px}.resume-education-entry p{margin:4px 0;font-size:.8rem}.resume-education-entry>span{color:var(--text-faint);font-size:.72rem}.resume-education-continuation{padding-top:0}.resume-education-continuation .resume-education-entry{border-bottom:1px solid var(--border)}.resume-project-section,.resume-certification-section,.resume-skills-section,.resume-languages-section{padding-top:19px}.resume-project .resume-entry-head{margin-bottom:5px}.resume-project p{color:var(--text-dim);margin:5px 0 0;font-size:.78rem;line-height:1.45}.resume-project .resume-project-tags{color:var(--text-faint);font-size:.72rem}.resume-certification{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:3px 12px;padding:8px 0;display:grid}.resume-certification strong{font-size:.78rem;font-weight:600}.resume-certification span{color:var(--text-faint);font-size:.7rem}.resume-certification small{color:var(--text-faint);grid-column:1/-1;font-size:.7rem}.resume-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;display:grid}.resume-skills{margin:0}.resume-skills strong{color:var(--text);font-size:.73rem;font-weight:600}.resume-skills p{margin:3px 0 0;font-size:.72rem;line-height:1.45}.resume-languages-section>p:last-child{margin:0;font-size:.8rem}.resume-sheet--second .resume-section{padding-top:12px}.resume-sheet--second .resume-education-entry{padding-bottom:8px}.resume-sheet--second .resume-entry{margin-bottom:8px;padding-bottom:8px}.resume-sheet--second .resume-project p{margin-top:3px;font-size:.73rem;line-height:1.35}.resume-sheet--second .resume-project .resume-project-tags{font-size:.68rem}.resume-sheet--second .resume-certification{padding:4px 0}.resume-sheet--second .resume-skills-grid{gap:5px 20px}.resume-sheet--second .resume-skills p{font-size:.68rem;line-height:1.3}.resume-publication-section{padding-top:14px}.resume-publication .pub-status-badge{color:var(--accent);background:var(--surface-muted);border:1px solid var(--border);font-size:.68rem;font-family:var(--font-mono);white-space:nowrap;border-radius:999px;padding:1px 7px;font-weight:600}.resume-publication .pub-authors{color:var(--text-dim);margin:3px 0 2px;font-size:.73rem;font-weight:600}.resume-publication .pub-desc{color:var(--text);margin:3px 0 4px;font-size:.73rem;line-height:1.35}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform:translateY(16px)}.reveal--visible{opacity:1;transform:none}@keyframes blink{50%{opacity:0}}@keyframes pulse{0%{box-shadow:0 0 #23a8798c}70%{box-shadow:0 0 0 7px #23a87900}to{box-shadow:0 0 #23a87900}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.blink-cursor,.status-dot{animation:none}html{scroll-behavior:auto}.cursor-glow,.particle-canvas,.home-capability-card:before{display:none}}@keyframes nav-drawer-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.site-header.nav-is-open{-webkit-backdrop-filter:none!important;background:var(--bg)!important}@media (max-width:1024px){.nav-header-actions{align-items:center;gap:8px;display:flex}.theme-toggle--mobile{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.theme-toggle--mobile:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.nav-toggle:hover,.nav-toggle.open{border-color:var(--accent);color:var(--accent);background:var(--surface-muted)}.navbar{width:100vw;height:calc(100vh - 76px);-webkit-overflow-scrolling:touch;border-top:1px solid var(--border);background:var(--bg);z-index:999;flex-direction:column;align-items:stretch;gap:18px;height:calc(100dvh - 76px);padding:24px 24px 44px;display:none;position:fixed;top:76px;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 20px 40px #00000026}.navbar.open{animation:.22s ease-out nav-drawer-in;display:flex}.navbar ul{flex-direction:column;align-items:stretch;gap:0;width:100%}.navbar ul li{width:100%}.navbar ul li a{border-bottom:1px solid var(--border);font-family:var(--font-display);color:var(--text);justify-content:space-between;align-items:center;padding:13px 4px;font-size:1.35rem;font-weight:500;display:flex}.navbar ul li a:after{display:none}.navbar ul li a.active{color:var(--accent);font-weight:600}.navbar>.theme-toggle{display:none}.navbar .site-language{align-self:flex-start;margin-top:8px;display:inline-flex}.navbar .nav-resume{background:var(--surface);justify-content:center;align-items:center;width:100%;margin-top:8px;padding:13px 20px;font-size:.95rem;display:inline-flex}.home-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:36px}.home-hero-copy h1{font-size:clamp(2.8rem,5.5vw,3.8rem)}.home-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.home-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-entry{grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr)}.project-entry .tags{grid-column:2}.about-section{gap:40px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-sheet{width:calc(100% - 40px);padding:36px}}@media (max-width:768px){.container{width:min(100% - 32px, var(--maxw))}.nav-wrap{height:66px}.navbar{height:calc(100vh - 66px);height:calc(100dvh - 66px);padding:20px 20px 40px;top:66px}.site-logo-wrap{gap:9px}.logo-avatar-frame{width:32px;height:32px}.logo-name{font-size:.96rem}.logo-subline{font-size:.65rem}.home-hero{padding:36px 0 28px}.home-hero-grid{grid-template-columns:1fr;gap:24px}.home-hero-copy h1{word-break:break-word;margin-bottom:16px;font-size:clamp(2.1rem,7.8vw,3rem);line-height:1.15}.home-hero-copy>p:not(.eyebrow){margin-bottom:20px;font-size:.98rem;line-height:1.55}.hero-tag-row{gap:10px;margin-bottom:10px}.hero-role-line{white-space:normal;word-break:break-word;margin-bottom:12px;font-size:.82rem}.hero-meta-row{gap:8px;margin-bottom:14px}.hero-pill,.home-hero .copy-chip{max-width:100%;padding:6px 11px;font-size:.74rem}.hero-tech-pills{gap:6px;margin-bottom:20px}.tech-pill{padding:4px 8px;font-size:.7rem}.home-hero-actions{gap:16px 20px;margin-bottom:8px}.home-portrait{-webkit-backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff29;border-radius:14px;align-items:center;gap:14px;width:100%;max-width:100%;margin-top:10px;padding:12px 14px;display:flex}.home-portrait img{aspect-ratio:1;object-fit:cover;object-position:center 34%;border:3px solid #ffffff73;border-radius:50%;width:68px;min-width:68px;height:68px;box-shadow:0 4px 14px #00000040}.home-portrait figcaption{color:#fff;flex-direction:column;justify-content:center;gap:2px;padding:0;font-size:.85rem;font-weight:500;display:flex}.home-portrait figcaption span{font-size:.68rem;font-family:var(--font-mono);color:var(--home-blue-soft);text-transform:uppercase;letter-spacing:.05em}.home-stats-grid{border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;margin-top:24px;padding:18px 16px}.stat strong{font-size:2rem}.stat span{font-size:.78rem}.home-capability{padding:44px 0 50px}.home-capability-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}.home-capability-card{border-radius:14px;padding:22px 18px}.portfolio-section{padding-top:50px}.journey-band{padding:44px 0}.journey-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px}.journey-heading h2{font-size:1.85rem}.journey-chapters{grid-template-columns:1fr;gap:20px}.journey-chapters:before{display:none}.journey-chapter{border-left:2px solid var(--border-strong);padding-top:14px;padding-left:20px}.journey-chapter:before{top:18px;left:-6px}.journey-period{margin-bottom:8px}.journey-chapter h3{font-size:1.3rem}.journey-chapter>p:last-child{max-width:100%}.journey-study{grid-template-columns:1fr;gap:8px;margin-top:28px}.journey-study .text-link{white-space:normal;grid-column:1}.playground-section{padding:48px 0}.playground-heading{flex-direction:column;align-items:flex-start;gap:10px}.playground-heading h2{font-size:1.85rem}.playground-tabs{scrollbar-width:none;max-width:100%;display:flex;overflow-x:auto}.playground-tabs::-webkit-scrollbar{display:none}.mini-game-panel,.web-demo{grid-template-columns:1fr}.mini-game-info,.web-demo-controls{border-right:none;border-bottom:1px solid var(--border);padding:20px 18px}.mini-game-board{min-height:220px}.section-heading-row{flex-direction:column;align-items:flex-start;gap:8px}.section-heading-row h2,.about-heading h2,.contact-strip h2{font-size:1.8rem}.project-entry{grid-template-columns:1fr;gap:8px;padding:18px 0 20px}.project-entry:hover{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.project-entry-heading h3{font-size:1.35rem}.project-entry .tags{grid-column:1}.about-section{grid-template-columns:1fr;gap:18px;padding-top:50px}.about-heading h2{max-width:100%}.contact-strip{border-radius:16px;flex-direction:column;align-items:flex-start;gap:20px;margin-top:48px;padding:26px 20px}.contact-strip-actions{flex-direction:column;gap:10px;width:100%;display:flex}.contact-strip-actions .btn{justify-content:center;width:100%}section.container:not(.page-hero){margin-top:30px}.page-hero{padding-top:40px;padding-bottom:20px}.page-hero h1{font-size:clamp(2.2rem,7vw,2.8rem)}.page-hero .lead{font-size:.98rem}.grid-2,.grid-4{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-item:hover{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.timeline-head,.timeline-role,.timeline-place,.bullets,.timeline-item>.tags{grid-column:1}.timeline-head{gap:4px}.publication-card{border-radius:14px;padding:24px 18px}.publication-title{font-size:1.25rem;line-height:1.35}.publication-card-footer{flex-direction:column;align-items:stretch;gap:14px}.pub-action-btn{justify-content:center;width:100%}.filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:14px;padding-bottom:6px;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{white-space:nowrap;flex-shrink:0}.footer-inner{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 0}.resume-toolbar,.resume-header,.resume-intro,.resume-grid{display:block}.resume-actions{flex-wrap:wrap;width:100%;margin-top:14px}.resume-actions .btn{flex:140px;justify-content:center}.resume-section-tabs{scrollbar-width:none;order:3;width:100%;padding-bottom:4px;overflow-x:auto}.resume-sheet{border-radius:10px;width:100%;min-height:0;margin:0 auto 18px;padding:24px 16px}.resume-header h1{font-size:2.1rem}.resume-contact{text-align:left;align-items:flex-start;gap:6px 12px;margin-top:16px}.resume-intro{padding:16px 0}.resume-skills-grid{grid-template-columns:1fr}.cursor-glow{display:none}}@media (max-width:480px){.container{width:min(100% - 24px, var(--maxw))}.home-hero-copy h1{font-size:clamp(1.95rem,8.5vw,2.5rem)}.stat strong{font-size:1.8rem}.home-stats-grid{gap:12px 10px;padding:14px 12px}.contact-strip{padding:20px 16px}.resume-sheet{padding:20px 14px}}@media print{@page{size:A4;margin:0}.site-header,.site-footer,.scroll-progress,.back-to-top,.resume-toolbar,.cursor-glow,.particle-canvas{display:none!important}body,.resume-page{color:#111;background:#fff}.resume-page{padding:0}.resume-sheet{width:210mm;min-height:297mm;box-shadow:none;border:0;margin:0;padding:14mm 12mm}}.hobbies-page-simple{padding-bottom:80px;position:relative}.hobbies-simple-hero{padding-top:48px;padding-bottom:20px}.hobbies-simple-hero h1{letter-spacing:-.02em;color:var(--text);margin-top:12px;margin-bottom:14px;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;line-height:1.1}.hobbies-simple-hero h1 em{color:var(--accent);font-style:normal}.hobbies-hero-intro{color:var(--text-dim);max-width:680px;margin-bottom:24px;font-size:1.05rem;line-height:1.6}.hobbies-filter-nav{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.hobby-filter-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:8px 18px;font-size:.88rem;font-weight:500;transition:all .2s}.hobby-filter-pill:hover{border-color:var(--accent);color:var(--text);background:var(--surface-muted)}.hobby-filter-pill.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--glow-color);font-weight:600}.hobbies-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}@media (max-width:860px){.hobbies-grid{grid-template-columns:1fr}}.hobby-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;justify-content:space-between;padding:26px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.hobby-card:hover{border-color:var(--border-strong);box-shadow:0 10px 30px #0000000a}[data-theme=dark] .hobby-card:hover{box-shadow:0 10px 30px #00000040}.hobby-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.hobby-card-badge{font-size:.8rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-weight:600;display:inline-flex}.hobby-badge-icon{font-size:1.15rem}.hobby-mini-btn{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.hobby-mini-btn:hover{color:var(--text);border-color:var(--accent)}.hobby-stat-pill,.hobby-domain-chip{font-size:.78rem;font-family:var(--font-mono);background:var(--surface-muted);border:1px solid var(--border);color:var(--accent);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-weight:600;display:inline-flex}.hobby-shuffle-btn{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.hobby-shuffle-btn:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}.hobby-card h3{color:var(--text);letter-spacing:-.01em;margin:0 0 6px;font-size:1.3rem;font-weight:700}.hobby-card-sub{color:var(--text-dim);margin-bottom:16px;font-size:.9rem;line-height:1.5}.hobby-inline-pills{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.hobby-chip{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:500;transition:all .18s}.hobby-chip:hover{border-color:var(--border-strong);color:var(--text)}.hobby-chip.active{background:var(--text);color:var(--surface);border-color:var(--text);font-weight:600}.dance-flow-box{background:var(--surface-muted);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;margin-bottom:14px;padding:16px;display:flex}.move-selection-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.move-chips-list{flex-wrap:wrap;gap:6px;display:flex}.move-pill-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .15s}.move-pill-chip:hover{border-color:var(--accent);color:var(--accent)}.move-pill-chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.move-type-badge{font-size:.72rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;background:var(--surface);border:1px solid var(--border);letter-spacing:.03em;border-radius:6px;padding:3px 8px;font-weight:600}.move-phases-timeline{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:6px;display:flex}.phase-step-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 4px;transition:all .15s;display:flex}.phase-step-btn:hover{color:var(--text);background:var(--surface-muted)}.phase-step-btn.active{background:var(--surface-muted);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border);font-weight:700}.phase-step-btn .step-num{font-family:var(--font-mono);opacity:.7;font-size:.7rem}.phase-step-btn .step-label{white-space:nowrap;font-size:.76rem}.phase-arrow{color:var(--border-strong);opacity:.6;flex-shrink:0}.move-phase-detail{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.phase-tag{font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--accent);letter-spacing:.03em;margin-bottom:4px;font-weight:700;display:inline-block}.phase-desc{color:var(--text);margin:0;font-size:.86rem;line-height:1.5}.reaction-test-arena{border:2px dashed var(--border);text-align:center;cursor:pointer;user-select:none;border-radius:14px;justify-content:center;align-items:center;min-height:130px;margin-bottom:14px;padding:22px 14px;transition:all .2s;display:flex}.reaction-test-arena.state-idle{background:var(--surface-muted)}.reaction-test-arena.state-idle:hover{border-color:var(--accent)}.reaction-test-arena.state-waiting{border-color:var(--accent-warm);background:#ee9a2b1a;border-style:solid}.reaction-test-arena.state-ready{background:#10b98129;border-style:solid;border-color:#10b981}.reaction-test-arena.state-early{background:#ef44441a;border-style:solid;border-color:#ef4444}.reaction-test-arena.state-result{background:var(--surface-muted);border-color:var(--accent);border-style:solid}.reaction-prompt{flex-direction:column;align-items:center;gap:6px;display:flex}.pulse-icon{color:var(--accent)}.text-waiting{color:var(--accent-warm);font-size:1.1rem;font-weight:700}.text-ready{color:#10b981;letter-spacing:.02em;font-size:1.3rem;font-weight:800}.text-early{color:#ef4444;font-size:1.05rem;font-weight:700}.reaction-result-score{align-items:baseline;gap:4px;display:flex}.reaction-ms{font-size:2.2rem;font-weight:800;font-family:var(--font-mono);color:var(--text);line-height:1}.reaction-unit{color:var(--text-dim);font-size:1rem;font-weight:600}.reaction-verdict{color:var(--accent);font-size:.85rem;font-weight:600}.btn-retry{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:4px 12px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-retry:hover{border-color:var(--accent)}.mental-model-box{background:var(--surface-muted);border:1px solid var(--border);border-radius:14px;flex-direction:column;justify-content:space-between;min-height:130px;margin-bottom:14px;padding:18px;display:flex}.model-category-tag{font-size:.74rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--accent);letter-spacing:.04em;font-weight:600}.model-title{color:var(--text);margin:6px 0;font-size:1.05rem;font-weight:700;line-height:1.35}.model-insight{color:var(--text-dim);margin:0;font-size:.86rem;line-height:1.5}.model-indicator-row{justify-content:center;gap:6px;margin-top:10px;display:flex}.model-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:all .2s}.model-dot.active{background:var(--accent);transform:scale(1.3)}.research-focus-box{background:var(--surface-muted);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;min-height:130px;margin-bottom:14px;padding:16px;display:flex}.research-question p{color:var(--text);margin:3px 0 0;font-size:.88rem;font-style:italic;line-height:1.45}.q-label,.f-label{font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--accent);font-weight:700}.research-finding p{color:var(--text-dim);margin:3px 0 0;font-size:.84rem;line-height:1.45}.research-tech-row{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.tech-pill-small{font-size:.72rem;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:2px 8px}.hobby-takeaway-note{border-top:1px solid var(--border);color:var(--text-dim);padding-top:12px;font-size:.82rem;line-height:1.45}.hobby-takeaway-note strong{color:var(--text)}.hobbies-simple-footer{margin-top:40px}.footer-inner-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:18px;padding:36px 24px}.footer-inner-card h3{color:var(--text);margin:0 0 8px;font-size:1.3rem;font-weight:700}.footer-inner-card p{color:var(--text-dim);max-width:520px;margin:0 auto 20px;font-size:.94rem;line-height:1.5}.footer-action-links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}
