:root{--primary-color: #007bff;--primary-color-rgb: 0, 123, 255;--primary-hover: #0056b3;--primary-hover-rgb: 0, 86, 179;--secondary-color: #6c757d;--secondary-color-rgb: 108, 117, 125;--background-light: #f8f9fa;--background-light-rgb: 248, 249, 250;--background-light-gradient-start: #ffffff;--background-light-gradient-end: #f0f2f5;--text-light: #212529;--text-light-rgb: 33, 37, 41;--card-light: #ffffff;--card-light-rgb: 255, 255, 255;--border-light: #dee2e6;--border-light-rgb: 222, 226, 230;--shadow-light: rgba(0, 0, 0, .1);--shadow-strong-light: rgba(0, 0, 0, .2);--accent-light: rgba(0, 123, 255, .1);--background-dark: #121212;--background-dark-rgb: 18, 18, 18;--background-dark-gradient-start: #1a1a1a;--background-dark-gradient-end: #0d0d0d;--text-dark: #f8f9fa;--text-dark-rgb: 248, 249, 250;--card-dark: #1e1e1e;--card-dark-rgb: 30, 30, 30;--card-dark-hover: #2a2a2a;--border-dark: #343a40;--border-dark-rgb: 52, 58, 64;--shadow-dark: rgba(255, 255, 255, .05);--shadow-strong-dark: rgba(255, 255, 255, .1);--accent-dark: rgba(0, 123, 255, .2);--transition-speed: .4s;--transition-speed-slow: .7s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-timing-emphasized: cubic-bezier(.2, .9, .4, 1);--transition: color var(--transition-speed) var(--transition-timing), background-color var(--transition-speed) var(--transition-timing), border-color var(--transition-speed) var(--transition-timing), box-shadow var(--transition-speed) var(--transition-timing), transform var(--transition-speed) var(--transition-timing-emphasized), filter var(--transition-speed-slow) var(--transition-timing)}body.light-mode{--background: var(--background-light);--background-rgb: var(--background-light-rgb);--background-gradient-start: var(--background-light-gradient-start);--background-gradient-end: var(--background-light-gradient-end);--text: var(--text-light);--text-rgb: var(--text-light-rgb);--card: var(--card-light);--card-rgb: var(--card-light-rgb);--card-hover: var(--background-light-gradient-end);--border: var(--border-light);--border-rgb: var(--border-light-rgb);--shadow: var(--shadow-light);--shadow-strong: var(--shadow-strong-light);--accent: var(--accent-light);color-scheme:light}body.dark-mode{--background: var(--background-dark);--background-rgb: var(--background-dark-rgb);--background-gradient-start: var(--background-dark-gradient-start);--background-gradient-end: var(--background-dark-gradient-end);--text: var(--text-dark);--text-rgb: var(--text-dark-rgb);--card: var(--card-dark);--card-rgb: var(--card-dark-rgb);--card-hover: var(--card-dark-hover);--border: var(--border-dark);--border-rgb: var(--border-dark-rgb);--shadow: var(--shadow-dark);--shadow-strong: var(--shadow-strong-dark);--accent: var(--accent-dark);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text);background:linear-gradient(135deg,var(--background-gradient-start) 0%,var(--background) 50%,var(--background-gradient-end) 100%);background-attachment:fixed;transition:var(--transition);min-height:100vh;position:relative;font-size:16px}a{text-decoration:none;color:var(--primary-color);transition:var(--transition)}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto;display:block}.container{width:min(90%,1200px);margin:0 auto;padding:0 1.25rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-element{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.fade-element.fade-in{opacity:1;transform:translateY(0)}@keyframes pulse{0%{box-shadow:0 0 #007bff66}70%{box-shadow:0 0 0 10px #007bff00}to{box-shadow:0 0 #007bff00}}section{padding:clamp(2rem,5vw,5rem) 0}.section-title{text-align:center;margin-bottom:clamp(2rem,4vw,3.125rem);font-size:clamp(1.75rem,4vw,2.5rem);position:relative;padding-bottom:1.25rem;color:var(--text)}.section-title:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:clamp(60px,10vw,100px);height:3px;background-color:var(--primary-color)}.btn{display:inline-block;padding:.75rem 1.875rem;border-radius:50px;font-weight:600;text-align:center;cursor:pointer;transition:var(--transition);border:none;font-size:1rem}.primary-btn{background-color:var(--primary-color);color:#fff}.primary-btn:hover{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:0 5px 15px #007bff66;color:#fff}.secondary-btn{background-color:transparent;color:var(--text);border:2px solid var(--primary-color)}.secondary-btn:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-3px);box-shadow:0 5px 15px #007bff66}header{background-color:rgba(var(--card-rgb, 255, 255, 255),.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 5px 20px var(--shadow);position:sticky;top:0;z-index:100;padding:1.2rem 0;border-bottom:1px solid rgba(var(--border-rgb, 222, 226, 230),.1);transition:all .5s var(--transition-timing)}body.dark-mode header{box-shadow:0 5px 20px #0000004d}header .container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:.625rem}.logo{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;background:linear-gradient(135deg,var(--primary-color),#36a3ff);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0px 2px 4px var(--shadow);position:relative;transition:all .5s ease;white-space:nowrap}.logo:hover{text-shadow:0px 2px 8px var(--accent);transform:scale(1.03)}nav ul{display:flex;list-style:none;gap:.3125rem}nav ul li{position:relative}nav ul li a{color:var(--text);font-weight:500;font-size:1.1rem;padding:.625rem .9375rem;position:relative;border-radius:8px;transition:all .3s ease;z-index:1;display:block}nav ul li a:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--accent);border-radius:8px;z-index:-1;transform:scale(.8);opacity:0;transition:all .3s var(--transition-timing-emphasized)}nav ul li a:hover:before,nav ul li a:focus:before{transform:scale(1);opacity:1}nav ul li a:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent);transform:translate(-50%);transition:width .4s var(--transition-timing-emphasized)}nav ul li a:hover:after,nav ul li a:focus:after{width:80%}.mobile-buttons{display:flex;gap:.625rem;align-items:center;margin-left:auto}.mobile-menu-btn{display:none;background:var(--primary-color);border:none;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;width:45px;height:45px;padding:0;box-shadow:0 2px 10px #007bff66;transition:all .3s ease;justify-content:center;align-items:center}.mobile-menu-btn:hover,.mobile-menu-btn:active{background:var(--primary-hover);transform:scale(1.05)}.theme-toggle{display:inline-flex;z-index:1000;position:fixed;top:1.25rem;right:1.25rem}#theme-toggle-btn{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:50%;width:45px;height:45px;font-size:1.2rem;cursor:pointer;transition:var(--transition);box-shadow:0 2px 10px var(--shadow);outline:none;overflow:hidden;position:relative;z-index:1;display:flex;justify-content:center;align-items:center;animation:pulse 2s infinite}#theme-toggle-btn:hover{animation:none;transform:scale(1.05);box-shadow:0 4px 12px var(--shadow-strong)}#theme-toggle-btn:active{transform:scale(.95)}#theme-toggle-btn i{transition:transform .5s var(--transition-timing)}body.dark-mode #theme-toggle-btn i{transform:rotate(180deg)}@media(max-width:768px){.mobile-buttons{order:2}.mobile-buttons .theme-toggle{position:static;top:auto;right:auto}.mobile-menu-btn{display:flex}nav{width:100%;height:0;overflow:hidden;background:var(--card);position:absolute;top:100%;left:0;box-shadow:0 5px 10px var(--shadow);z-index:1000;transition:height .3s ease,opacity .3s ease;opacity:0}nav.active{height:auto;opacity:1}nav ul{flex-direction:column;padding:1rem;margin:0;width:100%;background:var(--card)}nav ul li{width:100%;padding:.5rem 0;border-bottom:1px solid var(--border)}nav ul li:last-child{border-bottom:none}nav ul li a{display:block;width:100%;text-align:center;padding:.625rem 0;font-size:1.2rem;transition:all .3s ease}nav ul li a:hover{background:var(--accent);color:var(--primary-color)}nav ul li a:before,nav ul li a:after{display:none}}@media(max-width:576px){.mobile-menu-btn{width:48px;height:48px;font-size:1.7rem}#theme-toggle-btn{width:48px;height:48px;font-size:1.2rem}}.hero{min-height:calc(100vh - 80px);display:flex;align-items:center;background-color:var(--background);padding:clamp(2rem,5vw,5rem) 0}.hero-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:clamp(1.5rem,4vw,2.5rem)}.profile-image{flex:1;max-width:350px;min-width:200px;margin:0 auto}.profile-image img{width:100%;height:auto;border-radius:50%;border:5px solid var(--primary-color);box-shadow:0 5px 15px var(--shadow);aspect-ratio:1;object-fit:cover}.hero-text{flex:2;text-align:left;min-width:280px}.hero h1{font-size:clamp(1.75rem,5vw,3rem);margin-bottom:1.25rem;color:var(--text);line-height:1.2}.hero .highlight{color:var(--primary-color)}.hero .subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-bottom:1.875rem;color:var(--secondary-color)}.cta-buttons{display:flex;gap:1.25rem;flex-wrap:wrap}@media(max-width:992px){.hero-content{flex-direction:column;text-align:center}.hero-text{text-align:center}.cta-buttons{justify-content:center}}@media(max-width:576px){.hero{min-height:auto;padding-top:2.5rem}.profile-image{max-width:250px;margin-bottom:1.25rem}.cta-buttons{flex-direction:column;gap:.9375rem;width:100%}.cta-buttons .btn{width:100%;font-size:1.1rem;padding:.875rem 2rem}}.about{background-color:var(--background)}.about-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2.5rem}.about-text p{margin-bottom:1.25rem;font-size:clamp(1rem,2vw,1.1rem);color:var(--text);line-height:1.7}.education h3{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:1.25rem;color:var(--text)}.education-item{background-color:var(--card);padding:1.25rem;border-radius:10px;margin-bottom:1.25rem;box-shadow:0 2px 10px var(--shadow);border-left:4px solid var(--primary-color);transition:var(--transition)}.education-item:hover{transform:translate(5px);box-shadow:0 4px 15px var(--shadow-strong)}.education-item h4{font-size:clamp(1.1rem,2vw,1.3rem);margin-bottom:.625rem;color:var(--text)}.education-item p{color:var(--secondary-color);font-size:clamp(.9rem,1.5vw,1rem)}.skills{position:relative;background:linear-gradient(to right,var(--card),var(--background),var(--card));padding:clamp(3rem,6vw,5rem) 0;overflow:hidden}.skills:before,.skills:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--primary-color),transparent);opacity:.3}.skills:before{top:0}.skills:after{bottom:0}.skills-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2.5rem;position:relative;z-index:1;align-items:start}.skill-category h3{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:1.875rem;color:var(--primary-color);text-align:center;position:relative;padding-bottom:.9375rem;min-height:3.75rem;display:flex;align-items:center;justify-content:center}.skill-category h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:3px;background:var(--primary-color);border-radius:3px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.25rem;align-items:stretch}.skill-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;background:linear-gradient(145deg,var(--card),var(--card-hover));border-radius:16px;box-shadow:0 4px 15px var(--shadow);transition:var(--transition);position:relative;z-index:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.05);min-height:120px}.skill-item:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 8px 25px var(--shadow-strong)}.skill-item i{font-size:clamp(2rem,4vw,2.5rem);margin-bottom:.9375rem;color:var(--primary-color);transition:all .5s ease}.skill-item:hover i{transform:scale(1.2);text-shadow:0 0 15px var(--accent)}.skill-item span{font-size:clamp(.9rem,1.5vw,1rem);font-weight:600;color:var(--text);text-align:center}@media(max-width:576px){.skills-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.skill-item{padding:1.125rem .75rem;min-height:110px}.skill-item i{margin-bottom:.75rem}}.projects{background:linear-gradient(to bottom,var(--background-gradient-start),var(--background),var(--background-gradient-end));padding:clamp(4rem,8vw,6.25rem) 0;position:relative}.projects:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--accent) 1px,transparent 1px);background-size:50px 50px;opacity:.1;pointer-events:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:2.5rem;position:relative;z-index:1;align-items:stretch}.project-card{background:linear-gradient(145deg,var(--card),var(--card-hover));border-radius:20px;overflow:hidden;box-shadow:0 10px 30px var(--shadow);transition:all .5s var(--transition-timing-emphasized);height:100%;display:flex;flex-direction:column;position:relative;z-index:1;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,transparent,var(--primary-color),transparent);transform:scaleX(0);transition:transform .5s ease;z-index:1}.project-card:hover{transform:translateY(-15px) scale(1.02);box-shadow:0 20px 40px var(--shadow-strong)}.project-card:hover:before{transform:scaleX(1)}.project-info{padding:clamp(1.25rem,4vw,1.875rem);position:relative;display:flex;flex-direction:column;flex-grow:1}.project-info:after{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background-color:var(--primary-color);opacity:.1;border-radius:0 0 0 100%;z-index:-1}.project-info h3{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:.9375rem;color:var(--text);position:relative;display:inline-block}.project-info h3:after{content:"";position:absolute;bottom:-5px;left:0;width:40px;height:3px;background-color:var(--primary-color);transition:width .3s ease}.project-card:hover .project-info h3:after{width:100%}.project-info p{color:var(--text);margin-bottom:1.5625rem;line-height:1.7;font-size:clamp(.95rem,2vw,1.05rem);flex-grow:1;min-height:4.375rem}.project-tech{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5625rem;min-height:2.8125rem}.project-tech span{background-color:var(--accent);color:var(--text);padding:.375rem .75rem;border-radius:30px;font-size:clamp(.75rem,1.5vw,.85rem);font-weight:600;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;height:32px}.project-tech span:hover{transform:translateY(-3px);box-shadow:0 5px 15px var(--shadow)}.project-links{display:flex;gap:.9375rem}.project-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5625rem;border-radius:12px;font-weight:600;letter-spacing:.5px;transition:all .4s ease;background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;position:relative;overflow:hidden;z-index:1;font-size:clamp(.9rem,1.5vw,1rem)}.project-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(145deg,var(--primary-hover),var(--primary-color));opacity:0;z-index:-1;transition:opacity .4s ease}.project-btn:hover:before{opacity:1}.project-btn:hover{transform:translateY(-5px);box-shadow:0 10px 20px #007bff4d;color:#fff}.project-btn i{font-size:1.2rem;transition:transform .3s ease}.project-btn:hover i{transform:translate(5px)}@media(max-width:576px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-tech{gap:.5rem}.project-tech span{padding:.375rem .625rem;height:28px}}.contact{background-color:var(--card);padding:clamp(3rem,6vw,5rem) 0}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:3.125rem}.contact-info{display:flex;flex-direction:column;gap:1.875rem}.contact-item{display:flex;align-items:center;gap:1.25rem;padding:1rem;border-radius:12px;transition:var(--transition)}.contact-item:hover{background-color:var(--accent);transform:translate(10px)}.contact-item i{font-size:clamp(1.4rem,3vw,1.8rem);color:var(--primary-color);width:clamp(45px,8vw,50px);height:clamp(45px,8vw,50px);background-color:#007bff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.contact-item:hover i{background-color:var(--primary-color);color:#fff;transform:scale(1.1)}.contact-item h3{font-size:clamp(1.1rem,2vw,1.3rem);margin-bottom:.3125rem;color:var(--text)}.contact-item p,.contact-item a{font-size:clamp(.9rem,1.5vw,1rem);color:var(--secondary-color);word-break:break-word}.contact-item a:hover{color:var(--primary-color)}footer{background-color:var(--background);padding:1.875rem 0;text-align:center;border-top:1px solid var(--border)}footer p{color:var(--text);font-size:clamp(.875rem,1.5vw,1rem)}@media(max-width:576px){.contact-item{flex-direction:column;text-align:center;gap:.75rem}.contact-item:hover{transform:translateY(-5px)}.contact-item div{text-align:center}}.contact-form{background:linear-gradient(180deg,rgba(var(--card-rgb),.02),transparent);padding:1.25rem;border-radius:12px;box-shadow:0 6px 20px #0000000a;border:1px solid rgba(var(--border-rgb),.06)}.contact-form h3{margin-bottom:1rem;color:var(--text);font-size:clamp(1.25rem,2.5vw,1.6rem)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(var(--border-rgb),.12);background:var(--background);color:var(--text);font-size:1rem;transition:box-shadow .2s ease,transform .15s ease,border-color .15s ease;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:rgba(var(--primary-color-rgb, 0,123,255),.9);box-shadow:0 6px 18px rgba(var(--primary-color-rgb, 0,123,255),.08);transform:translateY(-2px)}.form-group textarea{min-height:140px;resize:vertical}.contact-form .btn.primary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:999px;box-shadow:0 8px 24px rgba(var(--primary-color-rgb,0,123,255),.12);transition:transform .15s ease,box-shadow .15s ease}.contact-form .btn.primary-btn:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(var(--primary-color-rgb,0,123,255),.18)}@media(max-width:576px){.contact-form{padding:1rem}.form-group textarea{min-height:120px}}
