@charset "UTF-8";@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url("./media/outfit-latin-ext-400-normal-ZJBXP5IH.woff2") format("woff2"),url("./media/outfit-latin-ext-400-normal-NXIOCYCR.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url("./media/outfit-latin-400-normal-WPZHQ72E.woff2") format("woff2"),url("./media/outfit-latin-400-normal-MJX636HN.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url("./media/outfit-latin-ext-500-normal-LUXIOPCH.woff2") format("woff2"),url("./media/outfit-latin-ext-500-normal-6CLYNG6P.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url("./media/outfit-latin-500-normal-PXR3PSSK.woff2") format("woff2"),url("./media/outfit-latin-500-normal-5NAIAZI7.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url("./media/outfit-latin-ext-600-normal-6KTJ3ECD.woff2") format("woff2"),url("./media/outfit-latin-ext-600-normal-YQGUC3HT.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url("./media/outfit-latin-600-normal-7I4OGWZG.woff2") format("woff2"),url("./media/outfit-latin-600-normal-SAVBCENJ.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url("./media/outfit-latin-ext-700-normal-S4JWMSEC.woff2") format("woff2"),url("./media/outfit-latin-ext-700-normal-FAKXWIFD.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url("./media/outfit-latin-700-normal-YRDFZK2V.woff2") format("woff2"),url("./media/outfit-latin-700-normal-UE4J7WLR.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:400;src:url("./media/ibm-plex-sans-cyrillic-ext-400-normal-7Z3465FB.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-400-normal-YU2ZJYJL.woff") format("woff");unicode-range:U+0460-052F,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-APB4EUBL.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-400-normal-7FSQ77DP.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-L4LAXORB.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-400-normal-X3NYKSO2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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-P5ZB55LJ.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-400-normal-A4XVIM4G.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-EDOVP6TU.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-normal-IC47YBOO.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-ext-400-italic-CH2ZMKLU.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-400-italic-LJJHRMMO.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-400-italic-SU2S2GRR.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-400-italic-IRUATBQ4.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-greek-400-italic-L3SPJJDU.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-400-italic-UDY33ZMW.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-vietnamese-400-italic-CI6CG44G.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-400-italic-U64GGCTY.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-ext-400-italic-VMPJJ47P.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-italic-UZF3B4JP.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-italic-PR7YQ55B.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-italic-7XKXUOWL.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-SJW52W6D.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-500-normal-Z7QHO46N.woff") format("woff");unicode-range:U+0460-052F,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-R6B2XZIQ.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-500-normal-WNQEPSX2.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-4XELGUF7.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-500-normal-B6ARYOP3.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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-J2J6G2N5.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-500-normal-OZE7IZOF.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-SG2XNXKB.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-500-normal-4YL5ICYH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-HGPMDSPK.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-600-normal-UU6N6VST.woff") format("woff");unicode-range:U+0460-052F,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-AFPTCLK6.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-600-normal-7XGRL4XO.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-NTJH3CYY.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-600-normal-GD52DGQ2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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-JKSXZXZW.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-600-normal-5IGNKSLH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-ZNWKNRXL.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-600-normal-OPCHJXXH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:700;src:url("./media/ibm-plex-sans-cyrillic-ext-700-normal-HXT6NHIL.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-700-normal-T4K2CWU3.woff") format("woff");unicode-range:U+0460-052F,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:700;src:url("./media/ibm-plex-sans-cyrillic-700-normal-C5IRGH35.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-700-normal-2HZMNQMS.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-greek-700-normal-PVSCNDAB.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-700-normal-H76UTX7D.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-vietnamese-700-normal-WVQ27POF.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-700-normal-JZPPIPWP.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-latin-ext-700-normal-SLLSGF4A.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-700-normal-ZAY2DYTH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:700;src:url("./media/ibm-plex-sans-latin-700-normal-IXG35DPN.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-700-normal-ZYEEATR5.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-M2ROQZIK.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-400-normal-RD4P2WYJ.woff") format("woff");unicode-range:U+0460-052F,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-MUN4S7RW.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-400-normal-SUZ3KICP.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-CEHCU5UT.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-400-normal-PVEVI4WT.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-T6XOR2FX.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-400-normal-6FH7XELU.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-A2WATXFY.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-normal-4MWPPJAM.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-cyrillic-ext-400-italic-6QBQ5QWW.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-400-italic-AGXFFTAA.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-cyrillic-400-italic-YLAVSCTA.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-400-italic-LHOR7OXI.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-vietnamese-400-italic-TQISYSH3.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-400-italic-O76JA6FN.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-ext-400-italic-WOTKSSAA.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-400-italic-R3FRDJ2Q.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-400-italic-AHZIZ2NF.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-italic-G2NUQAKL.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-MC56NSC2.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-500-normal-TFGJMWK5.woff") format("woff");unicode-range:U+0460-052F,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-FIG3KNRY.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-500-normal-2KWAQPQZ.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-ZWG7QFOJ.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-500-normal-4U6XTONH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-LJE4XY22.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-500-normal-7HZM7XEP.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-33HAQIPI.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-500-normal-EJMP6L36.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-ENXLHSSE.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-600-normal-QL64H62F.woff") format("woff");unicode-range:U+0460-052F,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-2CTSZR2S.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-600-normal-45WPZGS6.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-U4JDE5C7.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-600-normal-MA4D2RPJ.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-IEJYURAG.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-600-normal-XVUP5NK5.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-IIV3OB4N.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-600-normal-BXFNGPE3.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-5VFXYAKX.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-700-normal-7O33BPVH.woff") format("woff");unicode-range:U+0460-052F,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-3IK3WLTN.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-700-normal-2HII6PLA.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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-ZSNKYRAU.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-700-normal-ZRPVD2EC.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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-UKKVHMCU.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-700-normal-CPIAGIVB.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-JHVD72BI.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-700-normal-IQ6Z4TFR.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0d0d0a;--bg-section: #121210;--bg-section-warm: #14130c;--surface: #16160f;--surface2: #1e1e14;--surface3: #29291b;--border: rgba(236, 236, 212, .16);--border2: rgba(236, 236, 212, .28);--border-accent: rgba(69, 224, 200, .5);--border-divider: rgba(236, 236, 212, .1);--text: #f1f1e6;--text-sec: #c6c6b3;--text-muted: #94947f;--text-faint: #636353;--accent: #45e0c8;--accent-dim: rgba(69, 224, 200, .12);--accent-glow: rgba(69, 224, 200, .07);--accent-cyan: #b4f43c;--accent-cyan-dim: rgba(180, 244, 60, .1);--accent-warm: #ffb224;--accent-warm-dim: rgba(255, 178, 36, .1);--amber: #ffb224;--amber-dim: rgba(255, 178, 36, .12);--green: #5fdc8a;--green-dim: rgba(95, 220, 138, .1);--red: #ff6e5e;--yellow: #ffd84d;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--r-sm: 5px;--r-md: 8px;--r-lg: 12px;--r-xl: 18px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .45);--shadow-card-hover: 0 2px 10px rgba(0, 0, 0, .55);--shadow-glow: 0 0 0 rgba(0, 0, 0, 0);--font-mono: "IBM Plex Mono", monospace;--font-sans: "IBM Plex Sans", sans-serif;--font-display: "Outfit", "IBM Plex Sans", sans-serif;--container: 1200px;--container-narrow: 800px;--nav-h: 60px;--fs-xs: 11px;--fs-sm: 13.5px;--fs-md: 15.5px;--fs-lg: 17.5px;--fs-xl: 22px;--fs-2xl: 31px;--fs-3xl: 42px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:var(--fs-md);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;counter-reset:seccion}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:4px}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.accent{color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,.section-title,.hero-name,.cta-title,.project-hero-title,.project-name,.article-title,.lab-title,.capability-name,.method-step-title,.method-step-label,.case-highlight-title,.footer-brand-name,.nav-logo-name{font-family:var(--font-display);letter-spacing:0}nav.public-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;padding:0 var(--space-xl);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--border-divider)}.nav-inner{max-width:var(--container);width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;flex-direction:column;gap:2px;text-decoration:none}.nav-logo-name{font-size:18.5px;font-weight:600;color:var(--text)}.nav-logo-sub{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:var(--space-xl);list-style:none}.nav-links a{font-size:15px;font-weight:400;color:var(--text-sec);text-decoration:none;transition:color .2s;letter-spacing:.01em}.nav-links a:hover,.nav-links a.is-active{color:var(--text)}.nav-links a.is-active:after{content:"";display:block;width:100%;height:1px;background:var(--accent);margin-top:2px}.nav-cta{font-size:14.5px;font-weight:500;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:6px 16px;border-radius:999px;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}.nav-cta:hover{background:var(--accent-dim);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}main.public-main{padding-top:var(--nav-h)}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-xl)}.section{padding:clamp(60px,7vw,84px) 0}.section+.section{border-top:1px solid var(--border-divider)}.section:first-of-type{padding-top:clamp(52px,7vw,80px)}.section--alt{background:var(--bg-section)}.section--alt-warm{background:var(--bg-section-warm)}.eyebrow{font-family:var(--font-mono);font-size:13.5px;font-weight:500;letter-spacing:.04em;color:var(--accent);margin-bottom:14px;display:flex;align-items:baseline;gap:10px}.eyebrow:before{counter-increment:seccion;content:"[" counter(seccion,decimal-leading-zero) "]";font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted)}.eyebrow:after{content:"";flex:1;max-width:64px;height:1px;background:var(--border2);align-self:center}.eyebrow--center{justify-content:center}.eyebrow--center:after{display:none}.eyebrow--warm{color:var(--accent-warm)}.eyebrow--warm:after{background:var(--accent-warm)}.section-heading{margin-bottom:clamp(28px,3vw,40px)}.section-heading--center{text-align:center}.section-heading--center .section-desc{margin-left:auto;margin-right:auto}.section-title{font-size:clamp(28px,3.5vw,var(--fs-3xl));font-weight:600;color:var(--text);letter-spacing:-.015em;line-height:1.15;margin-bottom:12px}.section-desc{font-size:var(--fs-md);color:var(--text-sec);max-width:560px;line-height:1.7;text-wrap:pretty}.btn{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;padding:10px 24px;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:all .14s ease-out;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text))}.btn-ghost{background:transparent;color:var(--text-sec);border:1px solid var(--border2)}.btn-ghost:hover{color:var(--text);border-color:var(--accent);background:var(--accent-dim)}.btn-sm{font-size:var(--fs-sm);padding:7px 14px}.btn-warm{background:var(--accent-warm);color:var(--bg)}.btn-warm:hover{background:color-mix(in srgb,var(--accent-warm) 88%,var(--text))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .25s,background .25s,box-shadow .25s,transform .2s}.card:hover{border-color:var(--border-accent)}.badge{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;padding:3px 8px;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:5px}.badge--primary{color:var(--accent);background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.badge--cyan{color:var(--accent-cyan);background:var(--accent-cyan-dim);border:1px solid color-mix(in srgb,var(--accent-cyan) 20%,transparent)}.badge--green{color:var(--green);background:var(--green-dim);border:1px solid color-mix(in srgb,var(--green) 20%,transparent)}.badge--amber{color:var(--amber);background:var(--amber-dim);border:1px solid color-mix(in srgb,var(--amber) 20%,transparent)}.badge--muted{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border)}.badge--warm{color:var(--accent-warm);background:var(--accent-warm-dim);border:1px solid color-mix(in srgb,var(--accent-warm) 18%,transparent)}.tech-badge{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);padding:3px 8px;border-radius:var(--r-sm);letter-spacing:.02em;transition:color .15s,border-color .15s}.text-link{font-size:14.5px;color:var(--accent);text-decoration:none;transition:opacity .2s}.text-link:hover{opacity:.75}#hero{position:relative;min-height:calc(100vh - var(--nav-h));overflow:hidden;background:var(--bg)}.hero-container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 440px;align-items:center;min-height:calc(100vh - var(--nav-h));max-width:var(--container);margin:0 auto;padding:0}.hero-left{position:relative;z-index:2;padding:clamp(40px,8vh,80px) 0}.hero-greeting{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.05em;color:var(--text-muted);margin-bottom:14px;font-weight:400}.hero-greeting em{font-style:normal;color:var(--accent)}.hero-name{font-size:clamp(48px,7.5vw,92px);font-weight:700;color:var(--text);line-height:.96;letter-spacing:-.025em;margin-bottom:28px}.hero-name span{color:var(--accent)}.hero-headline{font-size:clamp(17px,2.2vw,22px);font-weight:400;color:var(--text-sec);line-height:1.55;margin-bottom:14px;max-width:560px;text-wrap:pretty}.hero-sub{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:36px;max-width:520px}.hero-sub:before{content:"> ";color:var(--accent)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-scroll-hint{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);letter-spacing:.08em}.scroll-text{font-family:var(--font-sans);font-size:12.5px;color:var(--text-muted);letter-spacing:.04em}.scroll-line{width:28px;height:1px;background:var(--text-faint);opacity:.6}.scroll-text{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);letter-spacing:.08em}.hero-right{position:relative;z-index:2;padding:40px 0;display:flex;align-items:center;justify-content:center}.hero-sumario{width:100%;max-width:380px;padding:18px 0 0;position:relative}.hero-sumario:before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;border-radius:999px;background:var(--accent);opacity:.7}.sumario-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.sumario-title{font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--text)}.sumario-issue{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sumario-list{list-style:none;display:flex;flex-direction:column}.sumario-list li+li{border-top:1px solid var(--border-divider)}.sumario-list a{display:flex;align-items:baseline;gap:10px;padding:10px 2px;text-decoration:none;color:var(--text-sec);transition:color .2s,padding-left .2s}.sumario-list a:hover{color:var(--accent);padding-left:8px}.sumario-label{font-family:var(--font-display);font-size:var(--fs-lg);color:inherit}.sumario-dots{flex:1;border-bottom:1px dotted var(--border2);transform:translateY(-4px)}.sumario-num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.sumario-note{margin-top:18px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);line-height:1.65;text-wrap:pretty}.sumario-note:before{content:"// ";color:var(--accent)}.capabilities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.capability-card{background:none;border:none;border-radius:0;padding:16px 4px 0 0;position:relative;cursor:default}.capability-card:before{content:"";position:absolute;top:0;left:0;width:28px;height:3px;border-radius:999px;background:var(--accent);opacity:.55;transition:width .25s ease-out,opacity .2s}.capability-card:hover:before{width:64px;opacity:1}.capability-icon{width:auto;height:auto;background:none;border:none;display:flex;align-items:center;color:var(--accent);margin-bottom:12px}.capability-icon svg{width:18px;height:18px}.capability-name{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:6px}.capability-desc{font-size:var(--fs-sm);color:var(--text-sec);line-height:1.55;text-wrap:pretty;margin-bottom:8px}.capability-layer{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:2px 6px;background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:var(--r-sm);display:inline-block}.methodology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.method-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;transition:border-color .2s,background .2s,transform .2s;cursor:default}.method-step:hover{border-color:var(--border-accent);background:var(--surface2)}.method-step--active{border-color:var(--accent-warm);background:var(--surface2);transform:translateY(-2px)}.method-step-icon{width:32px;height:32px;border-radius:var(--r-md);background:var(--accent-warm-dim);border:1px solid color-mix(in srgb,var(--accent-warm) 18%,transparent);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.method-step-icon svg{width:15px;height:15px;color:var(--accent-warm)}.method-step--active .method-step-icon{background:color-mix(in srgb,var(--accent-warm) 18%,transparent);border-color:color-mix(in srgb,var(--accent-warm) 30%,transparent)}.method-step-number{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-warm);opacity:.6;margin-bottom:4px}.method-step-title{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:4px}.method-step-desc{font-size:var(--fs-sm);color:var(--text-sec);line-height:1.55;text-wrap:pretty}.methodology-stepper{display:flex;flex-direction:column;gap:2px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:24px}.methodology-stepper .method-step{border:none;border-radius:0;background:var(--surface);display:flex;align-items:flex-start;gap:16px;padding:18px 22px}.methodology-stepper .method-step:hover{background:var(--surface2);transform:none}.methodology-stepper .method-step--active{background:var(--surface2);transform:none;border:none}.method-step-num{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent-warm);opacity:.5;min-width:22px;padding-top:1px}.methodology-stepper .method-step--active .method-step-num{opacity:1}.method-step-content{flex:1}.method-step-label{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:2px}.methodology-stepper .method-step--active .method-step-label{color:var(--accent-warm)}.method-intro{max-width:640px;margin-bottom:clamp(34px,4vw,52px);display:grid;gap:16px}.method-intro p{font-size:var(--fs-md);color:var(--text-sec);line-height:1.75}.method-principles{list-style:none;margin:0;padding:0;counter-reset:principio;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,56px);row-gap:clamp(26px,3vw,38px)}.principle{counter-increment:principio;padding-top:18px;border-top:1px solid var(--border2)}.principle:before{content:counter(principio,decimal-leading-zero);display:block;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;color:var(--accent);margin-bottom:12px}.principle-title{font-size:var(--fs-lg);font-weight:600;color:var(--text);letter-spacing:-.01em;line-height:1.3;margin-bottom:8px}.principle-body{font-size:var(--fs-sm);color:var(--text-sec);line-height:1.7}.projects-showcase{display:flex;flex-direction:column;gap:16px}.projects-featured-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;padding-left:2px}.project-card{background:none;border:none;border-radius:0;padding:22px 4px 18px 0;position:relative;display:flex;flex-direction:column;gap:0;cursor:pointer;text-decoration:none;color:inherit;width:100%}.project-card:before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;border-radius:999px;background:var(--accent);opacity:.6;transition:width .28s ease-out,opacity .2s}.project-card:hover:before{width:96px;opacity:1}.project-card:hover .project-name{color:var(--accent)}.project-card--featured{padding:26px 4px 22px 0}.project-card--featured .project-name{font-size:clamp(22px,2.6vw,28px)}.project-card--featured .project-summary{font-size:var(--fs-md)}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:12px}.project-type-badge{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);padding:3px 8px;border-radius:var(--r-sm);white-space:nowrap}.project-status-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;padding:3px 8px;border-radius:var(--r-sm);white-space:nowrap;display:flex;align-items:center;gap:5px}.project-status-label:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-status-label.status-active{color:var(--green);background:var(--green-dim);border:1px solid color-mix(in srgb,var(--green) 20%,transparent)}.project-status-label.status-active:before{background:var(--green);box-shadow:0 0 6px color-mix(in srgb,var(--green) 50%,transparent)}.project-status-label.status-dev{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 8%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 20%,transparent)}.project-status-label.status-dev:before{background:var(--yellow)}.project-status-label.status-wip{color:var(--amber);background:var(--amber-dim);border:1px solid color-mix(in srgb,var(--amber) 20%,transparent)}.project-status-label.status-wip:before{background:var(--amber)}.project-name{font-size:19px;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.25;transition:color .2s}.project-summary{font-size:14.5px;color:var(--text-sec);line-height:1.6;margin-bottom:14px;flex:1;text-wrap:pretty;max-width:640px}.project-dimensions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:14px}.project-dim{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border-divider);border-radius:999px;background:color-mix(in srgb,var(--accent) 4%,transparent);color:var(--text-muted);font-size:12px;font-weight:500;line-height:1;white-space:nowrap}.project-dim svg{width:10px;height:10px;flex:0 0 10px;color:var(--accent-cyan)}.project-problem{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border-divider);border-left-color:color-mix(in srgb,var(--accent-warm) 35%,transparent);border-radius:var(--r-md);background:var(--accent-warm-dim)}.project-problem-label{color:var(--accent-warm);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.project-problem-text{color:var(--text-sec);font-size:var(--fs-sm);line-height:1.55}.project-highlights{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}.project-highlight{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.project-highlight svg{width:12px;height:12px;color:var(--accent);flex-shrink:0}.project-stack{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.project-card:hover .tech-badge{color:var(--text-muted);border-color:var(--border2)}.project-card:hover .tech-badge:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--accent-dim)}.project-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border-divider)}.project-complexity{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);letter-spacing:.05em}.project-link{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);display:flex;align-items:center;gap:5px;opacity:.7;transition:opacity .2s}.project-card:hover .project-link{opacity:1}.project-link svg{width:12px;height:12px}.project-secondary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.projects-complementary-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:8px;margin-bottom:4px}.projects-complementary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.articles-list{display:flex;flex-direction:column}.article-row{background:none;padding:20px 4px;display:flex;align-items:flex-start;gap:20px;cursor:pointer;transition:background .2s;text-decoration:none;color:inherit}.article-row+.article-row{border-top:1px solid var(--border)}.article-row:hover{background:color-mix(in srgb,var(--surface2) 55%,transparent)}.article-row:hover .article-title{color:var(--accent)}.article-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:130px}.article-cat{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.09em;padding:3px 8px;border-radius:var(--r-sm);background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);white-space:nowrap}.article-cat.backend{background:var(--green-dim);color:var(--green);border-color:color-mix(in srgb,var(--green) 20%,transparent)}.article-cat.security{background:var(--amber-dim);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 20%,transparent)}.article-cat.systems{background:color-mix(in srgb,var(--red) 8%,transparent);color:var(--red);border-color:color-mix(in srgb,var(--red) 20%,transparent)}.article-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.article-read{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.article-body{flex:1}.article-title{font-size:18.5px;font-weight:600;color:var(--text);margin-bottom:5px;line-height:1.3;transition:color .2s}.article-excerpt{font-size:14.5px;color:var(--text-muted);line-height:1.55;margin-bottom:10px;text-wrap:pretty}.article-tags{display:flex;gap:6px;flex-wrap:wrap}.article-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);background:var(--bg);border:1px solid var(--border);padding:2px 7px;border-radius:3px}.article-arrow{color:var(--text-faint);font-size:18px;margin-top:2px;transition:color .2s,transform .2s}.article-row:hover .article-arrow{color:var(--accent);transform:translate(3px)}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:1fr}.lab-card{background:none;border:none;border-radius:0;padding:16px 4px 0 0;position:relative;cursor:pointer;height:100%;display:flex;flex-direction:column}.lab-card:before{content:"";position:absolute;top:0;left:0;width:28px;height:3px;border-radius:999px;background:var(--accent-warm);opacity:.55;transition:width .25s ease-out,opacity .2s}.lab-card:hover:before{width:64px;opacity:1}.lab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lab-status{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;padding:3px 8px;border-radius:var(--r-sm)}.lab-status.explorando{background:color-mix(in srgb,var(--yellow) 10%,transparent);color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 20%,transparent)}.lab-status.desarrollo{background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.lab-status.documentado{background:var(--green-dim);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 20%,transparent)}.lab-status.archivado{background:var(--surface2);color:var(--text-faint);border:1px solid var(--border)}.lab-num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.lab-title{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.35;letter-spacing:-.01em}.lab-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.55;margin-bottom:16px;text-wrap:pretty}.lab-stack{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.lab-learning{font-family:var(--font-mono);font-size:12.5px;color:var(--text-faint);border-left:2px solid var(--amber);padding-left:10px;font-style:italic;line-height:1.5;margin-top:auto}.about-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start}.about-bio{font-size:17px;color:var(--text-sec);line-height:1.78;margin-bottom:32px;text-wrap:pretty}.about-bio strong{color:var(--text);font-weight:500}.about-phrase{font-size:15.5px;color:var(--text-muted);border-left:2px solid var(--accent);padding:12px 20px;background:var(--accent-glow);border-radius:0 var(--r-md) var(--r-md) 0;font-style:italic;margin-bottom:32px;line-height:1.65}.about-work-method{margin-bottom:24px}.about-content{max-width:68ch}.about-intro{font-size:var(--fs-md);color:var(--text-sec);line-height:1.8;margin-bottom:18px;text-wrap:pretty}.about-work-method-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:44px;margin-bottom:14px}.about-grid>div>.about-work-method-title:first-child{margin-top:0}.about-principles{list-style:none;display:flex;flex-direction:column;gap:10px}.about-principles li{font-size:15px;color:var(--text-sec);display:flex;align-items:flex-start;gap:10px;line-height:1.5}.about-principles li:before{content:"\25b8";color:var(--accent);font-size:var(--fs-xs);margin-top:4px;flex-shrink:0}.about-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--nav-h) + 28px);align-self:start}.about-block{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px}.about-block-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.stack-tags{display:flex;flex-wrap:wrap;gap:7px}.stack-tag{font-family:var(--font-mono);font-size:12.5px;color:var(--text-sec);background:var(--bg);border:1px solid var(--border2);padding:4px 10px;border-radius:var(--r-md)}.area-list{list-style:none;display:flex;flex-direction:column;gap:8px}.area-list li{font-size:14.5px;color:var(--text-sec);display:flex;align-items:flex-start;gap:10px}.area-list li:before{content:"\25b8";color:var(--accent);font-size:var(--fs-xs);margin-top:3px;flex-shrink:0}.about-timeline{display:flex;flex-direction:column;gap:10px}.about-timeline-item{display:flex;gap:10px;align-items:flex-start}.about-timeline-year{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-warm);min-width:40px;padding-top:2px}.about-timeline-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.cta-section{padding:clamp(48px,6vw,72px) 0;text-align:center}.cta-section+.cta-section,.section+.cta-section,.cta-section+section{border-top:1px solid var(--border-divider)}.cta-title{font-size:clamp(22px,3vw,34px);font-weight:600;color:var(--text);letter-spacing:-.025em;margin-bottom:16px;max-width:640px;margin-left:auto;margin-right:auto;line-height:1.3}.cta-desc{font-size:var(--fs-md);color:var(--text-sec);max-width:480px;margin:0 auto 36px;line-height:1.65;text-wrap:pretty}footer.site-footer{border-top:1px solid var(--border-divider);padding:40px 0 28px;background:var(--bg)}.footer-inner{max-width:var(--container);margin:0 auto 28px;padding:0 var(--space-xl);display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.footer-nav-col{grid-column:3}.footer-brand-name{font-size:16.5px;font-weight:600;color:var(--text);margin-bottom:4px}.footer-brand-sub{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}.footer-brand-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.footer-col-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px}.footer-links a{font-size:14.5px;color:var(--text-sec);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}.footer-bottom{max-width:var(--container);margin:0 auto;padding:16px var(--space-xl) 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.footer-copy{font-family:var(--font-mono);font-size:12.5px;color:var(--text-faint)}.footer-stack{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);display:flex;align-items:center;gap:10px}.footer-stack span{color:var(--accent)}.page-header{padding:clamp(44px,5vw,64px) 0 clamp(28px,3vw,36px);border-bottom:1px solid var(--border-divider)}.page-header .eyebrow{font-size:12px;margin-bottom:10px}.page-header h1{font-size:clamp(28px,3.5vw,var(--fs-3xl));font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:12px;color:var(--text)}.page-header p{font-size:var(--fs-md);color:var(--text-sec);max-width:560px;line-height:1.65}.contact-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}.contact-layout .form-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px}.contact-layout .form-panel label{display:block;font-size:13px;font-weight:500;color:var(--text-sec);margin-bottom:5px;letter-spacing:.02em}.contact-layout .form-panel input,.contact-layout .form-panel textarea{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--r-md);padding:9px 14px;font-family:var(--font-sans);font-size:15px;color:var(--text);outline:none;transition:border-color .2s;margin-bottom:14px}.contact-layout .form-panel input:focus,.contact-layout .form-panel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.contact-layout .form-panel textarea{resize:vertical;min-height:120px}.contact-layout .form-panel .button-primary{width:100%;margin-top:6px;padding:11px;background:var(--accent);color:var(--bg);border:none;border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .2s}.contact-layout .form-panel .button-primary:hover{opacity:.88}.contact-layout .form-panel .button-primary:disabled{opacity:.5;cursor:not-allowed}.contact-aside{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}.contact-aside-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.contact-aside-list{list-style:none;display:flex;flex-direction:column;gap:10px}.contact-aside-list li{font-size:14.5px;color:var(--text-sec);display:flex;align-items:flex-start;gap:10px}.contact-aside-list li:before{content:"\25b8";color:var(--accent);font-size:var(--fs-xs);margin-top:3px;flex-shrink:0}.form-error{font-family:var(--font-mono);font-size:12px;color:var(--red);margin-bottom:10px}.form-success{font-family:var(--font-mono);font-size:12px;color:var(--green);margin-top:10px}.surface-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;transition:border-color .2s}.surface-block:hover{border-color:var(--border-accent)}.surface-block h2{font-size:12.5px;font-weight:500;letter-spacing:.05em;color:var(--accent);margin-bottom:14px}.surface-block p{font-size:15px;color:var(--text-sec);line-height:1.6}.surface-block ul{list-style:none;display:flex;flex-direction:column;gap:8px}.surface-block li{font-size:14.5px;color:var(--text-sec);display:flex;align-items:flex-start;gap:10px}.surface-block li:before{content:"\25b8";color:var(--accent);font-size:var(--fs-xs);margin-top:3px;flex-shrink:0}.info-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.card-topline{display:flex;align-items:center;gap:12px;margin-bottom:12px}.state-box{padding:48px 24px;text-align:center;color:var(--text-sec)}.state-box strong{display:block;font-size:var(--fs-lg);font-weight:600;color:var(--text);margin-bottom:8px}.state-box p{font-size:15px;line-height:1.5}.state-error strong{color:var(--red)}.detail-page{max-width:var(--container);margin:0 auto;padding:40px var(--space-xl)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;color:var(--text-muted);text-decoration:none;margin-bottom:24px;transition:color .2s}.back-link:hover{color:var(--accent)}.project-hero{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border)}.project-hero-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.project-hero-type{font-size:12.5px;font-weight:500;color:var(--accent);letter-spacing:.04em;background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding:3px 10px;border-radius:var(--r-sm)}.project-hero-ops{font-size:12px;font-weight:500;padding:3px 8px;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:4px}.project-hero-ops:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.project-hero-ops.status-active{color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent);border:1px solid color-mix(in srgb,var(--green) 20%,transparent)}.project-hero-ops.status-active:before{background:var(--green);box-shadow:0 0 5px color-mix(in srgb,var(--green) 40%,transparent)}.project-hero-ops.status-dev{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 8%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 20%,transparent)}.project-hero-ops.status-dev:before{background:var(--yellow)}.project-hero-ops.status-wip{color:var(--amber);background:var(--amber-dim);border:1px solid color-mix(in srgb,var(--amber) 20%,transparent)}.project-hero-ops.status-wip:before{background:var(--amber)}.project-hero-title{font-size:clamp(28px,3.5vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--text);margin-bottom:12px}.project-hero-summary{font-size:17px;color:var(--text-sec);line-height:1.65;max-width:720px;margin-bottom:16px}.project-hero-stack{display:flex;flex-wrap:wrap;gap:6px}.project-exec{display:grid;grid-template-columns:1fr 220px;gap:16px;margin-bottom:40px}.exec-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px}.exec-card .exec-card-icon{width:34px;height:34px;border-radius:var(--r-md);background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.exec-card .exec-card-icon svg{width:16px;height:16px}.exec-card h3{font-size:15.5px;font-weight:600;color:var(--text);margin-bottom:6px}.exec-card p{font-size:14.5px;color:var(--text-sec);line-height:1.6}.exec-card--complexity .exec-card-icon{background:var(--amber-dim)}.exec-card--complexity p{font-size:17.5px;font-weight:600;color:var(--amber)}.project-role{margin-bottom:40px}.role-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 28px;display:flex;flex-direction:column;gap:10px}.role-label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--accent);letter-spacing:.03em}.role-label svg{width:15px;height:15px;flex-shrink:0}.role-card p{font-size:15.5px;color:var(--text-sec);line-height:1.7}.project-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}.split-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px}.split-label{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--text);margin-bottom:12px;letter-spacing:-.01em}.split-label svg{width:14px;height:14px;flex-shrink:0}.split-block p{font-size:15.5px;color:var(--text-sec);line-height:1.7}.split-block--problem .split-label{color:var(--amber)}.split-block--solution .split-label{color:var(--green)}.project-arch{margin-bottom:44px}.arch-content{display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:start}.arch-text p{font-size:15.5px;color:var(--text-sec);line-height:1.7;margin-bottom:16px}.arch-decisions{list-style:none;display:flex;flex-direction:column;gap:8px}.arch-decisions li{font-size:14.5px;color:var(--text-muted);display:flex;align-items:flex-start;gap:10px;line-height:1.55}.arch-decisions li:before{content:"\25b8";color:var(--accent);font-size:11px;margin-top:3px;flex-shrink:0}.arch-layers{display:flex;flex-direction:column;gap:8px}.arch-layer{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-sec)}.arch-layer-icon{width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.04em;flex-shrink:0}.arch-layer--ui .arch-layer-icon{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.arch-layer--api .arch-layer-icon{background:color-mix(in srgb,var(--accent-cyan) 12%,transparent);color:var(--accent-cyan)}.arch-layer--data .arch-layer-icon{background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green)}.arch-layer--sec .arch-layer-icon{background:color-mix(in srgb,var(--amber) 10%,transparent);color:var(--amber)}.project-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:44px}.project-result{margin-bottom:44px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.result-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px}.result-block h4{font-size:14.5px;font-weight:600;color:var(--text);margin-bottom:8px;letter-spacing:-.01em}.result-block p{font-size:14.5px;color:var(--text-sec);line-height:1.6}.project-objective{margin-bottom:0}.objective-card{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 32px;text-align:center}.objective-label{font-size:12.5px;font-weight:500;color:var(--accent);letter-spacing:.06em;margin-bottom:12px}.objective-card p{font-size:16.5px;color:var(--text-sec);line-height:1.7;max-width:600px;margin:0 auto 20px}.objective-links{display:flex;gap:10px;justify-content:center}@media(max-width:900px){.project-exec,.project-split,.arch-content,.project-grid-2,.result-grid{grid-template-columns:1fr}.project-hero-title{font-size:clamp(24px,4vw,32px)}}@media(max-width:600px){.result-grid{grid-template-columns:1fr}}.case-hero{margin-bottom:32px}.case-hero h1{font-size:clamp(28px,3.5vw,var(--fs-3xl));font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:14px;color:var(--text)}.case-hero-summary{font-size:18.5px;color:var(--text-sec);line-height:1.65;margin-bottom:16px;text-wrap:pretty;max-width:750px}.case-hero-meta{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:16px;flex-wrap:wrap}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.status-dot.status-active{background:var(--green);box-shadow:0 0 6px color-mix(in srgb,var(--green) 50%,transparent)}.case-exec-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 28px;margin-bottom:32px;font-size:var(--fs-md);color:var(--text-sec);line-height:1.7;text-wrap:pretty;border-left:3px solid var(--accent)}.case-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.case-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px;transition:border-color .2s}.case-block:hover{border-color:var(--border-accent)}.case-block-title{font-size:14.5px;font-weight:600;color:var(--accent);letter-spacing:.02em;margin-bottom:10px}.case-block p{font-size:var(--fs-sm);color:var(--text-sec);line-height:1.65}.case-section{margin-bottom:16px}.case-section-title{font-size:16.5px;font-weight:600;color:var(--text);letter-spacing:-.01em;margin-bottom:14px}.case-section p{font-size:var(--fs-md);color:var(--text-sec);line-height:1.7;max-width:750px}.case-list{list-style:none;display:flex;flex-direction:column;gap:8px}.case-list li{font-size:14.5px;color:var(--text-sec);display:flex;align-items:flex-start;gap:10px;line-height:1.55}.case-list li:before{content:"\25b8";color:var(--accent);font-size:var(--fs-xs);margin-top:3px;flex-shrink:0}.case-highlight{background:linear-gradient(145deg,var(--surface) 0%,var(--surface2) 100%);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--r-lg);padding:24px 28px;margin-bottom:16px;box-shadow:0 0 32px var(--accent-glow)}.case-highlight-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--accent)}.case-highlight-icon svg{width:18px;height:18px}.case-highlight-title{font-size:var(--fs-xl);font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:10px}.case-highlight p{font-size:var(--fs-md);color:var(--text-sec);line-height:1.65;max-width:700px}.case-impact{background:var(--surface);border:1px solid color-mix(in srgb,var(--green) 15%,transparent);border-radius:var(--r-lg);margin-bottom:16px;border-left:3px solid var(--green)}.case-impact-inner{padding:20px 26px}.case-impact-label{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--green);display:block;margin-bottom:8px}.case-impact p{font-size:var(--fs-md);color:var(--text-sec);line-height:1.65}.case-stack-section{margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}.case-stack-grid{display:flex;flex-wrap:wrap;gap:10px}.case-stack-item{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-sec);background:var(--surface);border:1px solid var(--border2);padding:8px 16px;border-radius:var(--r-md);transition:border-color .2s,color .2s}.case-stack-item:hover{border-color:var(--accent);color:var(--text)}@media(max-width:768px){.case-two-col{grid-template-columns:1fr}.case-hero h1{font-size:clamp(22px,6vw,32px)}.case-hero-summary{font-size:var(--fs-md)}}.article-detail{max-width:var(--container-narrow);margin:0 auto;padding:40px var(--space-xl)}.content-block p{font-size:16.5px;color:var(--text-sec);line-height:1.75;margin-bottom:16px;text-wrap:pretty}.content-block h2{font-size:var(--fs-xl);font-weight:600;color:var(--text);letter-spacing:-.02em;margin:32px 0 12px}.content-block h3{font-size:18.5px;font-weight:600;color:var(--text);letter-spacing:-.015em;margin:24px 0 10px}.content-block ul,.content-block ol{margin-bottom:16px;padding-left:20px}.content-block li{font-size:var(--fs-md);color:var(--text-sec);line-height:1.65;margin-bottom:6px}.content-block blockquote{border-left:2px solid var(--accent);padding:10px 18px;background:var(--accent-glow);border-radius:0 var(--r-md) var(--r-md) 0;margin:16px 0;font-style:italic}.content-block blockquote p{margin:0;font-family:var(--font-mono);font-size:14.5px;color:var(--text-muted)}.content-block .callout{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;margin:16px 0}.content-block .callout-title{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px}.content-block .callout p{margin:0}.content-block code{font-family:var(--font-mono);font-size:14px;background:var(--surface);padding:2px 6px;border-radius:3px;color:var(--text)}.content-block pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;overflow-x:auto;margin:16px 0}.content-block pre code{background:none;padding:0;font-size:var(--fs-sm);color:var(--text-sec)}.admin-layout{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.admin-sidebar{background:var(--surface2);border-right:1px solid var(--border-divider);padding:20px 0;display:flex;flex-direction:column}.sidebar-logo{padding:0 18px 20px;border-bottom:1px solid var(--border-divider);margin-bottom:12px;text-decoration:none;display:block}.sidebar-logo-name{font-size:14.5px;font-weight:600;color:var(--text)}.sidebar-logo-role{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em}.sidebar-section-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);padding:12px 18px 4px}.admin-sidebar nav{position:static;height:auto;background:none;backdrop-filter:none;border-bottom:none;padding:0;display:flex;flex-direction:column}.admin-sidebar nav a{display:flex;align-items:center;gap:9px;padding:8px 18px;font-size:14px;color:var(--text-sec);text-decoration:none;transition:background .15s,color .15s;border-right:2px solid transparent}.admin-sidebar nav a:hover{background:var(--accent-dim);color:var(--text)}.admin-sidebar nav a.is-active{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-right-color:var(--accent)}.admin-sidebar nav a svg{width:13px;height:13px;opacity:.8;flex-shrink:0}.logout-btn{margin:auto 18px 0;padding:8px 14px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:color .2s,border-color .2s}.logout-btn:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.admin-content{padding:24px 28px;background:var(--bg);overflow:auto}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-page-title{font-size:var(--fs-lg);font-weight:600;color:var(--text);letter-spacing:-.02em}.admin-page-sub{font-size:12.5px;color:var(--text-faint);font-family:var(--font-mono);margin-top:2px}.admin-date{font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;transition:border-color .2s}.metric-card:hover{border-color:var(--border-accent)}.metric-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);margin-bottom:8px}.metric-value{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1;margin-bottom:4px}.metric-delta{font-family:var(--font-mono);font-size:var(--fs-xs)}.metric-delta.positive{color:var(--green)}.metric-delta.warning{color:var(--amber)}.metric-delta.neutral{color:var(--accent)}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.admin-table-header{padding:12px 16px;border-bottom:1px solid var(--border-divider);font-size:var(--fs-sm);font-weight:500;color:var(--text-sec);display:flex;align-items:center;justify-content:space-between}.admin-table-header a{font-family:var(--font-mono);font-size:12px;color:var(--accent);text-decoration:none}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:9px 16px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);border-bottom:1px solid var(--border-divider)}.admin-table td{padding:10px 16px;font-size:var(--fs-sm);color:var(--text-sec);border-bottom:1px solid color-mix(in srgb,var(--accent) 6%,transparent)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:color-mix(in srgb,var(--accent) 3%,transparent)}.admin-table .td-title{color:var(--text);font-size:14px}.badge-pub{font-family:var(--font-mono);font-size:10.5px;background:var(--green-dim);color:var(--green);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);padding:2px 7px;border-radius:3px}.badge-draft{font-family:var(--font-mono);font-size:10.5px;background:color-mix(in srgb,var(--yellow) 10%,transparent);color:var(--yellow);border:1px solid color-mix(in srgb,var(--yellow) 25%,transparent);padding:2px 7px;border-radius:3px}.badge-arch{font-family:var(--font-mono);font-size:10.5px;background:#6378a01a;color:var(--text-faint);border:1px solid var(--border);padding:2px 7px;border-radius:3px}.td-actions{display:flex;gap:8px}.td-actions a{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);text-decoration:none;transition:color .15s}.td-actions a:hover{color:var(--accent)}.td-actions a.del:hover{color:var(--red)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 32px;width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center}.admin-logo-mark{width:44px;height:44px;background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:700;color:var(--accent)}.admin-login-title{font-size:18.5px;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-.02em}.admin-login-sub{font-size:var(--fs-sm);color:var(--text-faint);margin-bottom:28px;font-family:var(--font-mono)}.login-panel .form-field{width:100%;margin-bottom:14px}.login-panel .form-label{display:block;font-size:13px;font-weight:500;color:var(--text-sec);margin-bottom:5px;letter-spacing:.02em}.login-panel .form-input{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--r-md);padding:9px 14px;font-family:var(--font-sans);font-size:15px;color:var(--text);outline:none;transition:border-color .2s}.login-panel .form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.login-panel .form-input::placeholder{color:var(--text-faint)}.login-panel .form-submit{width:100%;margin-top:6px;padding:11px;background:var(--accent);color:var(--bg);border:none;border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .2s}.login-panel .form-submit:hover{opacity:.88}.login-footer-note{margin-top:18px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);text-align:center}.admin-form{max-width:640px;display:flex;flex-direction:column;gap:0}.admin-form label{display:block;font-size:13px;font-weight:500;color:var(--text-sec);margin-bottom:5px;letter-spacing:.02em}.admin-form input,.admin-form textarea,.admin-form select{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--r-md);padding:9px 14px;font-family:var(--font-sans);font-size:15px;color:var(--text);outline:none;transition:border-color .2s;margin-bottom:14px}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.admin-form textarea{resize:vertical}.admin-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form .checkbox-label{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--text-sec);cursor:pointer;margin-bottom:14px}.admin-form .checkbox-label input{width:auto;margin:0}.form-field{width:100%;margin-bottom:14px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-sec);margin-bottom:5px;letter-spacing:.02em}.form-input{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--r-md);padding:9px 14px;font-family:var(--font-sans);font-size:15px;color:var(--text);outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-submit{width:100%;margin-top:6px;padding:11px;background:var(--accent);color:var(--bg);border:none;border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .2s}.form-submit:hover{opacity:.88}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{text-align:left;padding:9px 16px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);border-bottom:1px solid var(--border-divider)}.table-wrap td{padding:10px 16px;font-size:var(--fs-sm);color:var(--text-sec);border-bottom:1px solid color-mix(in srgb,var(--accent) 6%,transparent)}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr:hover td{background:color-mix(in srgb,var(--accent) 3%,transparent)}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.table-actions a,.table-actions button{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);background:none;border:none;cursor:pointer;text-decoration:none;transition:color .15s;padding:0}.table-actions a:hover,.table-actions button:hover{color:var(--accent)}.row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.row-header h1{font-size:var(--fs-lg);font-weight:600;color:var(--text);letter-spacing:-.02em}.admin-preview-label{font-family:var(--font-mono);font-size:12px;color:var(--amber);letter-spacing:.1em;text-transform:uppercase;margin-bottom:36px;display:flex;align-items:center;gap:10px}.admin-preview-label:before{content:"";display:block;width:20px;height:1px;background:var(--amber)}.admin-screens{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}.admin-login-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.frame-titlebar{background:var(--surface2);border-bottom:1px solid var(--border-divider);padding:10px 16px;display:flex;align-items:center;gap:8px}.frame-dot{width:8px;height:8px;border-radius:50%}.frame-dot.r{background:var(--red)}.frame-dot.y{background:var(--yellow)}.frame-dot.g{background:var(--green)}.frame-url{margin-left:10px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--text-muted)}.nav-hamburger svg{width:20px;height:20px}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--r-md)}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-title{height:1.25em;margin-bottom:.75em;width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:900px){#hero{grid-template-columns:none}.hero-container{grid-template-columns:1fr;min-height:auto;align-items:start}.hero-left{padding:clamp(32px,6vh,56px) 0 8px}.hero-right{padding:24px 0 48px;justify-content:flex-start}.hero-sumario{max-width:100%}.hero-scroll-hint{display:none}nav.public-header{padding:0 20px}.container{padding:0 20px}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:fixed;top:var(--nav-h);left:0;right:0;background:color-mix(in srgb,var(--bg) 98%,transparent);backdrop-filter:blur(20px);padding:12px 20px 16px;gap:0;border-bottom:1px solid var(--border-divider);z-index:99}.nav-links.open li{width:100%}.nav-links.open a{display:block;padding:14px 2px;font-size:16.5px;border-bottom:1px solid var(--border-divider)}.nav-links.open a.is-active:after{display:none}.nav-links.open a.is-active{color:var(--accent)}.nav-hamburger{display:block;padding:10px;margin-right:-10px}.about-grid{grid-template-columns:1fr;gap:36px}.about-sidebar{position:static;top:auto}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-nav-col{grid-column:auto}.contact-layout{grid-template-columns:1fr}.capabilities-grid,.lab-grid{grid-template-columns:repeat(2,1fr)}.admin-screens{grid-template-columns:1fr}.dash-metrics{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-sidebar{display:none}}@media(max-width:768px){.project-secondary-grid,.projects-complementary-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px;text-align:center}.detail-page,.article-detail{padding:28px 20px}.contact-layout .form-panel{padding:24px 20px}}@media(max-width:600px){.capabilities-grid{grid-template-columns:1fr;gap:4px}.capability-card{padding-top:14px}.lab-grid{grid-template-columns:1fr}.method-principles{grid-template-columns:1fr;row-gap:26px}.article-row{flex-direction:column;gap:10px}.article-meta{flex-direction:row;flex-wrap:wrap;align-items:center;min-width:auto}.article-arrow{display:none}.dash-metrics,.info-columns{grid-template-columns:1fr}}@media(max-width:460px){nav.public-header{padding:0 16px}.container{padding:0 16px}.hero-name{font-size:clamp(40px,13vw,52px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:center}.project-dimensions{display:none}.cta-section .btn{width:calc(100% - 32px);justify-content:center}}:root[data-theme=light]{--bg: #fafaf7;--bg-section: #f1f1ea;--bg-section-warm: #f4f3ea;--surface: #ffffff;--surface2: #ebebe0;--surface3: #e0e0d2;--border: rgba(20, 20, 12, .2);--border2: rgba(20, 20, 12, .34);--border-accent: rgba(15, 118, 110, .55);--border-divider: rgba(20, 20, 12, .11);--text: #14140e;--text-sec: #3d3d30;--text-muted: #6c6c58;--text-faint: #9a9a80;--accent: #0f766e;--accent-dim: rgba(15, 118, 110, .1);--accent-glow: rgba(15, 118, 110, .06);--accent-cyan: #4d7c0f;--accent-cyan-dim: rgba(77, 124, 15, .1);--accent-warm: #b45309;--accent-warm-dim: rgba(180, 83, 9, .1);--green: #15803d;--green-dim: rgba(21, 128, 61, .1);--amber: #b45309;--amber-dim: rgba(180, 83, 9, .1);--red: #dc2626;--yellow: #a16207;--shadow-card: 0 1px 2px rgba(20, 20, 12, .08);--shadow-card-hover: 0 2px 8px rgba(20, 20, 12, .12)}html,body,.public-header,.site-footer,.card,.surface-block,.project-card,.article-row,.lab-card{transition:background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.5;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,color-mix(in srgb,var(--text) 1.5%,transparent) 3px,color-mix(in srgb,var(--text) 1.5%,transparent) 4px)}.nav-actions{display:flex;align-items:center;gap:12px}.theme-toggle{width:42px;height:28px;border:1px solid var(--border2);border-radius:999px;background:var(--surface);color:var(--text-sec);cursor:pointer;display:inline-flex;align-items:center;padding:3px;transition:border-color .2s,background .2s,transform .2s}.theme-toggle:hover{border-color:var(--border-accent);transform:translateY(-1px)}.theme-toggle-track{position:relative;width:100%;height:100%}.theme-toggle-dot{position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;background:var(--surface2);display:grid;place-items:center;box-shadow:var(--shadow-card);transition:transform .24s ease,background .24s ease}.theme-toggle-dot svg{width:13px;height:13px}:root[data-theme=light] .theme-toggle-dot{transform:translate(14px);background:#fff7df;color:var(--accent-warm)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:14.5px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,opacity .2s}.button:hover{border-color:var(--border-accent)}.button-primary{background:var(--accent);color:var(--bg)}.button-ghost{background:var(--surface);color:var(--text-sec);border-color:var(--border2)}.button-ghost:hover{color:var(--text);border-color:var(--border-accent);background:var(--surface2)}.route-reveal{animation:route-reveal .42s ease both}@keyframes route-reveal{0%{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.state-box{padding:44px 28px;text-align:center;color:var(--text-sec);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 60%,transparent));box-shadow:var(--shadow-card)}.state-icon{width:34px;height:34px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-weight:700}.state-error .state-icon{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.state-skeleton-grid{max-width:360px;margin:0 auto 18px;display:grid;gap:10px}.state-skeleton-grid .skeleton{display:block;width:100%}.state-skeleton-grid .short{width:58%;margin-inline:auto}.not-found-page{min-height:calc(100vh - var(--nav-h));display:grid;place-items:center;padding:80px 20px}.not-found-panel{width:min(720px,100%);border:1px solid var(--border);border-radius:var(--r-xl);background:linear-gradient(145deg,var(--surface),var(--surface2));padding:clamp(28px,6vw,56px);box-shadow:var(--shadow-card-hover);position:relative;overflow:hidden}.not-found-panel:before{content:"404";position:absolute;right:-16px;top:-34px;font-family:var(--font-mono);font-size:clamp(96px,18vw,180px);font-weight:700;color:var(--accent-dim);line-height:1}.not-found-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-warm);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;position:relative}.not-found-panel h1{max-width:520px;font-size:clamp(30px,5vw,52px);line-height:1.05;color:var(--text);margin-bottom:16px;position:relative}.not-found-panel p{max-width:560px;color:var(--text-sec);margin-bottom:24px;position:relative}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;position:relative}.built-with-cta{margin:-10px 0 34px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow-card)}.built-with-cta .mono{display:block;color:var(--accent-warm);font-size:var(--fs-xs);margin-bottom:4px}.built-with-cta strong{color:var(--text);font-size:var(--fs-lg)}@media(max-width:768px){.nav-actions{gap:8px}.theme-toggle{width:38px}.built-with-cta{align-items:flex-start;flex-direction:column}.not-found-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
