@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.8d213a54.ttf) format("truetype");font-weight:400}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Inter,sans-serif;min-height:100vh;background-color:#2d1b6c;color:#fff;transition:background-color .4s;overflow-x:hidden}body.theme-light,html.theme-light{background-color:#eee;color:#343434}#app{text-align:left;font-size:16px;line-height:1.4;overflow-x:hidden}.main-content{max-width:1080px;margin:0 auto;position:relative;padding:40px 12px;overflow-x:hidden}:where(html){--ease-1:cubic-bezier(.25,0,.5,1);--ease-2:cubic-bezier(.25,0,.4,1);--ease-3:cubic-bezier(.25,0,.3,1);--ease-4:cubic-bezier(.25,0,.2,1);--ease-5:cubic-bezier(.25,0,.1,1);--ease-in-1:cubic-bezier(.25,0,1,1);--ease-in-2:cubic-bezier(.50,0,1,1);--ease-in-3:cubic-bezier(.70,0,1,1);--ease-in-4:cubic-bezier(.90,0,1,1);--ease-in-5:cubic-bezier(1,0,1,1);--ease-out-1:cubic-bezier(0,0,.75,1);--ease-out-2:cubic-bezier(0,0,.50,1);--ease-out-3:cubic-bezier(0,0,.3,1);--ease-out-4:cubic-bezier(0,0,.1,1);--ease-out-5:cubic-bezier(0,0,0,1);--ease-in-out-1:cubic-bezier(.1,0,.9,1);--ease-in-out-2:cubic-bezier(.3,0,.7,1);--ease-in-out-3:cubic-bezier(.5,0,.5,1);--ease-in-out-4:cubic-bezier(.7,0,.3,1);--ease-in-out-5:cubic-bezier(.9,0,.1,1);--ease-elastic-out-1:cubic-bezier(.5,.75,.75,1.25);--ease-elastic-out-2:cubic-bezier(.5,1,.75,1.25);--ease-elastic-out-3:cubic-bezier(.5,1.25,.75,1.25);--ease-elastic-out-4:cubic-bezier(.5,1.5,.75,1.25);--ease-elastic-out-5:cubic-bezier(.5,1.75,.75,1.25);--ease-elastic-in-1:cubic-bezier(.5,-0.25,.75,1);--ease-elastic-in-2:cubic-bezier(.5,-0.50,.75,1);--ease-elastic-in-3:cubic-bezier(.5,-0.75,.75,1);--ease-elastic-in-4:cubic-bezier(.5,-1.00,.75,1);--ease-elastic-in-5:cubic-bezier(.5,-1.25,.75,1);--ease-elastic-in-out-1:cubic-bezier(.5,-.1,.1,1.5);--ease-elastic-in-out-2:cubic-bezier(.5,-.3,.1,1.5);--ease-elastic-in-out-3:cubic-bezier(.5,-.5,.1,1.5);--ease-elastic-in-out-4:cubic-bezier(.5,-.7,.1,1.5);--ease-elastic-in-out-5:cubic-bezier(.5,-.9,.1,1.5);--ease-step-1:steps(2);--ease-step-2:steps(3);--ease-step-3:steps(4);--ease-step-4:steps(7);--ease-step-5:steps(10);--ease-elastic-1:var(--ease-elastic-out-1);--ease-elastic-2:var(--ease-elastic-out-2);--ease-elastic-3:var(--ease-elastic-out-3);--ease-elastic-4:var(--ease-elastic-out-4);--ease-elastic-5:var(--ease-elastic-out-5);--ease-squish-1:var(--ease-elastic-in-out-1);--ease-squish-2:var(--ease-elastic-in-out-2);--ease-squish-3:var(--ease-elastic-in-out-3);--ease-squish-4:var(--ease-elastic-in-out-4);--ease-squish-5:var(--ease-elastic-in-out-5);--ease-spring-1:linear(0,0.006,0.025 2.8%,0.101 6.1%,0.539 18.9%,0.721 25.3%,0.849 31.5%,0.937 38.1%,0.968 41.8%,0.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001);--ease-spring-2:linear(0,0.007,0.029 2.2%,0.118 4.7%,0.625 14.4%,0.826 19%,0.902,0.962,1.008 26.1%,1.041 28.7%,1.064 32.1%,1.07 36%,1.061 40.5%,1.015 53.4%,0.999 61.6%,0.995 71.2%,1);--ease-spring-3:linear(0,0.009,0.035 2.1%,0.141 4.4%,0.723 12.9%,0.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,0.991,0.977 51%,0.974 53.8%,0.975 57.1%,0.997 69.8%,1.003 76.9%,1);--ease-spring-4:linear(0,0.009,0.037 1.7%,0.153 3.6%,0.776 10.3%,1.001,1.142 16%,1.185,1.209 19%,1.215 19.9% 20.8%,1.199,1.165 25%,1.056 30.3%,1.008 33%,0.973,0.955 39.2%,0.953 41.1%,0.957 43.3%,0.998 53.3%,1.009 59.1% 63.7%,0.998 78.9%,1);--ease-spring-5:linear(0,0.01,0.04 1.6%,0.161 3.3%,0.816 9.4%,1.046,1.189 14.4%,1.231,1.254 17%,1.259,1.257 18.6%,1.236,1.194 22.3%,1.057 27%,0.999 29.4%,0.955 32.1%,0.942,0.935 34.9%,0.933,0.939 38.4%,1 47.3%,1.011,1.017 52.6%,1.016 56.4%,1 65.2%,0.996 70.2%,1.001 87.2%,1);--ease-bounce-1:linear(0,0.004,0.016,0.035,0.063,0.098,0.141,0.191,0.25,0.316,0.391 36.8%,0.563,0.766,1 58.8%,0.946,0.908 69.1%,0.895,0.885,0.879,0.878,0.879,0.885,0.895,0.908 89.7%,0.946,1);--ease-bounce-2:linear(0,0.004,0.016,0.035,0.063,0.098,0.141 15.1%,0.25,0.391,0.562,0.765,1,0.892 45.2%,0.849,0.815,0.788,0.769,0.757,0.753,0.757,0.769,0.788,0.815,0.85,0.892 75.2%,1 80.2%,0.973,0.954,0.943,0.939,0.943,0.954,0.973,1);--ease-bounce-3:linear(0,0.004,0.016,0.035,0.062,0.098,0.141 11.4%,0.25,0.39,0.562,0.764,1 30.3%,0.847 34.8%,0.787,0.737,0.699,0.672,0.655,0.65,0.656,0.672,0.699,0.738,0.787,0.847 61.7%,1 66.2%,0.946,0.908,0.885 74.2%,0.879,0.878,0.879,0.885 79.5%,0.908,0.946,1 87.4%,0.981,0.968,0.96,0.957,0.96,0.968,0.981,1);--ease-bounce-4:linear(0,0.004,0.016 3%,0.062,0.141,0.25,0.391,0.562 18.2%,1 24.3%,0.81,0.676 32.3%,0.629,0.595,0.575,0.568,0.575,0.595,0.629,0.676 48.2%,0.811,1 56.2%,0.918,0.86,0.825,0.814,0.825,0.86,0.918,1 77.2%,0.94 80.6%,0.925,0.92,0.925,0.94 87.5%,1 90.9%,0.974,0.965,0.974,1);--ease-bounce-5:linear(0,0.004,0.016 2.5%,0.063,0.141,0.25 10.1%,0.562,1 20.2%,0.783,0.627,0.534 30.9%,0.511,0.503,0.511,0.534 38%,0.627,0.782,1 48.7%,0.892,0.815,0.769 56.3%,0.757,0.753,0.757,0.769 61.3%,0.815,0.892,1 68.8%,0.908 72.4%,0.885,0.878,0.885,0.908 79.4%,1 83%,0.954 85.5%,0.943,0.939,0.943,0.954 90.5%,1 93%,0.977,0.97,0.977,1)}.theme-toggle{position:absolute;right:16px;top:16px;--size:2rem;background:none;border:none;padding:0;inline-size:var(--size);block-size:var(--size);aspect-ratio:1;border-radius:50%;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);outline-offset:5px}.theme-toggle>svg{inline-size:100%;block-size:100%;stroke-linecap:round}.sun-and-moon{--icon-fill:#fff;--icon-fill-hover:#ffce00}.theme-light .sun-and-moon{--icon-fill:#343434}.sun-and-moon>:is(.moon,.sun,.sun-beams){transform-origin:center center}.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill)}.theme-toggle:is(:hover,:focus-visible)>.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill-hover)}.sun-and-moon>.sun{transition:transform .5s var(--ease-elastic-3)}.sun-and-moon>.sun-beams{stroke:var(--icon-fill);stroke-width:2px;transition:transform .5s var(--ease-elastic-4),opacity .5s var(--ease-3)}.theme-toggle:is(:hover,:focus-visible) .sun-and-moon>.sun-beams{stroke:var(--icon-fill-hover)}.theme-dark .sun-and-moon>.sun{transform:scale(1.75);transition-timing-function:var(--ease-3);transition-duration:.25s}.theme-dark .sun-and-moon>.sun-beams{opacity:0;transform:rotate(-25deg);transition-duration:.15s}.theme-dark .sun-and-moon>.moon>circle{transform:translateX(-7px);transition:transform .25s var(--ease-out-5)}.sun{transition:transform .5s var(--ease-elastic-3)}.skills{margin-top:24px;flex-wrap:wrap;gap:8px}.skill{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500}.profile{max-width:800px;margin:0 auto;text-align:left;overflow-x:hidden}.profile__header{display:flex;gap:32px;align-items:center;margin-bottom:32px}.profile__avatar{width:180px;height:180px;border-radius:50%;border:2px solid #fff;overflow:hidden;flex-shrink:0}.profile__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile__info{flex:1}.profile__name{font-size:36px;font-weight:700;margin-bottom:4px}.profile__title{font-size:20px;color:#a0a0ff;margin-bottom:8px}.profile__location{font-size:14px;opacity:.7;margin-bottom:4px}.profile__contact{font-size:14px}.profile__contact a{color:#fff;opacity:.7;text-decoration:none}.profile__contact a:hover{opacity:1}.profile__social{display:flex;gap:8px;margin-top:16px}@media(max-width:600px){.main-content{padding:20px 12px}.profile__header{flex-direction:column;text-align:center;gap:16px}.profile__avatar{width:120px;height:120px}.profile__name{font-size:28px}.profile__title{font-size:16px}.profile__social{flex-wrap:wrap;justify-content:center;gap:8px}.profile__social .social__profile{width:44px;height:44px;background-size:auto 20px;background-position:top 4px center;font-size:8px;padding:4px;padding-top:20px}.projects{grid-template-columns:1fr}.project{flex-direction:column;text-align:center}.project__image{width:100%;height:120px}.project__content{width:100%}.project__tags{justify-content:center}}.section{margin-bottom:48px}.section__title{font-size:24px;font-weight:600;margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid hsla(0,0%,100%,.2)}.section__text{line-height:1.7;opacity:.9}.skills{display:flex;gap:20px}.skill{align-items:center}.skill__name{font-weight:600;font-size:15px}.skill__years{font-size:13px;color:#a0a0ff;text-align:right}.skill__bar{height:6px;background:hsla(0,0%,100%,.1);border-radius:3px;overflow:hidden}.skill__level{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);border-radius:3px;transition:width .6s ease}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.project{display:flex;flex-direction:row;background-color:rgba(0,0,0,.2);border-radius:12px;padding:16px;color:currentColor;text-decoration:none;transition:transform .2s,background-color .2s;overflow:hidden;gap:16px;align-items:flex-start}.project:hover{transform:translateY(-4px);background-color:rgba(0,0,0,.4)}.project__image{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.project__content{display:flex;flex-direction:column;flex:1;min-width:0}.project__name{font-size:16px;font-weight:600;margin-bottom:4px}.project__description{font-size:13px;opacity:.8;margin-bottom:8px}.project__tags{display:flex;flex-wrap:wrap;gap:6px}.project__tag{font-size:12px;padding:4px 8px;background:rgba(99,102,241,.3);border-radius:4px}.experience{display:flex;flex-direction:column;gap:24px}.job{background-color:rgba(0,0,0,.2);border-radius:12px;padding:20px}.job__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.job__company{font-size:18px;font-weight:600}.job__period{font-size:14px;opacity:.6}.job__position{color:#a0a0ff;margin-bottom:8px}.job__description{font-size:14px;opacity:.8}.social{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px}.social__profile{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background-repeat:no-repeat;background-size:auto 28px;background-position:top 6px center;background-color:rgba(0,0,0,.2);border-radius:8px;height:60px;width:60px;padding:6px;padding-top:28px;color:currentColor;text-decoration:none;font-size:9px;text-align:center;transition:transform .2s;overflow:hidden}.social__profile.codewars{background-image:url(/img/codewars.8df88d45.svg)}.social__profile.github{background-image:url(/img/github.fd5c0afd.svg)}.social__profile.gitverse{background-image:url(/img/gitverse.b0581a0f.svg)}.social__profile.leetcode{background-image:url(/img/leetcode.49681c89.svg)}.social__profile:hover{transform:scale(1.1)}.project-page{max-width:800px;margin:0 auto;text-align:left}.project-page__back{display:inline-block;color:#a0a0ff;text-decoration:none;margin-bottom:32px;font-size:14px}.project-page__back:hover{text-decoration:underline}.project-page__content{background-color:rgba(0,0,0,.2);border-radius:16px;padding:32px}.project-page__image{width:100%;max-height:300px;-o-object-fit:cover;object-fit:cover;border-radius:12px;margin-bottom:24px}.project-page__title{font-size:32px;font-weight:700;margin-bottom:16px}.project-page__tags{display:flex;gap:8px;margin-bottom:20px}.project-page__tag{font-size:13px;padding:6px 12px;background:rgba(99,102,241,.3);border-radius:6px}.project-page__description{font-size:18px;margin-bottom:16px;color:#a0a0ff}.project-page__text{line-height:1.7;opacity:.9;margin-bottom:24px}.project-page__link{display:inline-block;padding:12px 24px;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:8px;color:#fff;text-decoration:none;font-weight:500}.project-page__link:hover{opacity:.9}.project-page__not-found{text-align:center;padding:48px;opacity:.6}.footer{text-align:center;padding:24px;opacity:.5;font-size:14px}