:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;width:100%}body{background-color:#242424;margin:0;min-height:100vh;display:flex;justify-content:center;align-items:center;font-family:Inter,sans-serif;zoom:82.5%;width:100%}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}[role=list]{list-style:none;margin:0;padding:0}body{min-block-size:100vh;line-height:1.6}h1,h2,h3,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}p,li{text-wrap:pretty}img,picture{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit}}@layer variables{:root{--big-stone-50: #f5f7fa;--big-stone-100: #eaeef4;--big-stone-200: #d0dbe7;--big-stone-300: #a6bcd3;--big-stone-400: #7799b9;--big-stone-500: #557ca2;--big-stone-600: #426287;--big-stone-700: #37506d;--big-stone-800: #30455c;--big-stone-900: #2c3c4e;--big-stone-950: #1f2937;--mirage-50: #f0f7fe;--mirage-100: #deecfb;--mirage-200: #c4e0f9;--mirage-300: #9cccf4;--mirage-400: #6dafed;--mirage-500: #4b90e6;--mirage-600: #3674da;--mirage-700: #2d60c8;--mirage-800: #2a4fa3;--mirage-900: #274481;--mirage-950: #0f172a;--mountain-meadow-50: #ecfdf7;--mountain-meadow-100: #d1faec;--mountain-meadow-200: #a7f3da;--mountain-meadow-300: #6ee7bf;--mountain-meadow-400: #34d39e;--mountain-meadow-500: #10b981;--mountain-meadow-600: #059666;--mountain-meadow-700: #047852;--mountain-meadow-800: #065f42;--mountain-meadow-900: #064e36;--mountain-meadow-950: #022c1e;--white-50: #ffffff;--white-100: #efefef;--white-200: #dcdcdc;--white-300: #bdbdbd;--white-400: #989898;--white-500: #7c7c7c;--white-600: #656565;--white-700: #525252;--white-800: #464646;--white-900: #3d3d3d;--white-950: #292929}}@layer layout{.app-container{display:flex;flex-direction:column;gap:100px;background-color:var(--big-stone-950);color:var(--white-50);padding:35px 45px 45px}.app-container>.navigation{margin:0 0 0 -25px}.footer{background-color:var(--mirage-950)}}@layer conner{.parent{display:flex;flex-direction:column}.section-title{position:relative;display:inline-flex;align-items:center;align-self:center;gap:12px;padding:20px 14px;margin:0 0 40px;border-radius:10px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.04);color:var(--white-50);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Courier New,monospace;font-weight:600;font-size:28px;letter-spacing:.2px;box-shadow:0 6px 18px #0206174d}.section-title .code-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#ffffff05;color:var(--mountain-meadow-400);font-size:14px}.section-title.small{font-size:20px;padding:8px 12px}.section-title:before{content:"</ >";margin-right:8px;color:#ffffffa6;font-family:ui-monospace,monospace;font-size:13px;opacity:.95}}@layer component{.main-hero{display:flex;gap:59px;align-items:flex-start;justify-content:center}.profile-card{position:relative;display:flex;flex-direction:column;align-items:self-start;gap:16px;flex-shrink:0;border-radius:50px;padding:32px;margin-top:120px;border-bottom:2px solid rgba(255,255,255,.14);background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4000015258789px);backdrop-filter:blur(110.4000015258789px);font:100}.profile-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;clip-path:ellipse(20% 100px at 50% 0%);z-index:-1;background-color:var(--big-stone-950)}.profile-card h3{color:#ffffffbf;font-family:Inter,sans-serif;font-size:23px;font-style:normal;font-weight:400;line-height:normal}.profile-card h2{color:#ffffffbf;font-family:Inter,sans-serif;font-size:38px;font-style:normal;font-weight:400;line-height:normal}.profile-card button{width:35%;height:50px;border:var(--big-stone-200) solid .125px;font:rgba(255,255,255,.75) 400 16px "Inter",sans-serif;background-color:transparent;border-radius:20px;color:var(--white-50);font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:normal;cursor:pointer}.profile-card img{position:relative;width:400px;top:-200px;border-bottom-left-radius:100px;border-bottom-right-radius:100px;margin-bottom:-150px}.profile-card button:hover{background-color:#ffffff1a;transition:background-color .3s ease;border:var(--mountain-meadow-800) solid .5px}.main-hero-content h1{font-family:Inter;font-size:118px;font-style:normal;font-weight:600;line-height:normal;padding-bottom:10px}.main-hero-content p{width:893px;font-family:Inter;color:#ffffffbf;font-size:20px;font-style:normal;font-weight:50;line-height:normal}.main-hero-content button:hover{background-color:#ffffff1a;transition:background-color .3s ease;border:var(--mountain-meadow-800) solid .5px;border-radius:20px;cursor:pointer}.main-hero-buttons{display:flex;gap:200px;margin:50px}.main-hero-resume-btn{background-color:transparent;border-radius:12px;border:2px solid #fff;width:217px;height:64px;flex-shrink:0;color:#fff;font-family:Inter;font-size:20px;font-style:normal;font-weight:400;line-height:normal}.main-hero-live-demo-btn{display:flex;align-items:center;gap:12px;background-color:transparent;border:none;color:#fff;font-family:Inter;font-size:20px;font-style:normal;font-weight:400;line-height:normal}.main-hero-live-demo-btn img{width:50px;height:50px}.main-hero-description{display:flex;flex-direction:column;align-items:center;gap:20px;width:732px;height:260px;flex-shrink:0;padding:20px;border-radius:20px;border:2px solid rgba(255,255,255,.14);background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4000015258789px);backdrop-filter:blur(110.4000015258789px)}.main-hero-description h4{position:relative;color:#fff;right:200px;font-family:Inter;font-size:22px;font-style:normal;font-weight:400;line-height:normal}.main-hero-description p{width:654px;height:261px;flex-shrink:0;color:#fff;font-family:Inter;font-size:17px;font-style:normal;font-weight:400;line-height:normal}}@layer component{.navigation-component{display:flex;flex-direction:row;gap:var(--nav-gap, 1026px);align-items:center;padding:.125rem 0rem .125rem 2.5rem;border-radius:20px;border:2px solid rgba(255,255,255,.14);background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4000015258789px);backdrop-filter:blur(110.4000015258789px)}.navigation-component ul{display:flex;flex-direction:row;list-style:none;gap:var(--nav-ul-gap, 2.5rem);font-size:18px;font-family:var(--font-family, "Inter", sans-serif);font-weight:500}.navigation-component img{width:42px;height:42px;object-fit:contain}}@layer components{.skills-card{display:flex;flex-direction:row;gap:160px;align-items:center;justify-content:center;width:100%;height:526px;flex-shrink:0;border-radius:151px;border:2px solid rgba(255,255,255,.27);background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.skills-card p{width:732px;color:#fff;font-family:Inter;font-size:20px;font-style:normal;font-weight:300;line-height:normal}.skills-card p html,.skills-card p body,.skills-card p #root{height:100%;width:100%}.skills-card img{position:relative;width:500px;height:500px;flex-shrink:0;border-radius:20px;margin-top:0;bottom:160px}.skills-container{display:flex;flex-direction:column;gap:100px;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;background-color:var(--big-stone-950)}.skills-card-text{display:flex;flex-direction:column;gap:20px;width:100%;height:100%}.skills-card-content{display:flex;flex-direction:column;gap:80px}.skills-card-content h3{color:#fff;text-shadow:0px -9px 80px rgba(0,0,0,.26),0px -4.504px 40.039px rgba(0,0,0,.2),0px -2.713px 24.118px rgba(0,0,0,.17),0px -1.739px 15.456px rgba(0,0,0,.15),0px -1.127px 10.017px rgba(0,0,0,.13),0px -.709px 6.306px rgba(0,0,0,.11),0px -.408px 3.623px rgba(0,0,0,.09),0px -.179px 1.595px rgba(0,0,0,.06);font-family:Inter;font-size:38px;font-style:normal;font-weight:600;line-height:normal}.skills-card-content p{width:732px;color:var(--white-200);font-family:Inter;font-size:20px;font-style:normal;font-weight:200;line-height:normal}.skills-card-content button{width:182px;height:64px;flex-shrink:0;border-radius:12px;border:2px solid #fff;background-color:transparent;color:#fff;font-family:Inter;font-size:20px;font-style:normal;font-weight:100;line-height:normal}.skills-card-content button:hover{background-color:#ffffff1a;transition:background-color .3s ease;border:var(--mountain-meadow-800) solid .5px;border-radius:20px;cursor:pointer}}@layer component{.error-message{color:#ff6b6b!important;font-weight:500}.project-card{border:2px solid rgba(255,255,255,.14);background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4000015258789px);backdrop-filter:blur(110.4000015258789px);border-radius:16px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--mountain-meadow-500),var(--mirage-600),var(--big-stone-600));z-index:2}.project-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026,0 4px 12px #0000001a;border-color:var(--mountain-meadow-300)}.project-image-container{position:relative;width:100%;height:280px;overflow:hidden;background:var(--big-stone-100)}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image{transform:scale(1.05)}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .image-overlay{opacity:1}.overlay-buttons{display:flex;gap:12px}.overlay-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s ease}.btn-live{background:var(--mountain-meadow-500);color:#fff}.btn-live:hover{background:var(--mountain-meadow-600);transform:translateY(-1px)}.btn-code{background:#ffffffe6;color:var(--big-stone-900)}.btn-code:hover{background:#fff;transform:translateY(-1px)}.project-content{padding:2rem;flex:1;display:flex;flex-direction:column}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}.project-title{font-size:1.75rem;font-weight:600;color:#fff;line-height:1.3;margin:0;flex:1}.project-date{display:flex;align-items:center;gap:.5rem;color:#fffc;font-size:.875rem;font-weight:500;white-space:nowrap}.project-description{color:#ffffffe6;line-height:1.6;margin-bottom:1.5rem;font-size:1.125rem;flex:1}.project-technologies,.project-techs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-tech-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:18px;font-size:.8rem;font-weight:600;color:#fffffff2;background:#ffffff05;border:1px solid rgba(255,255,255,.04);transition:transform .22s cubic-bezier(.2,.9,.2,1),box-shadow .2s ease;cursor:default}.project-tech-tag:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 30px #00000040}.project-language-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.project-lang-javascript{background:linear-gradient(180deg,#f7df1e14,#f7df1e05);color:#f7df1e;border:1px solid rgba(247,223,30,.15)}.project-lang-javascript .project-language-dot{background:#f7df1e}.project-lang-python{background:linear-gradient(180deg,#3776ab14,#3776ab05);color:#3776ab;border:1px solid rgba(55,118,171,.15)}.project-lang-python .project-language-dot{background:#3776ab}.project-lang-html{background:linear-gradient(180deg,#e34c2614,#e34c2605);color:#e34c26;border:1px solid rgba(227,76,38,.15)}.project-lang-html .project-language-dot{background:#e34c26}.project-lang-css{background:linear-gradient(180deg,#1572b614,#1572b605);color:#1572b6;border:1px solid rgba(21,114,182,.15)}.project-lang-css .project-language-dot{background:#1572b6}.project-lang-react{background:linear-gradient(180deg,#61dafb14,#61dafb05);color:#61dafb;border:1px solid rgba(97,218,251,.15)}.project-lang-react .project-language-dot{background:#61dafb}.project-lang-typescript{background:linear-gradient(180deg,#3178c614,#3178c605);color:#3178c6;border:1px solid rgba(49,120,198,.15)}.project-lang-typescript .project-language-dot{background:#3178c6}.project-lang-java{background:linear-gradient(180deg,#ed8b0014,#ed8b0005);color:#ed8b00;border:1px solid rgba(237,139,0,.15)}.project-lang-java .project-language-dot{background:#ed8b00}.project-lang-cpp,.project-lang-c{background:linear-gradient(180deg,#00599c14,#00599c05);color:#00599c;border:1px solid rgba(0,89,156,.15)}.project-lang-cpp .project-language-dot,.project-lang-c .project-language-dot{background:#00599c}.project-lang-node,.project-lang-nodejs{background:linear-gradient(180deg,#68a06314,#68a06305);color:#68a063;border:1px solid rgba(104,160,99,.15)}.project-lang-node .project-language-dot,.project-lang-nodejs .project-language-dot{background:#68a063}.project-lang-unknown{background:var(--big-stone-100);color:var(--big-stone-600);border:1px solid var(--big-stone-200)}.project-lang-unknown .project-language-dot{background:var(--big-stone-500)}.project-actions{display:flex;gap:.75rem;margin-top:auto}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;text-align:center;flex:1;justify-content:center}.btn-primary{background:var(--mountain-meadow-500);color:#fff}.btn-primary:hover{background:var(--mountain-meadow-600);transform:translateY(-1px)}.btn-secondary{background:transparent;color:#ffffffe6;border:1.5px solid rgba(255,255,255,.3)}.btn-secondary:hover{border-color:var(--mountain-meadow-500);color:var(--mountain-meadow-500);background:#10b9810d}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:40px;height:40px;border:4px solid var(--big-stone-300);border-top:4px solid var(--mountain-meadow-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.project-card{max-width:100%}.project-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-actions{flex-direction:column}.overlay-buttons{flex-direction:column;align-items:center}}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:40px;padding:20px}:root{--tech-gap: 16px;--tech-radius: 14px;--tech-pad: 14px 18px;--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .12);--glass-strong: rgba(255, 255, 255, .18);--glass-shadow: 0 18px 40px -8px rgba(2, 6, 23, .55);--accent: var(--mountain-meadow-500);--text-main: rgba(255, 255, 255, .95);--text-subtle: rgba(255, 255, 255, .72)}.technologies-root{width:100%;display:flex;flex-direction:column;gap:20px}.techs-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 28px}.tech-category{display:flex;flex-direction:column;gap:12px}.tech-category-title{margin:0 6px;font-size:.95rem;color:var(--text-subtle);font-weight:700}.techs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px;align-items:stretch;background:linear-gradient(180deg,#ffffff05,#ffffff03);border-radius:12px;border:1px solid rgba(255,255,255,.04)}.tech-tag{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.03);box-shadow:0 8px 18px #02061759;color:var(--text-main);text-align:center;transition:transform .3s cubic-bezier(.2,.9,.2,1),box-shadow .22s ease,background .22s ease;min-height:82px;position:relative;overflow:visible}.tech-tag:focus{outline:none;transform:none;box-shadow:0 0 0 4px #10b98114;border-color:var(--glass-strong)}.tech-tag:hover{transform:translateY(-6px)}.tech-tag .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:#ffffff04;font-size:20px;color:var(--accent)}.tech-tag .label{font-weight:600;font-size:1rem;color:var(--text-main)}.tech-tag .sub{font-size:.82rem;color:var(--text-subtle)}@keyframes riseFade{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}.tech-tag{animation:none}.tech-tag:after{content:"";position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;background:transparent;box-shadow:0 0 0 6px #ffffff05 inset;opacity:0;transform:scale(.8);transition:all .35s cubic-bezier(.2,.9,.2,1)}.tech-tag:hover:after{opacity:1;transform:scale(1.05)}.tech-tag{min-height:64px;padding:8px 10px}.tech-tag .icon{width:36px;height:36px;display:grid;place-items:center;font-size:14px}.icon-initials{display:inline-block;font-weight:700;color:inherit}.tech-javascript:after{box-shadow:0 0 12px 3px #f7df1e1f}.tech-javascript .icon{color:#f7df1e}.tech-python:after{box-shadow:0 0 12px 3px #3572a51f}.tech-python .icon{color:#3776ab}.tech-react:after{box-shadow:0 0 12px 3px #61dafb1f}.tech-react .icon{color:#61dafb}.tech-ts:after{box-shadow:0 0 12px 3px #3178c61f}.tech-ts .icon{color:#3178c6}.tech-node:after{box-shadow:0 0 12px 3px #68a0631f}.tech-node .icon{color:#68a063}.tech-docker:after{box-shadow:0 0 12px 3px #007ba71f}.tech-docker .icon{color:#0db7ed}.tech-aws:after{box-shadow:0 0 12px 3px #ffc1071f}.tech-aws .icon{color:#ffbf00}.tech-graphql:after{box-shadow:0 0 12px 3px #7b30ff1f}.tech-graphql .icon{color:#e535ab}@media (max-width: 900px){.techs,.techs-wrapper{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.techs{grid-template-columns:repeat(1,1fr);gap:10px}.tech-tag{min-height:84px;padding:10px}.tech-tag .icon{width:44px;height:44px;font-size:20px}}@media (prefers-reduced-motion: reduce){.tech-tag,.tech-tag *{transition:none;animation:none}}@layer components{.footer-container{display:flex;flex-direction:column;align-items:center;padding:20px}.footer-content{display:flex;flex-direction:row;align-items:center;gap:200px;padding:50px}.footer-content h1{color:#fff;font-family:Inter;font-size:58px;font-style:normal;font-weight:900;line-height:normal}.socials-footer{display:flex;flex-direction:row;align-items:center;gap:20px}.socials-footer a svg{transition:transform .3s ease,color .3s ease;color:#fff}.socials-footer a:hover svg{transform:scale(1.2);color:#1da1f2}.socials-footer a:hover:nth-child(1) svg{color:#6e5494}.socials-footer a:hover:nth-child(2) svg{color:#0077b5}.socials-footer a:hover:nth-child(3) svg{color:#1da1f2}.footer-links{color:#fff;font-size:18px;text-decoration:none}.footer-links ul{list-style:none;padding:0}.footer-links ul li{padding:12px;margin:0}.footer-links ul li:hover{color:#ccc}.footer-contact{display:flex;flex-direction:column;color:#fff;gap:10px;font-family:Inter;font-size:28px;font-style:normal;font-weight:800;line-height:normal}.footer-contact a{color:#ffffffbf;font-family:Inter;font-size:24px;font-style:normal;font-weight:200;line-height:normal;text-decoration:none;padding:18px;border:#ccc 1px solid;border-radius:8px}.footer-contact a:hover{color:#fff;background-color:#ffffff1a}}.socials-top{position:fixed;top:24px;left:50%;transform:translate(-50%);display:flex;justify-content:center;gap:50px;z-index:9999;padding:25px;background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4px);backdrop-filter:blur(110.4px);border-radius:20px;transition:opacity .3s ease}.socials-side{position:fixed;bottom:50%;left:3%;transform:translate(-50%,50%);display:flex;flex-direction:column;justify-content:center;gap:50px;z-index:9999;padding:25px;background:#ffffff0d;box-shadow:0 18px 22px -6px #00000040;-webkit-backdrop-filter:blur(110.4px);backdrop-filter:blur(110.4px);border-radius:20px;transition:opacity .3s ease}.socials-top a svg,.socials-side a svg{transition:transform .3s ease,color .3s ease;color:#fff}.socials-top a:hover svg,.socials-side a:hover svg{transform:scale(1.2);color:#1da1f2}.socials-top a:hover:nth-child(1) svg,.socials-side a:hover:nth-child(1) svg{color:#6e5494}.socials-top a:hover:nth-child(2) svg,.socials-side a:hover:nth-child(2) svg{color:#0077b5}.socials-top a:hover:nth-child(3) svg,.socials-side a:hover:nth-child(3) svg{color:#1da1f2}
