@layer reset,base,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none;padding:0}}@layer base{:root{--color-primary: #6366f1;--color-primary-light: #a5b4fc;--color-primary-dark: #4f46e5;--color-secondary: #06b6d4;--color-accent: #f59e0b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-white: #111827;--color-gray-50: #1f2937;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-300: #6b7280;--color-gray-400: #9ca3af;--color-gray-500: #d1d5db;--color-gray-600: #e5e7eb;--color-gray-700: #f3f4f6;--color-gray-800: #f9fafb;--color-gray-900: #ffffff;--font-family-base: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--space-32: 8rem;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--container-max-width: 1200px;--section-padding-block: var(--space-20);--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--accent-50: #f5f3ff;--accent-100: #ede9fe;--accent-200: #ddd6fe;--accent-300: #c4b5fd;--accent-400: #a78bfa;--accent-500: #8b5cf6;--accent-600: #7c3aed;--accent-700: #6d28d9;--accent-800: #5b21b6;--accent-900: #4c1d95;--success-500: #10b981;--warning-500: #f59e0b;--error-500: #ef4444;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-400: #9ca3af;--neutral-500: #6b7280;--neutral-600: #4b5563;--neutral-700: #374151;--neutral-800: #1f2937;--neutral-900: #111827;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}html{scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--color-gray-800);background-color:var(--color-white)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-gray-900);font-family:var(--font-heading)}h1{font-size:var(--font-size-4xl);font-weight:800;color:var(--neutral-900)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}a{color:#fff;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#e0ffff}.container{max-inline-size:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-6)}section{padding-block:var(--section-padding-block)}}@layer components{.site-header{position:fixed;inset-block-start:0;inset-inline:0;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-end:1px solid var(--color-gray-200);z-index:1000}.site-header .nav-container{max-inline-size:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-6);padding-block:var(--space-4);display:flex;justify-content:space-between;align-items:center}.site-header .nav-container .nav-brand h1{font-size:var(--font-size-2xl);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:var(--font-weight-bold)}.site-header .nav-container .nav-menu{display:flex;gap:var(--space-6)}.site-header .nav-container .nav-menu a{font-weight:var(--font-weight-medium);position:relative}.site-header .nav-container .nav-menu a:after{content:"";position:absolute;inset-block-end:-2px;inset-inline-start:0;inline-size:0;block-size:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:inline-size var(--transition-base)}.site-header .nav-container .nav-menu a:hover:after{inline-size:100%}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.section-header{text-align:center;margin-block-end:var(--space-16)}.section-header h2{margin-block-end:var(--space-4);position:relative}.section-header h2:after{content:"";position:absolute;inset-block-end:-var(--space-2);inset-inline-start:50%;transform:translate(-50%);inline-size:60px;block-size:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full)}.section-header p{font-size:var(--font-size-lg);color:var(--color-gray-600)}.header{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--neutral-200);z-index:1000;transition:all var(--transition-normal)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;height:70px}.nav-container .menu-toggle{display:none}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--primary-600);transition:color var(--transition-fast)}.logo:hover{color:var(--accent-600)}.logo-text{background:linear-gradient(135deg,var(--primary-600),var(--accent-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;list-style:none;gap:var(--space-8);align-items:center}.nav-links a{font-weight:500;color:var(--neutral-700);transition:color var(--transition-fast);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(135deg,var(--primary-500),var(--accent-500));transition:width var(--transition-normal)}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--primary-600)}.hero{min-height:50dvh;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-primary-light) 25%,var(--color-secondary) 75%,var(--color-accent) 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding-block-start:var(--space-32)}.hero-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;position:relative;z-index:1}.hero-title{font-size:4rem;margin-bottom:var(--space-4);line-height:1.1}.highlight{background:linear-gradient(135deg,var(--primary-600),var(--accent-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.5rem;color:var(--neutral-900);margin-bottom:0;font-weight:500}.hero-subtitle+p{color:var(--neutral-900);margin-bottom:var(--space-4)}.hero-description{font-size:1.125rem;margin-bottom:var(--space-8);color:var(--neutral-900);max-width:500px}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-8);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:all var(--transition-base);cursor:pointer;border:none;font-size:var(--font-size-base);text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--color-secondary),var(--color-primary-dark))}.btn.btn-secondary{background:transparent;color:var(--color-white);border:2px solid var(--color-primary)}.btn.btn-secondary:hover{background:linear-gradient(135deg,var(--color-secondary),var(--color-primary-dark));color:#fff;transform:translateY(-2px)}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-card{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;transform:rotate(3deg);transition:transform var(--transition-slow)}.hero-card:hover{transform:rotate(0) scale(1.05)}.code-snippet{padding:0;font-family:Fira Code,Monaco,Cascadia Code,monospace}.code-header{background:var(--neutral-800);color:#fff;padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between}.code-dots{display:flex;gap:var(--space-2)}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27ca3f}.code-title{font-size:.875rem;color:var(--neutral-300)}.code-content{padding:var(--space-6);background:var(--neutral-900);color:var(--neutral-200);font-size:.875rem;line-height:1.6}.keyword{color:#c792ea}.variable{color:#82aaff}.property{color:#ffcb6b}.string{color:#c3e88d}.about{background:var(--color-gray-50)}.about .about-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-16);align-items:start}.about .about-content .about-text p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-block-end:var(--space-6);color:var(--color-gray-700)}.about .about-content .about-text blockquote{border-inline-start:4px solid var(--color-primary);padding-inline-start:var(--space-6);margin-block:var(--space-8);font-style:italic;font-size:var(--font-size-xl);color:var(--color-gray-600)}.about .about-content .about-stats{display:flex;flex-direction:column;gap:var(--space-6)}.about .about-content .about-stats .stat-item{text-align:center;padding:var(--space-6);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);display:flex;flex-direction:column-reverse}.about .about-content .about-stats .stat-item .stat-number{display:block;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-block-end:var(--space-2)}.about .about-content .about-stats .stat-item .stat-label{font-size:var(--font-size-sm);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em}.skills .skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8)}.skills .skills-grid .skill-category{background:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);text-align:center;transition:transform var(--transition-base)}.skills .skills-grid .skill-category:hover{transform:translateY(-4px)}.skills .skills-grid .skill-category .skill-icon{font-size:var(--font-size-4xl);margin-block-end:var(--space-4)}.skills .skills-grid .skill-category h3{margin-block-end:var(--space-6);color:var(--color-gray-900)}.skills .skills-grid .skill-category .skill-list{text-align:left}.skills .skills-grid .skill-category .skill-list li{padding:var(--space-2) 0;border-block-end:1px solid var(--color-gray-200);color:var(--color-gray-700)}.skills .skills-grid .skill-category .skill-list li:last-child{border-block-end:none}.projects{background:var(--color-gray-50)}.projects .projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-8)}.projects .projects-grid .project-card{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-base);transition:transform var(--transition-base)}.projects .projects-grid .project-card:hover{box-shadow:var(--shadow-xl)}.projects .projects-grid .project-card .project-image{block-size:200px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary));overflow:hidden}.projects .projects-grid .project-card .project-image img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform var(--transition-base)}.projects .projects-grid .project-card .project-image:hover img{transform:scale(1.05)}.projects .projects-grid .project-card .project-image .project-placeholder{block-size:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-5xl)}.projects .projects-grid .project-card .project-content{padding:var(--space-6)}.projects .projects-grid .project-card .project-content h3{margin-block-end:var(--space-3)}.projects .projects-grid .project-card .project-content p{color:var(--color-gray-600);line-height:var(--line-height-relaxed);margin-block-end:var(--space-4)}.projects .projects-grid .project-card .project-content .project-tech{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-end:var(--space-6)}.projects .projects-grid .project-card .project-content .project-tech .tech-tag{background:var(--color-primary-light);color:#292929;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.projects .projects-grid .project-card .project-content .project-links{display:flex;gap:var(--space-4)}.projects .projects-grid .project-card .project-content .project-links .project-link{color:#fff;font-weight:var(--font-weight-medium);text-decoration:underline;text-underline-offset:4px}.projects .projects-grid .project-card .project-content .project-links .project-link:hover{color:#c2c2c2}.contact .contact-content{display:flex;justify-content:center;text-align:center}.contact .contact-content .contact-info{max-width:600px}.contact .contact-content .contact-info h3{margin-block-end:var(--space-4)}.contact .contact-content .contact-info a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:3px}.contact .contact-content .contact-info p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-gray-700);margin-block-end:var(--space-8)}.contact .contact-content .contact-info .contact-details{font-style:normal;display:inline-flex;flex-direction:column;align-items:flex-start}.contact .contact-content .contact-info .contact-details .contact-item{display:flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-4)}.contact .contact-content .contact-info .contact-details .contact-item .contact-label{font-weight:var(--font-weight-medium);color:var(--color-gray-900);min-inline-size:80px;text-align:left}.site-footer{background:var(--color-gray-50);color:#fff;padding-block:var(--space-16)}.site-footer .footer-content{display:flex;justify-content:space-between;align-items:center;margin-block-end:var(--space-8)}.site-footer .footer-content .footer-brand h3{color:#fff;margin-block-end:var(--space-2)}.site-footer .footer-content .footer-brand p{color:#fff}.site-footer .footer-content .footer-nav ul{display:flex;gap:var(--space-6)}.site-footer .footer-content .footer-nav ul a{color:#fff}.site-footer .footer-content .footer-nav ul a:hover{color:#e0ffff;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:4px}.site-footer .footer-bottom{padding-block-start:var(--space-8);border-block-start:1px solid var(--color-gray-800);text-align:center;color:#fff}}@layer utilities{@media (max-width: 768px){:root{--section-padding-block: var(--space-16)}.menu-toggle{display:block}.hero .hero-content{grid-template-columns:1fr;gap:var(--space-12);text-align:center}.hero .hero-content .hero-visual{order:-1}.hero .hero-content .hero-title{font-size:var(--font-size-4xl)}.hero .hero-content .hero-actions{justify-content:center}.site-header .nav-container .nav-menu{display:none}.about .about-content{grid-template-columns:1fr;gap:var(--space-8)}.about .about-content .about-stats{flex-direction:row;justify-content:space-around}.skills .skills-grid,.projects .projects-grid{grid-template-columns:1fr}.contact .contact-content{grid-template-columns:1fr;gap:var(--space-12)}.site-footer .footer-content{flex-direction:column;gap:var(--space-6);text-align:center}}@media (max-width: 480px){.container,.hero .hero-content,.site-header .nav-container{padding-inline:var(--space-4)}.hero-actions{flex-direction:column;align-items:center}.about-stats{flex-direction:column!important}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.skip-link{position:absolute;inset-block-start:-40px;inset-inline-start:6px;background:var(--color-primary);color:var(--color-white);padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:var(--radius-base);z-index:1000}.skip-link:focus{inset-block-start:6px}}@media (max-width: 768px){:root{--space-16: 3rem;--space-20: 4rem;--space-24: 5rem}h1{font-size:2.5rem}h2{font-size:2rem}.nav-links{display:none}.nav-links.active{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:#fffffff2;padding:var(--space-4);border-top:1px solid var(--color-gray-200);z-index:1000;background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-primary-light) 25%,var(--color-secondary) 75%,var(--color-accent) 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite}.nav-links.active a{padding:var(--space-2) 0;font-size:var(--font-size-lg);color:var(--color-gray-100);transition:color var(--transition-fast);font-weight:var(--font-weight-bold)}.nav-links.active a:hover{color:var(--color-gray-900)}.nav-links.active .menu--toggle{display:block}.hero-container{grid-template-columns:1fr;gap:var(--space-12);text-align:center}.hero-title{font-size:3rem}.hero-visual{order:-1}.about-content{grid-template-columns:1fr;gap:var(--space-12)}.about-stats{flex-direction:row;justify-content:space-around}.stat-item{padding:var(--space-4);min-width:100px}.stat-number{font-size:1.5rem}.skills-grid,.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center}.contact-link{justify-content:center;min-width:200px}}@media (max-width: 480px){.container,.nav-container{padding:0 var(--space-4)}.hero-title{font-size:2.25rem}.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;justify-content:center;max-width:300px}.btn.menu-toggle{max-width:fit-content;padding:var(--space-2) var(--space-4)}.skills-grid{grid-template-columns:1fr}.skill-card{padding:var(--space-6)}.project-card{margin:0 var(--space-2)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
