@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap";input:-webkit-autofill{-webkit-text-fill-color:var(--color-text)!important;transition:background-color 5000s ease-in-out 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text)!important;transition:background-color 5000s ease-in-out 0s!important}*{margin:0;padding:0}a{text-decoration:none!important}table{border-spacing:0}body{background:radial-gradient(circle,var(--color-gradient-start) 0%,var(--color-gradient-end) 100%);background-size:400% 400%;animation:gradientBG 15s ease infinite;color:var(--color-text)}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}html{scroll-behavior:smooth}a{text-decoration:none}:root{--color-text: #ffffff;--color-background: #121212;--color-header-background: #050038;--color-text-reverse: #000000;--color-gradient-start: rgba(5, 0, 56, 1);--color-gradient-end: rgba(0, 0, 0, 1);--color-primary: #4b4bff;--color-primary-hover: #003cac;--color-accent: #1e5eff;--color-accent-light: #0815ca;--color-text-secondary: #ccc;--color-text-muted: #aaa;--color-text-light: #e0e0e0;--color-text-gray: #aca7ad;--color-border: #4b4bff;--color-border-light: #d9d9d9;--color-overlay-light: rgba(255, 255, 255, .1);--color-overlay-medium: rgba(255, 255, 255, .2);--color-overlay-dark: rgba(0, 0, 0, .25);--color-spinner-border: rgba(255, 255, 255, .5);--color-pulse: rgba(255, 0, 128, .4);--color-phone-shadow: rgba(186, 10, 229, .7);--color-logo-shadow: #646cffaa;--color-react-shadow: #61dafbaa;--color-disabled: rgba(255, 255, 255, .3);--color-dot-inactive: rgba(255, 255, 255, .4);--color-skills-ticker-bg: #003cac;--color-search-bg: #ffffff;--color-search-text: #000000}[data-theme=light]{--color-text: #000000;--color-background: #ffffff;--color-header-background: #f8f9fa;--color-text-reverse: #ffffff;--color-gradient-start: rgba(248, 249, 250, 1);--color-gradient-end: rgba(255, 255, 255, 1);--color-primary: #4b4bff;--color-primary-hover: #003cac;--color-accent: #1e5eff;--color-accent-light: #0815ca;--color-text-secondary: #666;--color-text-muted: #888;--color-text-light: #333;--color-text-gray: #666;--color-border: #4b4bff;--color-border-light: #d9d9d9;--color-overlay-light: rgba(0, 0, 0, .1);--color-overlay-medium: rgba(0, 0, 0, .2);--color-overlay-dark: rgba(0, 0, 0, .1);--color-spinner-border: rgba(0, 0, 0, .3);--color-pulse: rgba(255, 0, 128, .4);--color-phone-shadow: rgba(186, 10, 229, .7);--color-logo-shadow: #646cffaa;--color-react-shadow: #61dafbaa;--color-disabled: rgba(0, 0, 0, .3);--color-dot-inactive: rgba(0, 0, 0, .4);--color-skills-ticker-bg: #646cffaa;--color-skills-ticker-item-text: #ffffff;--color-search-bg: #f8f9fa;--color-search-text: #000000}.outline-button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background-color:transparent;border:2px solid;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:background-color .3s ease,color .3s ease;color:var(--color-text)}.outline-button:hover{background-color:var(--hover-bg-color, var(--color-primary));color:var(--color-background)}.btn-icon{display:flex;align-items:center;color:var(--color-text)}.btn-text{color:var(--color-text)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;flex-direction:column}.loading-screen p{font-family:Inter,sans-serif;margin:20px 0 0 10px;color:var(--color-text-gray);font-size:1.2rem;animation:fade 1.5s infinite ease-in-out}.spinner{border:5px solid var(--color-spinner-border);border-top:5px solid var(--color-accent-light);border-radius:100%;width:50px;height:50px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.pagination{width:100%;display:flex;flex-direction:column;align-items:center;margin:10px 15px 0 0}.pagination__arrow{background:none;border-style:none;font-size:20px;cursor:pointer;color:var(--color-text)}.pagination__arrow:disabled{opacity:var(--color-disabled);cursor:not-allowed}.pagination__dot{opacity:var(--color-dot-inactive);border-radius:360px;border-style:none;background-color:var(--color-border-light);width:10px;height:10px;margin:0 5px;cursor:pointer}.pagination__dot-active{opacity:1;background-color:var(--color-primary-hover)}.pagination__info{font-family:Inter,sans-serif;font-size:12px}.phone{width:250px;height:500px;background-image:url(/portfolio/assets/phone-Ctqnm-jl.png);background-size:239% 121%;background-position:center 41.999%;background-repeat:no-repeat;border-radius:40px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;filter:drop-shadow(0px 10px 200px var(--color-phone-shadow));z-index:2}.phone-app-opened{width:250px;height:500px;background-image:url(/portfolio/assets/phone_app_opened-BCCLBUZt.png);background-size:239% 121%;background-position:center 41.999%;background-repeat:no-repeat;border-radius:40px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;filter:drop-shadow(0px 10px 200px var(--color-phone-shadow));z-index:2}.img-container{margin-right:20px;position:relative;width:40px;height:40px}.phone-gif{opacity:0;transition:opacity .3s ease}.phone-png,.phone-gif{width:60px;height:60px;position:absolute;border-radius:30px;z-index:1}.img-container:hover .phone-gif{opacity:1}.power-btn-wrapper{position:relative;display:inline-block;cursor:pointer}.pulse-ring{left:30px;top:30px;position:absolute;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--color-pulse));animation:pulse 2s infinite;z-index:0}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.4}to{transform:translate(-50%,-50%) scale(.8);opacity:.7}}.phone-apps{opacity:0;transition:opacity .5s ease-in-out}.phone-apps.show{opacity:1}.load-app{width:235px;height:275px}.load-app .loading-screen .spinner{margin-top:90px}.clock{transform:translateY(20px);color:var(--color-text);font-family:Inter,sans-serif;display:flex;flex-direction:column;align-items:center}.clock__time{font-size:51px;font-weight:700}.clock__date{font-size:12px;margin-top:10px}.phone-search{display:flex;color:var(--color-search-text);background-color:var(--color-search-bg);font-family:Inter,sans-serif;font-size:9px;height:20px;border-radius:30px;margin:30px;width:77%;align-items:center}.phone-search-icon{margin:0 10px}.phone-apps{display:flex;flex-wrap:wrap;margin-left:15px}.phone-apps img{width:35px;height:35px;margin:10px;transition:transform .5s ease}.phone-apps img:hover{transform:scale(1.2)}.apps{width:235px;height:224px}.app-opening{animation:appOpen .3s forwards}.app-closing{animation:appClose .3s forwards}@keyframes appOpen{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes appClose{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.close-app-btn{background:#0003;border:none;color:#fff;font-size:24px;border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;margin:15px;position:absolute;top:16px;right:16px;z-index:10}.close-app-btn:hover{background:#0006}.app-details-icon{width:60px;height:60px}.app-details-title{font-family:Inter,sans-serif;color:#fff;font-weight:700;font-size:18px;margin:10px 0}.app-details-experience{font-family:Inter,sans-serif;color:#fff;font-size:14px}.contact{align-self:center;margin-top:40px}.contact img{transition:.5s ease}.social-media-icon{transform:scale(1);transition:transform .5s ease;color:var(--color-text)}.social-media-icon:hover{transform:scale(1.2)}.skills-ticker{margin-top:30px;overflow:hidden;width:100%;background:var(--color-skills-ticker-bg);padding:10px 0}.skills-ticker__ticker{display:flex;gap:40px;animation:scroll 30s linear infinite;width:fit-content}.skills-ticker__ticker-item{font-family:Inter,sans-serif;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:15px;font-weight:500;opacity:.8;transition:transform .3s ease;color:var(--color-skills-ticker-item-text)}.skills-ticker__ticker-item:hover{transform:scale(1.05);opacity:1}.skills-ticker__ticker-item .icon img{width:30px;height:30px;margin-right:10px}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.container{display:flex;flex-direction:column;align-items:center;padding:70px 20px}.left{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:40px}.avatar{width:180px;height:180px;border-radius:50%;border:4px solid var(--color-text);object-fit:cover;margin-bottom:16px}.title{font-weight:700;font-size:24px;font-family:Inter,sans-serif;text-align:center}.role{font-weight:700;font-size:18px;font-family:Inter,sans-serif;text-align:center;margin-top:10px}.outline-button{width:100%;max-width:250px;margin-top:30px;text-align:center}@media (min-width: 768px){.container{flex-direction:row;justify-content:space-between;padding:80px}.left{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:60px}.title,.role{text-align:left}.avatar{width:180px;height:180px}}@media (min-width: 1200px){.container{padding:100px 150px 20px}.left{flex-direction:column;justify-content:center;align-items:center;display:flex}.avatar{width:200px;height:200px}.title{font-size:30px}.role{font-size:20px}}.section-title{font-family:Inter,sans-serif;text-align:center;margin:3.5rem 0}.section-title h2{display:inline-block;position:relative;color:var(--color-text);font-size:1.8rem;font-weight:700;margin:0;padding-bottom:.5rem}.section-title h2:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:var(--color-accent);border-radius:2px}.badge-container{display:flex}.badge-content{display:flex;justify-content:center;flex-wrap:wrap;max-width:40em;gap:1rem}@media (min-width: 768px){.badge-content{display:flex;justify-content:flex-start;flex-wrap:wrap;max-width:40em;gap:1rem}}@media (min-width: 1200px){.badge-content{display:flex;justify-content:flex-start;flex-wrap:wrap;max-width:40em;gap:1rem}}.badge-name{font-family:Inter,sans-serif;font-size:15px}.badge{background-color:var(--color-overlay-light);padding:.8rem 1.5rem;border-radius:20px;display:flex;align-items:center;gap:.8rem;color:var(--color-text);font-weight:500;transition:background-color .3s}.badge:hover{background-color:var(--color-overlay-medium)}.core-skills-content{justify-content:center;display:flex}.experience-card{width:90%;align-self:center;color:var(--color-text);background-color:transparent;border:1px solid;border-radius:12px;border-color:var(--color-border);margin-bottom:2em}.experience-content{padding:1.2em}.experience-card:hover{box-shadow:0 6px 14px var(--color-overlay-dark)}.experience-title{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:4px}.experience-company{font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:12px}.experience-description{font-family:Inter,sans-serif;font-size:.85rem;line-height:1.5;color:var(--color-text-light)}.experience-period{font-family:Inter,sans-serif;display:flex;align-items:center;font-size:.8rem;color:var(--color-text-muted);margin-top:16px}.experience-icon{margin-right:8px}.experience-technologies{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin:20px 20px 0 0}.experience-badges{justify-content:flex-start;align-items:flex-start;margin-top:16px}@media (min-width: 768px){.experience-card{width:80%}.experience-content{padding:20px}.experience-title{font-size:1.2rem}.experience-company{font-size:1rem}.experience-description{font-size:.9rem}.experience-period{font-size:.85rem}.experience-technologies{font-size:.9rem}}@media (min-width: 1200px){.experience-card{width:60%}.experience-content{padding:20px}.experience-title{font-size:1.25rem}.experience-company{font-size:1rem}.experience-description{font-size:.9rem}.experience-period{font-size:.85rem}.experience-technologies{font-size:.9rem}}.experience-list{display:flex;flex-direction:column;gap:24px;padding:16px 0}.project-card{width:90%;align-self:center;color:var(--color-text);background-color:transparent;border:1px solid var(--color-border);border-radius:12px;margin-bottom:3em}.project-content{flex-direction:column;padding:1.2em}.project-row{flex-direction:row;justify-content:space-between;align-items:flex-start;display:flex}.project-center{flex-direction:column;align-items:flex-start;padding:0 20px;display:flex}.project-img{border-radius:20px;height:60px;width:60px}.project-title{font-family:Inter,sans-serif;font-size:16px;font-weight:600;text-align:center}.project-description{font-family:Inter,sans-serif;font-size:12px;line-height:1.5;color:var(--color-text-light);text-align:justify;margin-top:15px}.project-technologies{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-top:20px}.project-badges{display:flex;flex-wrap:wrap;margin-top:16px}.project-card:hover{box-shadow:0 6px 14px var(--color-overlay-dark)}@media (min-width: 768px){.project-card{width:80%}.project-content{flex-direction:row;padding:32px}.project-left{flex:.13;justify-content:flex-start;margin-bottom:0}.project-body{flex:.5}.project-right{flex:.37;justify-content:flex-end;margin-bottom:0}.project-title,.project-technologies{text-align:left}.project-badges{justify-content:flex-start}}@media (min-width: 1200px){.project-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;text-align:center}.project-card{width:60%}.project-content{padding:30px}.project-img{height:80px;width:80px}.project-title{font-size:20px}.project-description,.project-technologies{font-size:14px}.project-left,.project-right{display:flex;justify-content:center;align-items:flex-start}}.project-list{display:flex;flex-direction:column}.contact-content{flex-direction:column;align-items:center;justify-content:center;display:flex}.contact-text{font-size:18px;font-family:Inter,sans-serif;color:var(--color-text);padding-bottom:1.5em}.contact-copyright-text{font-size:15px;font-family:Inter,sans-serif;color:var(--color-text);padding-bottom:1.5em}.contact-copyright-content{padding:8em 0 3em}.header{font-family:Inter,sans-serif;position:fixed;width:100%;background-color:var(--color-header-background);color:var(--color-text);display:flex;align-items:center;justify-content:space-between;z-index:10;padding:15px}.header-logo{height:auto;padding:0;margin:0;will-change:auto;transition:none;font-size:inherit}.header-logo a{color:var(--color-text);font-size:20px;padding:0;margin:0;min-height:0}.logo a:hover{transform:translateY(-5px)}.logo span{color:var(--color-text)}.menu-toggle{background:none;border:none;cursor:pointer;margin-right:38px;color:var(--color-text)}.menu{display:none;position:absolute;top:60px;right:50px;background-color:var(--color-header-background);flex-direction:column;padding:15px;border-radius:8px;width:200px;box-shadow:0 4px 12px #00000026;border:1px solid var(--color-border-light)}.menu.open{display:flex}.menu li{list-style:none;margin:8px 0}.menu-button{background:none;border:none;cursor:pointer;color:var(--color-text);font-size:16px;font-weight:500;padding:8px 12px;border-radius:6px;transition:all .2s ease;width:100%;text-align:left;font-family:Inter,sans-serif}.menu-button:hover{background-color:var(--color-overlay-light);color:var(--color-primary);transform:translate(4px)}.menu-button:active{transform:translate(2px)}.theme-toggle{color:var(--color-text);font-weight:600;display:flex}.theme-toggle:hover{color:var(--color-primary)}.theme-toggle svg{vertical-align:middle}.language-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-text);font-weight:600}.language-toggle:hover{color:var(--color-primary)}.language-toggle span{font-weight:600;font-size:14px}.language-toggle-flag{width:1.3em;height:1.3em;box-shadow:0 0 2px #0003;border-radius:2px}@media (min-width: 768px){.menu{top:65px;right:20px;width:250px}.header-logo a{font-size:22px!important}}@media (min-width: 1024px){.menu,.menu.open{position:static;display:flex!important;flex-direction:row!important;background:none;padding:0;width:auto;box-shadow:none;border:none;margin-right:20px}.menu li{margin:0 15px}.menu-button{color:var(--color-text);font-size:15px;padding:8px 12px;width:auto;text-align:center}.menu-button:hover{background-color:var(--color-overlay-light);color:var(--color-primary);transform:translateY(-2px)}.menu-button:active{transform:translateY(0)}.language-toggle{padding:8px 12px}.menu-toggle{display:none}.header-logo a{font-size:25px!important}}.floating-action-button{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 4px 20px #4b4bff4d;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;opacity:1;transform:scale(1) translateY(0)}.floating-action-button:hover{transform:scale(1.1);box-shadow:0 6px 25px #4b4bff66;background:linear-gradient(135deg,var(--color-primary-hover),var(--color-accent-light))}.floating-action-button:active{transform:scale(.95);transition:transform .1s ease}.floating-action-button svg{transition:transform .2s ease}.floating-action-button:hover svg{transform:translateY(-2px)}@keyframes fabEnter{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (min-width: 768px){.floating-action-button{bottom:40px;right:40px;width:65px;height:65px}}@media (min-width: 1024px){.floating-action-button{bottom:50px;right:50px;width:70px;height:70px}}.floating-action-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));opacity:0;animation:fabPulse 2s infinite;z-index:-1}@keyframes fabPulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:0}}.floating-action-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.floating-action-button{transition:none;animation:none}.floating-action-button:before{animation:none}.floating-action-button:hover{transform:none}.floating-action-button:hover svg{transform:none}}.fab-enter{animation:fabEnter 1s cubic-bezier(.4,0,.2,1) forwards}.fab-exit{animation:fabExit 1s cubic-bezier(.4,0,.2,1) forwards}@keyframes fabExit{to{opacity:0;transform:scale(.7) translateY(40px)}}
