*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f1f3f5;--bg-dark:#000;--text-primary:#000;--text-secondary:#495057;--text-tertiary:#868e96;--text-light:#adb5bd;--accent-primary:#06f;--accent-secondary:#0052cc;--accent-light:#e7f1ff;--border-light:#e9ecef;--border-medium:#dee2e6;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001a;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-5xl:3rem;--font-6xl:3.75rem;--font-7xl:4.5rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--transition-slower:500ms ease;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px}[data-theme=dark]{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--bg-dark:#fff;--text-primary:#fff;--text-secondary:#a8a8a8;--text-tertiary:#666;--text-light:#404040;--accent-primary:#06f;--accent-secondary:#0052cc;--accent-light:#001a3d;--border-light:#1a1a1a;--border-medium:#262626}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#000;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,Helvetica Neue,sans-serif;font-size:1rem;font-size:var(--font-base);font-weight:400;line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--space-lg);width:100%}@media (min-width:768px){.container{padding:0 2rem;padding:0 var(--space-xl)}}@media (min-width:1024px){.container{padding:0 3rem;padding:0 var(--space-2xl)}}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0}h1{font-size:clamp(2.25rem,5vw,3.75rem);font-size:clamp(var(--font-4xl),5vw,var(--font-6xl));font-weight:700;letter-spacing:-.03em}h2{font-size:clamp(1.875rem,4vw,3rem);font-size:clamp(var(--font-3xl),4vw,var(--font-5xl));letter-spacing:-.025em}h2,h3{font-weight:600}h3{font-size:clamp(1.5rem,3vw,2.25rem);font-size:clamp(var(--font-2xl),3vw,var(--font-4xl))}h4{font-size:clamp(1.25rem,2.5vw,1.875rem);font-size:clamp(var(--font-xl),2.5vw,var(--font-3xl))}h4,h5{font-weight:500}h5{font-size:clamp(1.125rem,2vw,1.5rem);font-size:clamp(var(--font-lg),2vw,var(--font-2xl))}p{line-height:1.7;margin:0}.lead,p{color:#495057;color:var(--text-secondary)}.lead{font-size:1.125rem;font-size:var(--font-lg);font-weight:400;line-height:1.6}a{color:#06f;color:var(--accent-primary);text-decoration:none;transition:color .25s ease;transition:color var(--transition-base)}a:hover{color:#0052cc;color:var(--accent-secondary)}.btn{align-items:center;border:none;border-radius:.75rem;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1rem;font-size:var(--font-base);font-weight:500;justify-content:center;line-height:1.5;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all .25s ease;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background-color:#06f;background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:#0052cc;background-color:var(--accent-secondary);box-shadow:0 4px 6px #00000012;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:initial;border:1px solid #dee2e6;border:1px solid var(--border-medium);color:#000;color:var(--text-primary)}.btn-secondary:hover{background-color:#f8f9fa;background-color:var(--bg-secondary);border-color:#000;border-color:var(--text-primary)}.card{background:#fff;background:var(--bg-primary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:1rem;border-radius:var(--radius-xl);padding:2rem;padding:var(--space-xl);transition:all .25s ease;transition:all var(--transition-base)}.card:hover{border-color:#dee2e6;border-color:var(--border-medium);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}section{padding:8rem 0;padding:var(--space-5xl) 0;position:relative}@media (max-width:768px){section{padding:6rem 0;padding:var(--space-4xl) 0}}.animate-item,.animate-section{will-change:transform,opacity}.fade-in{opacity:0;transform:translateY(30px)}.slide-in-left{opacity:0;transform:translateX(-50px)}.slide-in-right{opacity:0;transform:translateX(50px)}.scale-in{opacity:0;transform:scale(.9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem;margin-top:var(--space-xs)}.mt-2{margin-top:.5rem;margin-top:var(--space-sm)}.mt-3{margin-top:1rem;margin-top:var(--space-md)}.mt-4{margin-top:1.5rem;margin-top:var(--space-lg)}.mt-5{margin-top:2rem;margin-top:var(--space-xl)}.mb-1{margin-bottom:.25rem;margin-bottom:var(--space-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--space-sm)}.mb-3{margin-bottom:1rem;margin-bottom:var(--space-md)}.mb-4{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.mb-5{margin-bottom:2rem;margin-bottom:var(--space-xl)}.pt-1{padding-top:.25rem;padding-top:var(--space-xs)}.pt-2{padding-top:.5rem;padding-top:var(--space-sm)}.pt-3{padding-top:1rem;padding-top:var(--space-md)}.pt-4{padding-top:1.5rem;padding-top:var(--space-lg)}.pt-5{padding-top:2rem;padding-top:var(--space-xl)}.pb-1{padding-bottom:.25rem;padding-bottom:var(--space-xs)}.pb-2{padding-bottom:.5rem;padding-bottom:var(--space-sm)}.pb-3{padding-bottom:1rem;padding-bottom:var(--space-md)}.pb-4{padding-bottom:1.5rem;padding-bottom:var(--space-lg)}.pb-5{padding-bottom:2rem;padding-bottom:var(--space-xl)}.grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem;gap:var(--space-xs)}.gap-2{gap:.5rem;gap:var(--space-sm)}.gap-3{gap:1rem;gap:var(--space-md)}.gap-4{gap:1.5rem;gap:var(--space-lg)}.gap-5{gap:2rem;gap:var(--space-xl)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f8f9fa;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#dee2e6;background:var(--border-medium);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#868e96;background:var(--text-tertiary)}::selection{background-color:#e7f1ff;background-color:var(--accent-light);color:#06f;color:var(--accent-primary)}:focus{outline:2px solid #06f;outline:2px solid var(--accent-primary);outline-offset:2px}.loading-screen{align-items:center;background:#fff;background:var(--bg-primary);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loader{animation:spin .8s linear infinite;border:2px solid #e9ecef;border-top-color:#06f;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--accent-primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}img{display:block;height:auto;max-width:100%}code,pre{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.875rem;font-size:var(--font-sm)}code{border-radius:.25rem;border-radius:var(--radius-sm);padding:.125rem .375rem}code,pre{background-color:#f1f3f5;background-color:var(--bg-tertiary)}pre{border-radius:.5rem;border-radius:var(--radius-md);overflow-x:auto;padding:1rem;padding:var(--space-md)}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.section-title{margin-bottom:2rem!important;margin-bottom:var(--space-xl)!important}.section-subtitle{margin-top:0!important}.navbar{padding:1.5rem 0;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1000}.navbar.scrolled{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fffc;box-shadow:0 1px 3px 0 #0000001a;padding:1rem 0}.navbar.scrolled .navbar-menu li a{color:var(--text-secondary)}.navbar.scrolled .navbar-brand,.navbar.scrolled .navbar-menu li a.active,.navbar.scrolled .navbar-menu li a:hover{color:var(--text-primary)}.navbar-content{align-items:center;display:flex;justify-content:space-between}.navbar-brand{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;background-clip:text;cursor:pointer;font-size:1.75rem;font-weight:900;letter-spacing:-.05em;transition:transform .3s ease}.navbar-brand:hover{transform:scale(1.05)}.navbar-menu{align-items:center;display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.navbar-menu li a{color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:.01em;position:relative;transition:all .2s ease}.navbar-menu li a:hover{color:var(--text-primary)}.navbar-menu li a.active{color:var(--accent-primary)}.navbar-menu li a:after{background:var(--accent-primary);bottom:-8px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%}.navbar-menu li a.active:after,.navbar-menu li a:hover:after{transform:translateX(-50%) scaleX(.8)}.mobile-menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:8px;position:relative;z-index:1002}.mobile-menu-toggle span{border-radius:2px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.mobile-menu-toggle span,.navbar.scrolled .mobile-menu-toggle span{background:var(--text-primary)}@media (max-width:768px){.navbar,.navbar.scrolled{padding:1rem 0}.navbar-brand{font-size:1.5rem}.navbar-menu{align-items:center;background:#fff;box-shadow:-10px 0 30px #0000001a;flex-direction:column;gap:2rem;height:100vh;justify-content:center;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%}.navbar-menu.active{transform:translateX(0)}.navbar-menu li a{color:var(--text-primary);font-size:1.25rem;font-weight:600}.navbar-menu li a:after{bottom:-4px}.mobile-menu-toggle{display:flex}.mobile-menu-toggle.active span,.navbar-menu.active~.mobile-menu-toggle span{background:var(--text-primary)}.mobile-menu-toggle.active span:first-child,.navbar-menu.active~.mobile-menu-toggle span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2),.navbar-menu.active~.mobile-menu-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-toggle.active span:nth-child(3),.navbar-menu.active~.mobile-menu-toggle span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}@media (max-width:480px){.navbar-menu{gap:1.5rem}.navbar-menu li a{font-size:1.125rem}}.hero{background:var(--bg-primary);min-height:100vh;overflow:hidden;position:relative}.hero,.hero-content{align-items:center;display:flex}.hero-content{flex-direction:column;margin:0 auto;max-width:800px;padding:var(--space-2xl) 0;text-align:center;width:100%;z-index:1}.hero-image-wrapper{display:inline-block;margin-bottom:var(--space-3xl);position:relative}.hero-profile-image{border-radius:50%;box-shadow:var(--shadow-lg);height:180px;object-fit:cover;position:relative;width:180px;z-index:2}.image-ring{animation:rotate 20s linear infinite;border:2px solid var(--border-light);border-radius:50%;height:200px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:200px;z-index:1}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.hero-greeting{color:var(--text-secondary);font-size:var(--font-lg);font-weight:400;letter-spacing:.05em;margin-bottom:var(--space-md)}.hero-name{color:var(--text-primary);font-size:clamp(var(--font-4xl),6vw,var(--font-6xl));font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-lg);perspective:1000px}.hero-name .char{display:inline-block;transform-style:preserve-3d;will-change:transform}.hero-title{color:var(--text-secondary);font-size:clamp(var(--font-xl),3vw,var(--font-2xl));font-weight:400;letter-spacing:.02em;margin-bottom:var(--space-xl)}.hero-description{color:var(--text-secondary);margin:0 auto var(--space-3xl);max-width:600px}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-3xl)}.hero-social{gap:var(--space-lg)}.hero-social,.hero-social a{align-items:center;display:flex;justify-content:center}.hero-social a{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-secondary);height:44px;transition:all var(--transition-base);width:44px}.hero-social a:hover{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.hero-social svg{height:20px;width:20px}.hero-scroll{align-items:center;bottom:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-sm);left:50%;position:absolute;transform:translateX(-50%)}.scroll-indicator{border:2px solid var(--border-medium);border-radius:12px;height:40px;overflow:hidden;position:relative;width:24px}.scroll-dot{animation:scroll-down 2s ease-in-out infinite;background:var(--text-tertiary);border-radius:2px;height:8px;left:50%;position:absolute;top:6px;transform:translateX(-50%);width:4px}@keyframes scroll-down{0%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(20px)}}@media (max-width:768px){.hero-content{padding:var(--space-xl) 0}.hero-profile-image{height:150px;width:150px}.image-ring{height:170px;width:170px}.hero-name{font-size:clamp(var(--font-3xl),8vw,var(--font-5xl))}.hero-title{font-size:clamp(var(--font-lg),4vw,var(--font-xl))}.hero-cta{flex-direction:column;max-width:300px}.hero-cta,.hero-cta .btn{width:100%}.hero-social{gap:var(--space-md)}.hero-social a{height:40px;width:40px}.hero-social svg{height:18px;width:18px}}[data-theme=dark] .hero{background:var(--bg-primary)}[data-theme=dark] .hero-profile-image{box-shadow:0 0 0 2px var(--border-medium),var(--shadow-xl)}[data-theme=dark] .hero-social a{background:var(--bg-tertiary);border-color:var(--border-medium)}[data-theme=dark] .hero-social a:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.about{background:var(--bg-secondary)}.section-title{margin-bottom:4rem;position:relative;text-align:center}.section-title:after{background:var(--accent-gradient);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.about-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin-bottom:4rem}.about-text{max-width:600px}.about-intro{font-size:1.25rem;font-weight:600;margin-bottom:2rem}.about-text p{margin-bottom:1.5rem}.about-image{display:flex;justify-content:center}.image-container{border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:400px;overflow:hidden;position:relative;width:100%}.image-container img{display:block;height:auto;width:100%}.image-overlay{background:var(--accent-gradient);height:100%;left:0;opacity:.2;position:absolute;top:0;transition:opacity .3s ease;width:100%}.image-container:hover .image-overlay{opacity:.1}.stats-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:4rem}.stat-card{background:var(--bg-tertiary);border-radius:12px;padding:2rem;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-number{font-size:3rem;font-weight:900;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.875rem;letter-spacing:1px;text-transform:uppercase}@media (max-width:768px){.about-content{gap:3rem;grid-template-columns:1fr}.about-image{order:-1}.stats-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{padding:1.5rem}.stat-number{font-size:2rem}}.experience{background:var(--bg-secondary);position:relative}.section-header{margin-bottom:var(--space-4xl)}.section-title{margin-bottom:var(--space-md)}.timeline{margin:0 auto;max-width:1200px;padding:var(--space-2xl) 0;position:relative}.timeline-line{background:var(--border-light);bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);transform-origin:top;width:2px}.timeline-item{align-items:flex-start;display:flex;opacity:0;padding:var(--space-xl) 0;position:relative}.timeline-item.left{justify-content:flex-end;padding-right:calc(50% + var(--space-3xl))}.timeline-item.right{justify-content:flex-start;padding-left:calc(50% + var(--space-3xl))}.timeline-dot{background:var(--accent-primary);border-radius:50%;box-shadow:0 0 0 4px var(--bg-secondary);height:48px;left:50%;position:absolute;top:var(--space-xl);transform:translateX(-50%);width:48px;z-index:2}.dot-inner,.timeline-dot{align-items:center;display:flex;justify-content:center}.dot-inner{color:#fff;font-size:18px;height:100%;width:100%}.timeline-content{background:var(--bg-primary);cursor:pointer;max-width:500px;padding:var(--space-2xl);position:relative;width:100%}.timeline-content:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)!important}.content-header{margin-bottom:var(--space-lg)}.header-top{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-sm)}.timeline-title{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin:0;margin-bottom:var(--space-xs)}.timeline-title .subtitle{color:var(--text-secondary);font-size:var(--font-base);font-weight:400}.badge-current{align-items:center;background:var(--accent-light);border-radius:var(--radius-full);color:var(--accent-primary);display:inline-flex;font-size:var(--font-sm);font-weight:500;padding:var(--space-xs) var(--space-sm);white-space:nowrap}.timeline-company{color:var(--text-secondary);font-size:var(--font-lg);font-weight:500;margin:var(--space-xs) 0 var(--space-md) 0}.timeline-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.meta-item{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--font-sm);gap:var(--space-xs)}.meta-item svg{height:14px;width:14px}.timeline-description{line-height:1.7;margin-bottom:var(--space-lg)}.timeline-highlights{list-style:none;margin:0;padding:0}.timeline-highlights li{color:var(--text-secondary);font-size:var(--font-base);line-height:1.6;margin-bottom:var(--space-sm);padding-left:var(--space-lg);position:relative}.timeline-highlights li:last-child{margin-bottom:0}.timeline-highlights li:before{color:var(--accent-primary);content:"•";font-weight:700;left:0;position:absolute}@media (max-width:1024px){.timeline-line{left:40px}.timeline-item{justify-content:flex-start!important;padding-left:80px!important;padding-right:var(--space-lg)!important}.timeline-dot{left:40px}.timeline-content{max-width:100%}}@media (max-width:768px){.timeline{padding:var(--space-xl) 0}.timeline-line{left:30px}.timeline-item{padding:var(--space-lg) 0 var(--space-lg) 60px!important}.timeline-dot{height:40px;left:30px;width:40px}.dot-inner{font-size:16px}.timeline-content{padding:var(--space-xl)}.timeline-title{font-size:var(--font-lg)}.timeline-company{font-size:var(--font-base)}.timeline-meta{flex-direction:column;gap:var(--space-xs)}.timeline-highlights li{font-size:var(--font-sm)}}[data-theme=dark] .experience{background:var(--bg-secondary)}[data-theme=dark] .timeline-line{background:var(--border-medium)}[data-theme=dark] .timeline-content{background:var(--bg-tertiary)}[data-theme=dark] .badge-current{background:#0066ff1a;color:var(--accent-primary)}.projects{background:var(--bg-primary);position:relative}.section-header{margin-bottom:var(--space-3xl);text-align:center}.section-title{font-size:clamp(var(--font-3xl),4vw,var(--font-5xl));font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-lg)}.section-subtitle{font-size:var(--font-lg);line-height:1.6;margin:0 auto}.project-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-4xl)}.filter-btn{background:#0000;border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:var(--font-sm);font-weight:500;padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base);white-space:nowrap}.filter-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.projects-grid{grid-gap:var(--space-2xl);display:grid;gap:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));width:100%}.project-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;display:flex;flex-direction:column;height:100%;opacity:0;overflow:hidden;transition:all var(--transition-slow)}.project-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-xl)}.project-card.featured{grid-column:span 1}.project-image-wrapper{background:var(--bg-secondary);height:240px;overflow:hidden;position:relative}.project-image{height:100%;overflow:hidden;position:relative;width:100%}.project-image img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-gradient{bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.project-card:hover .project-gradient{opacity:.8}.project-links{bottom:var(--space-lg);display:flex;gap:var(--space-md);justify-content:center;left:0;position:absolute;right:0;z-index:10}.project-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);display:flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all var(--transition-base)}.project-link:hover{transform:translateY(-2px)}.project-link.primary,.project-link:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.project-link.primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.project-link svg{height:16px;width:16px}.project-content{display:flex;flex:1 1;flex-direction:column;padding:var(--space-xl)}.project-title{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;line-height:1.3;margin-bottom:var(--space-md)}.project-description{color:var(--text-secondary);flex:1 1;line-height:1.6;margin-bottom:var(--space-lg)}.project-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.project-technologies{display:flex;gap:var(--space-md)}.tech-icon{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.tech-icon:hover{background:var(--accent-light);color:var(--accent-primary)}.tech-icon svg{height:18px;width:18px}.view-project{align-items:center;color:var(--accent-primary);display:flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-xs);transition:all var(--transition-base)}.view-project svg{height:14px;transition:transform var(--transition-base);width:14px}.project-card:hover .view-project svg{transform:translateX(4px)}@media (min-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}.project-card.featured:first-child{grid-column:span 2}.project-card.featured:first-child .project-image-wrapper{height:300px}}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}.project-card.featured:first-child{grid-column:span 1}}@media (max-width:768px){.projects-grid{gap:var(--space-xl);grid-template-columns:1fr}.project-filters{gap:var(--space-xs);padding:0 var(--space-md)}.filter-btn{font-size:var(--font-xs);padding:var(--space-xs) var(--space-md)}.project-image-wrapper{height:200px}.project-content{padding:var(--space-lg)}.project-title{font-size:var(--font-lg)}.project-description{font-size:var(--font-sm)}.tech-icon{height:32px;width:32px}.tech-icon svg{height:16px;width:16px}}[data-theme=dark] .project-card{background:var(--bg-secondary);border-color:var(--border-medium)}[data-theme=dark] .project-card:hover{border-color:var(--accent-primary)}[data-theme=dark] .project-image-wrapper{background:var(--bg-tertiary)}[data-theme=dark] .project-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a}[data-theme=dark] .tech-icon{background:var(--bg-tertiary)}[data-theme=dark] .tech-icon:hover{background:#0066ff1a}.skills{background:var(--bg-primary);padding:var(--space-2xl) 0}.skills .section-header{margin-bottom:var(--space-xl);text-align:center}.skills .section-subtitle{color:var(--text-secondary);font-size:var(--font-lg);margin-top:var(--space-xs)}.skills-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--space-2xl)}.skill-category{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .3s ease}.skill-category:hover{border-color:var(--accent-primary);box-shadow:0 10px 30px #0066ff1a;transform:translateY(-2px)}.category-header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.category-icon{align-items:center;background:var(--accent-light);border-radius:var(--radius-md);color:var(--accent-primary);display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.category-title{color:var(--text-primary);font-size:var(--font-lg);font-weight:600;margin:0}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.skill-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);transition:all .2s ease}.skill-item:hover{background:var(--accent-light);border-color:var(--accent-primary);transform:translateY(-2px)}.skill-icon{align-items:center;color:var(--accent-primary);display:flex;font-size:1.25rem}.skill-name{color:var(--text-secondary);font-size:var(--font-sm);font-weight:500}.skill-item:hover .skill-name{color:var(--text-primary)}.additional-skills{text-align:center}.additional-title{color:var(--text-primary);font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-md)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin:0 auto;max-width:800px}.tech-tag{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:9999px;color:var(--text-secondary);cursor:pointer;font-size:var(--font-sm);font-weight:500;padding:var(--space-xs) var(--space-md);transition:all .2s ease}.tech-tag:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:scale(1.05)}@media (max-width:768px){.skills-grid{gap:var(--space-md);grid-template-columns:1fr}.skill-category{padding:var(--space-md)}.category-header{gap:var(--space-xs)}.category-icon{font-size:1.25rem;height:35px;width:35px}.category-title{font-size:var(--font-base)}.skill-item{padding:var(--space-2xs) var(--space-xs)}.skill-icon{font-size:1rem}.skill-name{font-size:var(--font-xs)}.tech-tags{gap:var(--space-xs)}.tech-tag{font-size:var(--font-xs);padding:var(--space-2xs) var(--space-sm)}}.blog{background:var(--bg-secondary)}.section-subtitle{color:var(--text-secondary);font-size:1.125rem;margin:-2rem auto 3rem;max-width:600px;text-align:center}.blog-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:3rem}.blog-card{background:var(--bg-tertiary);border-radius:12px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.blog-card:hover{box-shadow:0 20px 40px #0000004d;transform:translateY(-5px)}.blog-image{height:200px;overflow:hidden;position:relative}.blog-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.blog-card:hover .blog-image img{transform:scale(1.05)}.blog-category{background:var(--accent-gradient);border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.blog-content{display:flex;flex:1 1;flex-direction:column;padding:2rem}.blog-meta{color:var(--text-tertiary);display:flex;font-size:.875rem;gap:1.5rem;margin-bottom:1rem}.blog-meta span{align-items:center;display:flex;gap:.5rem}.blog-title{color:var(--text-primary);font-size:1.5rem;line-height:1.3;margin-bottom:1rem}.blog-excerpt{color:var(--text-secondary);flex:1 1;line-height:1.8;margin-bottom:1.5rem}.blog-link{align-items:center;color:var(--accent-primary);display:inline-flex;font-weight:600;gap:.5rem;transition:gap .3s ease}.blog-link:hover{gap:1rem}.blog-cta{margin-top:3rem;text-align:center}@media (max-width:768px){.blog-grid{grid-template-columns:1fr}.section-subtitle{font-size:1rem;margin:-1.5rem auto 2rem}}.contact{background:var(--bg-primary)}.contact-content{margin:0 auto;max-width:1200px}.contact-info-centered{text-align:center}.contact-info-title{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.contact-info-text{color:var(--text-secondary);line-height:1.8;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px}.contact-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:900px}.contact-card{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:16px;color:inherit;display:block;min-width:0;overflow:hidden;padding:2rem;text-align:center;text-decoration:none;transition:all .3s ease}.contact-card:hover{border-color:var(--accent-primary);box-shadow:0 10px 30px #7c3aed1a}.contact-card .contact-icon{align-items:center;background:var(--bg-primary);border-radius:50%;color:var(--accent-primary);display:flex;font-size:1.5rem;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.contact-card h4{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.contact-card p{color:var(--text-secondary);font-size:.95rem;margin:0;overflow-wrap:break-word;transition:color .3s ease;word-break:break-all}.contact-card:hover p{color:var(--accent-primary)}@media (max-width:768px){.contact-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.contact-card{padding:1.5rem}.contact-card .contact-icon{font-size:1.25rem;height:50px;width:50px}}.footer{background:var(--bg-secondary);margin-top:0;padding:4rem 0 2rem}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:3rem}.footer-logo{font-size:2rem;font-weight:900;margin-bottom:1rem}.footer-description{color:var(--text-secondary);line-height:1.8;max-width:300px}.footer-title{color:var(--text-primary);font-size:1.125rem;margin-bottom:1.5rem}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:var(--text-secondary);font-size:.95rem;transition:color .3s ease}.footer-links a:hover{color:var(--accent-primary)}.footer-social{display:flex;gap:1rem}.footer-social a{align-items:center;background:var(--bg-tertiary);border-radius:8px;color:var(--text-secondary);display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.footer-social a:hover{background:var(--accent-primary);color:#fff;transform:translateY(-3px)}.footer-bottom{border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:.875rem;padding-top:2rem;text-align:center}.footer-credit{margin-top:.5rem}.heart-icon{animation:heartbeat 1.5s ease-in-out infinite;color:#ef4444}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width:768px){.footer-content{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-description{margin:0 auto;max-width:100%}.footer-social{justify-content:center}.footer-section{padding:1rem 0}}
/*# sourceMappingURL=main.35743cec.css.map*/