*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#1a1a1a;--text-primary:#e5e5e5;--text-secondary:#a3a3a3;--accent:#22c55e;--accent-hover:#16a34a;--accent-glow:rgba(34,197,94,.15);--border:#262626;--radius:10px;--max-width:1100px;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--transition:.3s ease}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ol,ul{list-style:none}img{display:block;max-width:100%}button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:var(--max-width);padding:0 1.5rem;width:100%}.section{padding:6rem 0}.section-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.section-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:3rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-cyrillic-ext.BOeWTOD4.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-cyrillic.DqGufNeO.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-greek-ext.DlzME5K_.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-greek.CkhJZR-_.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-vietnamese.CBcvBZtf.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-latin-ext.DO1Apj_S.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(./Inter-normal-400-latin.Dx4kXJAl.woff2) format("woff2");unicode-range:u+00??,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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-cyrillic-ext.BOeWTOD4.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-cyrillic.DqGufNeO.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-greek-ext.DlzME5K_.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-greek.CkhJZR-_.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-vietnamese.CBcvBZtf.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-latin-ext.DO1Apj_S.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(./Inter-normal-400-latin.Dx4kXJAl.woff2) format("woff2");unicode-range:u+00??,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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-cyrillic-ext.BOeWTOD4.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-cyrillic.DqGufNeO.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-greek-ext.DlzME5K_.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-greek.CkhJZR-_.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-vietnamese.CBcvBZtf.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-latin-ext.DO1Apj_S.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(./Inter-normal-400-latin.Dx4kXJAl.woff2) format("woff2");unicode-range:u+00??,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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-cyrillic-ext.BOeWTOD4.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-cyrillic.DqGufNeO.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-greek-ext.DlzME5K_.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-greek.CkhJZR-_.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-vietnamese.CBcvBZtf.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-latin-ext.DO1Apj_S.woff2) format("woff2");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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(./Inter-normal-400-latin.Dx4kXJAl.woff2) format("woff2");unicode-range:u+00??,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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./JetBrains_Mono-normal-400-cyrillic.Buze_B52.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./JetBrains_Mono-normal-400-greek.D3oMJlXt.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./JetBrains_Mono-normal-400-vietnamese.BehTv68k.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./JetBrains_Mono-normal-400-latin-ext.DIC32ArD.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(./JetBrains_Mono-normal-400-latin.6fWv1k7M.woff2) format("woff2");unicode-range:u+00??,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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAZoABMAAAAADOQAAAYFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVIEgJx4AdC9MEQgKhGSEAAsgADCDOgE2AiQDOgQgBYdGB4EUDAcbFgtRlEzSeBRfJcRxXSwko8GaGu0rSEK9OeT37Ame5+m0P/cNAlZysqTS/YDQLp2uOkdrbV41JPX9JpjInticaMQSVTKRECFc3IPshhLlnEL9X0haNplWUHRyQlHA9H0tooCT9+5/rdU/qESaDngJEBIpk07s755rxdQir4tm1bgNDQWvXKYRslZWdQZK7FoOOWn53PHs2p4IArgBAEEwEAQBBAGcJJOM9OqzfQxRdAALAAI4ySUX5eNtftF0U4E0gPfpuhon12GAukKNAxiI9pYpEAkAChxMOZWNJzBgAXiP6Pu1C90/QbsgxenIvf/+CpWr/gDpGAiCHQVEYwLZqLVzOdMHfAHzBnw+hHmOzeuQjBsNQYkfAAE0QIku14F6C1AAYtPSQR2Blm5hTC+9GmcVq4qGnAL5QI5AJdTLFPkvIwAIxns8AD9RVeXkLA/APAAFaEA0GgJEozMNEIkfDYWHdIJ+eV+U/qy+37JARz2j7+NPTQ54z0IraO3aStY3sQMGNlxfAD8K2ZF1vpn5OgDiO5dHEB0s+S4x4KY2t5jvlI94xOZvRbx5Iws+AKhIxY1vAn4E2SAPNNRxhTxGU0UIsO3DDWia3eHzORyRDkeU7nUZHn2Gx5i10O2a6prsHOMcNdE15gHH3qR0lzbBNf72ils7J7rGqelXWLTt77ryUNv005grX8TJtpvgku12XiHceDkRQc7LsxAwxjpapiRWA6SWTF5yEhvHukZtjOAW17Yp6K4urwlW98f/mFxR3NRm3VhM5du/r3/r94ll7/+92CToea3uPytidHJyru5mfcifn02+rui1H+LiOl67umgyVTOCIseMperjxlKDj5qnOSyQKZNJYMikpWfg40SB1p6t406sCsz0aGqSNMAxB6YQP3Xw2zlo8pSagZtR1aTAT6CKGTRqI62b1U/lBdp6tp0+ldVGaZoaq0vS/eJLH+RMWis5f1syoGLJa3NXSVc0l5fw9Cycf+X0JZ9EfpjTb+zewlrdqsCX1zdIvAv8uQhg4kkVQV5sJjq8yAE1AJWgcrVXEGQ1rlF/MBaVzL8fQYBqfADUAhBLMpnU0cIsgi8en++f5/kgAAh2stLBv/evjIQ/98Vlp/5/xlK6NVeo3dXZSX3/fPT6+69//E+IAdo4O3cSkHl1b0fHoeLwWZThcP4cnZoa2sbJ7eawfsXIjH7DXjjZzg1rb4fenm1pxzqmmGP4U2PjnIQPkhiNPQaZwzjKS4e2a07vidM74k6f8LpNqqryovbti8qrspsP/f61nv/3QyHS+wy0ZnYdzPMOdmGPLYNiHbKjmkRo7BHIHMZe8vTlDN3uCIcv7Ii/2HXGYdMoLk5ynJElk4qdzvCen6YZe8Khm3KwdXb+m6qwhEzpvtiZkZYWCjnrW1qb6mV+U2tz3aUS7BW0jv8zkkIkSXiWNhNRSlNqm3FmX3TX4QTz/Hlc8XSDAKpW7/Ok/D3V13zarmn7AH/+8MgdAH/+8d0JsiyqRnsFMFEACHya1WqcT1B39RwIE/Xa6aXqSYB/GS57ThEAwOcC4CcOAXxko5GGlp5VOjqKA41FdwBvqXQChWSlo8IrZ1CjWd5AnWK5Bg0SZRWaFMqARC+1Ep1JwC121PHKGTRwcwFN7JxCG5F0oItqnkE3lWxCD6UMQS/1xKIPN86/6ccJjIBkDxQbTA8kvCebKNMi3QOewrADKZBVvktvLtNzIyxCkmd2V3Isg9FiIXgWmQcjKFtQiRxHd1Yxap0ezsrzWBwT8IrUKsOYsq/hSk90PJXJ0GMlnqTHUjpWn6FWbZ+w7XPln6L0VB+FFAUqKaWSCioKVUFmU2jJpU0luwi75BytqY7v3XwJUnn0NxKcmi0HlnRG0UA7cXrLMDrKF1BPSWxB1ltbke4/J/m8u20u3s9ieexWNxOS9fcaYP/m+ZooptxagwDCPfuAbD4XRbNoooshptjQxC4OcYrLDM7QqU0jq5fwg+pgbxTSu55P+vcp32DMnS7LD4XX5cFy1XNEevpMy6Q/zCL4cxYmabdVldc2Zf/F6jn9agA=) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./JetBrains_Mono-normal-400-cyrillic.Buze_B52.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./JetBrains_Mono-normal-400-greek.D3oMJlXt.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./JetBrains_Mono-normal-400-vietnamese.BehTv68k.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./JetBrains_Mono-normal-400-latin-ext.DIC32ArD.woff2) format("woff2");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-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(./JetBrains_Mono-normal-400-latin.6fWv1k7M.woff2) format("woff2");unicode-range:u+00??,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}.lang-switcher[data-v-a8f61fef]{align-items:center;display:flex;gap:.15rem}.lang-btn[data-v-a8f61fef]{border-radius:4px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;font-weight:500;padding:.25rem .4rem;transition:color var(--transition),background var(--transition)}.lang-btn[data-v-a8f61fef]:hover{color:var(--text-primary)}.lang-btn.active[data-v-a8f61fef]{background:var(--accent-glow);color:var(--accent)}.lang-divider[data-v-a8f61fef]{color:var(--border);font-size:.8rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.header[data-v-1a6d4ed8]{left:0;position:fixed;right:0;top:0;transition:background-color var(--transition),backdrop-filter var(--transition);z-index:100}.header.scrolled[data-v-1a6d4ed8]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#0a0a0ad9;border-bottom:1px solid var(--border)}.header-inner[data-v-1a6d4ed8]{align-items:center;display:flex;height:4rem;justify-content:space-between}.logo[data-v-1a6d4ed8]{font-family:var(--font-mono);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.logo-accent[data-v-1a6d4ed8]{color:var(--accent)}.nav-right[data-v-1a6d4ed8]{align-items:center}.nav-desktop[data-v-1a6d4ed8],.nav-right[data-v-1a6d4ed8]{display:flex;gap:2rem}.nav-link[data-v-1a6d4ed8]{color:var(--text-secondary);font-size:.9rem;font-weight:500;position:relative;transition:color var(--transition)}.nav-link[data-v-1a6d4ed8]:after{background:var(--accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition);width:0}.nav-link[data-v-1a6d4ed8]:hover{color:var(--text-primary)}.nav-link[data-v-1a6d4ed8]:hover:after{width:100%}.mobile-right[data-v-1a6d4ed8]{align-items:center;display:none;gap:.75rem}.hamburger[data-v-1a6d4ed8]{display:flex;flex-direction:column;gap:5px;padding:4px}.hamburger span[data-v-1a6d4ed8]{background:var(--text-primary);display:block;height:2px;transition:transform var(--transition),opacity var(--transition);width:24px}.hamburger.active span[data-v-1a6d4ed8]:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span[data-v-1a6d4ed8]:nth-child(2){opacity:0}.hamburger.active span[data-v-1a6d4ed8]:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-mobile[data-v-1a6d4ed8]{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0af2;border-bottom:1px solid var(--border);display:none;flex-direction:column;gap:1.5rem;padding:2rem}.nav-mobile-link[data-v-1a6d4ed8]{color:var(--text-secondary);font-size:1.1rem;font-weight:500;transition:color var(--transition)}.nav-mobile-link[data-v-1a6d4ed8]:hover{color:var(--accent)}.slide-enter-active[data-v-1a6d4ed8],.slide-leave-active[data-v-1a6d4ed8]{transition:transform .3s ease,opacity .3s ease}.slide-enter-from[data-v-1a6d4ed8],.slide-leave-to[data-v-1a6d4ed8]{opacity:0;transform:translateY(-10px)}@media(max-width:768px){.nav-right[data-v-1a6d4ed8]{display:none}.mobile-right[data-v-1a6d4ed8],.nav-mobile[data-v-1a6d4ed8]{display:flex}}.hero[data-v-8f4edcc8]{align-items:center;display:flex;min-height:100vh;overflow:hidden;position:relative}.hero-content[data-v-8f4edcc8]{padding-top:4rem;position:relative;z-index:1}.hero-greeting[data-v-8f4edcc8]{color:var(--accent);font-family:var(--font-mono);font-size:1rem;margin-bottom:.75rem}.hero-name[data-v-8f4edcc8]{font-size:clamp(3rem,8vw,5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:.5rem}.accent[data-v-8f4edcc8]{color:var(--accent)}.hero-role[data-v-8f4edcc8]{color:var(--text-secondary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500;margin-bottom:1.5rem}.hero-description[data-v-8f4edcc8]{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin-bottom:2.5rem;max-width:520px}.hero-cta[data-v-8f4edcc8]{display:flex;flex-wrap:wrap;gap:1rem}.btn-primary[data-v-8f4edcc8]{align-items:center;background:var(--accent);border-radius:var(--radius);color:#0a0a0a;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.8rem 1.8rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-primary[data-v-8f4edcc8]:hover{background:var(--accent-hover);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.btn-outline[data-v-8f4edcc8]{align-items:center;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.8rem 1.8rem;transition:border-color var(--transition),transform var(--transition)}.btn-outline[data-v-8f4edcc8]:hover{border-color:var(--accent);transform:translateY(-2px)}.hero-bg-glow[data-v-8f4edcc8]{background:radial-gradient(circle,var(--accent-glow) 0,transparent 70%);border-radius:50%;filter:blur(80px);height:600px;pointer-events:none;position:absolute;right:-10%;top:-20%;width:600px}@media(max-width:768px){.hero-bg-glow[data-v-8f4edcc8]{height:300px;right:-20%;top:-10%;width:300px}}.about-grid[data-v-f192a4dd]{align-items:start;display:grid;gap:4rem;grid-template-columns:1.2fr 1fr}.about-text[data-v-f192a4dd] p{color:var(--text-secondary);line-height:1.8;margin-bottom:1.25rem}.about-text[data-v-f192a4dd] strong{color:var(--text-primary);font-weight:600}.tech-title[data-v-f192a4dd]{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:1.25rem}.tech-grid[data-v-f192a4dd]{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.tech-badge[data-v-f192a4dd]{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);display:flex;font-size:.9rem;gap:.6rem;padding:.65rem 1rem;transition:border-color var(--transition),color var(--transition)}.tech-badge[data-v-f192a4dd]:hover{border-color:var(--accent);color:var(--text-primary)}@media(max-width:768px){.about-grid[data-v-f192a4dd]{gap:2.5rem;grid-template-columns:1fr}}.project-card[data-v-3fb59ad1]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;padding:1.75rem;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.project-card[data-v-3fb59ad1]:hover{border-color:var(--accent);box-shadow:0 12px 32px #0000004d;transform:translateY(-4px)}.project-card--featured[data-v-3fb59ad1]{background:linear-gradient(135deg,var(--bg-card) 0,rgba(34,197,94,.04) 100%);border-color:#22c55e40}.card-header[data-v-3fb59ad1]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.card-header-right[data-v-3fb59ad1]{align-items:center;display:flex;gap:.75rem}.card-icon[data-v-3fb59ad1]{color:var(--accent)}.card-arrow[data-v-3fb59ad1]{color:var(--text-secondary);transition:color var(--transition),transform var(--transition)}.project-card:hover .card-arrow[data-v-3fb59ad1]{color:var(--accent);transform:translate(2px,-2px)}.live-badge[data-v-3fb59ad1]{align-items:center;color:var(--accent);display:inline-flex;font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.05em;text-transform:uppercase}.live-dot[data-v-3fb59ad1]{animation:pulse-3fb59ad1 2s ease-in-out infinite;background:var(--accent);border-radius:50%;height:6px;width:6px}@keyframes pulse-3fb59ad1{0%,to{opacity:1}50%{opacity:.3}}.card-title[data-v-3fb59ad1]{font-size:1.15rem;font-weight:600;margin-bottom:.75rem}.card-description[data-v-3fb59ad1]{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.card-tech[data-v-3fb59ad1]{display:flex;flex-wrap:wrap;gap:.5rem}.tech-pill[data-v-3fb59ad1]{background:var(--bg-secondary);border-radius:100px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;padding:.25rem .65rem}.projects-grid[data-v-39e836a2]{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.coming-soon-card[data-v-39e836a2]{align-items:center;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:center;padding:2.5rem 2rem;text-align:center;transition:transform var(--transition),border-color var(--transition)}.coming-soon-card[data-v-39e836a2]:hover{border-color:var(--accent);transform:translateY(-4px)}.coming-icon[data-v-39e836a2]{color:var(--text-secondary);margin-bottom:1rem;opacity:.6}.coming-title[data-v-39e836a2]{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.coming-description[data-v-39e836a2]{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1.25rem;max-width:280px}.coming-link[data-v-39e836a2]{align-items:center;color:var(--accent);display:inline-flex;font-size:.9rem;font-weight:500;gap:.4rem}@media(max-width:768px){.projects-grid[data-v-39e836a2]{grid-template-columns:1fr}}.contact-wrapper[data-v-8bf723bf]{text-align:center}.contact-links[data-v-8bf723bf]{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.contact-link[data-v-8bf723bf]{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);display:flex;flex-direction:column;font-size:.95rem;font-weight:500;gap:.75rem;padding:2rem 2.5rem;transition:transform var(--transition),border-color var(--transition),color var(--transition)}.contact-link[data-v-8bf723bf]:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-4px)}@media(max-width:480px){.contact-links[data-v-8bf723bf]{gap:1rem}.contact-link[data-v-8bf723bf]{padding:1.5rem 2rem}}.footer[data-v-4c98ef9d]{border-top:1px solid var(--border);padding:2rem 0}.footer-inner[data-v-4c98ef9d]{color:var(--text-secondary);font-size:.85rem;text-align:center}.footer-link[data-v-4c98ef9d]{color:var(--accent);transition:opacity var(--transition)}.footer-link[data-v-4c98ef9d]:hover{opacity:.8}
