*{margin:0;padding:0;box-sizing:border-box;}:root{--primary:#14b8a6;--primary-dark:#0d9488;--primary-light:#5eead4;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#71717a;--bg-primary:#ffffff;--bg-secondary:#fafafa;--bg-accent:#f4f4f5;--border:#e4e4e7;--shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);}.dark{--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--bg-primary:#18181b;--bg-secondary:#09090b;--bg-accent:#27272a;--border:#3f3f46;--shadow:0 1px 3px 0 rgb(0 0 0 / 0.3),0 1px 2px -1px rgb(0 0 0 / 0.3);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.3),0 4px 6px -4px rgb(0 0 0 / 0.3);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.3),0 8px 10px -6px rgb(0 0 0 / 0.3);}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);transition:background-color 0.3s ease,color 0.3s ease;padding-top:80px;}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem;}.theme-toggle{top:1rem;right:1rem;z-index:100;background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:9999px;padding:0.75rem;cursor:pointer;box-shadow:var(--shadow-lg);transition:all 0.2s;display:flex;align-items:center;justify-content:center;width:48px;height:48px;}.dark .theme-toggle{background:rgba(24,24,27,0.9);}.theme-toggle:hover{transform:scale(1.05);box-shadow:var(--shadow-xl);}.theme-toggle svg{width:24px;height:24px;stroke:var(--text-primary);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}.sun-icon{display:none;}.dark .sun-icon{display:block;}.dark .moon-icon{display:none;}.main-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:all 0.3s ease;}.dark .main-nav{background:rgba(9,9,11,0.9);}.nav-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;}.nav-logo{display:flex;align-items:center;text-decoration:none;font-weight:700;font-size:1.25rem;color:var(--text-primary);}.nav-logo-text{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;}.nav-links{display:flex;gap:2rem;align-items:center;}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:0.9375rem;transition:color 0.2s;position:relative;}.nav-link:hover{color:var(--primary);}.nav-link.active{color:var(--primary);}.nav-link.active::after{content:'';position:absolute;bottom:-0.5rem;left:0;right:0;height:2px;background:var(--primary);}.nav-actions{display:flex;gap:1rem;}.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 1.75rem;background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--primary);text-decoration:none;border-radius:0.75rem;border:1px solid var(--border);font-weight:600;font-size:0.9375rem;transition:all 0.2s;box-shadow:var(--shadow);cursor:pointer;}.dark .btn{background:rgba(39,39,42,0.9);}.btn:hover{background:var(--primary);color:white;transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary);}.btn-primary{background:var(--primary);color:white;border-color:var(--primary);}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);}.btn-secondary{background:var(--bg-accent);color:var(--text-primary);border-color:var(--border);}.btn-secondary:hover{background:var(--text-primary);color:white;border-color:var(--text-primary);}.btn-sm{padding:0.625rem 1.25rem;font-size:0.875rem;}.btn-lg{padding:1rem 2rem;font-size:1.0625rem;}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2;}h1{font-size:3rem;font-weight:800;letter-spacing:-0.025em;}h2{font-size:2.25rem;font-weight:800;letter-spacing:-0.025em;}h3{font-size:1.5rem;}h4{font-size:1.25rem;}p{color:var(--text-secondary);line-height:1.75;}.text-center{text-align:center;}.hero-section{position:relative;min-height:600px;display:flex;align-items:center;margin-bottom:4rem;overflow:hidden;}.hero-background{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);opacity:0.1;}.dark .hero-background{opacity:0.2;}.hero-content{position:relative;z-index:1;width:100%;padding:4rem 0;}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}.hero-title{font-size:3.5rem;margin-bottom:1rem;}.hero-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:500;}.hero-bio{font-size:1.125rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.75;}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}.hero-image-container{display:flex;justify-content:center;align-items:center;}.hero-image{width:400px;height:400px;border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow-xl);border:4px solid var(--bg-primary);transform:rotate(3deg);transition:transform 0.3s ease;}.hero-image:hover{transform:rotate(0deg) scale(1.02);}.hero-image img{width:100%;height:100%;object-fit:cover;}.overview-section{padding:4rem 0;background:var(--bg-primary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}.overview-card{text-align:center;padding:2rem;}.overview-icon{font-size:3rem;margin-bottom:1rem;}.overview-card h3{font-size:1.5rem;margin-bottom:0.75rem;color:var(--text-primary);}.overview-card p{color:var(--text-secondary);font-size:1rem;}.featured-section{padding:5rem 0;}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem;}.featured-card{background:var(--bg-primary);border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:all 0.3s ease;text-decoration:none;display:block;}.featured-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);}.featured-image{width:100%;height:250px;display:flex;align-items:center;justify-content:center;position:relative;}.featured-emoji{font-size:5rem;position:relative;z-index:1;}.featured-content{padding:2rem;}.featured-content h3{font-size:1.5rem;margin-bottom:0.75rem;color:var(--text-primary);}.featured-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.7;}.featured-link{color:var(--primary);font-weight:600;font-size:0.9375rem;}.cta-section{padding:5rem 0;background:var(--bg-primary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}.cta-content{text-align:center;max-width:600px;margin:0 auto;}.cta-content h2{margin-bottom:1rem;}.cta-content p{font-size:1.125rem;margin-bottom:2rem;}.page-header{background:var(--bg-primary);border-bottom:1px solid var(--border);padding:4rem 0 3rem;margin-bottom:4rem;text-align:center;}.page-title{font-size:3rem;margin-bottom:1rem;}.page-subtitle{font-size:1.25rem;color:var(--text-secondary);font-weight:500;}.about-section{padding:4rem 0 6rem;}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem;}.about-content{max-width:800px;}.prose{font-size:1.0625rem;line-height:1.8;}.prose h2{font-size:2rem;margin-bottom:1.5rem;margin-top:2rem;}.prose h2:first-child{margin-top:0;}.prose p{margin-bottom:1.5rem;}.about-links{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--border);}.about-links h3{font-size:1.125rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary);}.social-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.875rem;}.social-list li{margin-bottom:0;}.social-link{display:flex;align-items:center;gap:0.875rem;padding:0.875rem 1rem;background:var(--bg-accent);border-radius:0.625rem;text-decoration:none;color:var(--text-primary);font-weight:500;font-size:0.9375rem;transition:all 0.2s;border:1px solid var(--border);}.social-link:hover{background:var(--primary);color:white;border-color:var(--primary);transform:translateX(4px);}.social-link-email{border-top:none;margin-top:0;padding-top:0;}.social-icon{width:24px;height:24px;flex-shrink:0;}.about-sidebar{position:sticky;top:100px;height:fit-content;display:flex;flex-direction:column;}.portrait-container{margin-bottom:2rem;flex-shrink:0;}.portrait-image{width:100%;border-radius:1.5rem;box-shadow:var(--shadow-xl);transform:rotate(3deg);transition:transform 0.3s ease;display:block;}.portrait-image:hover{transform:rotate(0deg);}.about-stats{background:var(--bg-primary);border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow);border:1px solid var(--border);}.stat-item{text-align:center;padding:1rem 0;}.stat-item:not(:last-child){border-bottom:1px solid var(--border);}.stat-value{font-size:2.5rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:0.5rem;}.stat-label{font-size:0.875rem;color:var(--text-muted);font-weight:500;}.skills-summary{background:var(--bg-primary);border-radius:1rem;padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border);}.skills-summary h3{font-size:1.125rem;margin-bottom:1.25rem;}.skill-list{display:flex;flex-wrap:wrap;gap:0.5rem;}.skill-badge{background:var(--bg-accent);color:var(--text-secondary);padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.875rem;font-weight:600;border:1px solid var(--border);}.projects-section{padding:4rem 0 4rem;}.projects-detailed-grid{display:grid;gap:3rem;}.project-detailed-card{background:var(--bg-primary);border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:all 0.3s ease;}.project-detailed-card:hover{box-shadow:var(--shadow-xl);}.project-card-highlight{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:white;}.project-card-highlight .project-detailed-content{padding:3rem;}.project-card-highlight h2,.project-card-highlight p{color:white;}.project-detailed-image{width:100%;height:300px;display:flex;align-items:center;justify-content:center;position:relative;}.project-emoji{font-size:6rem;position:relative;z-index:1;}.project-detailed-content{padding:2.5rem;}.project-header{margin-bottom:1.5rem;}.project-header h2{font-size:2rem;margin-bottom:1rem;}.project-tags{display:flex;flex-wrap:wrap;gap:0.5rem;}.project-tag{background:var(--bg-accent);color:var(--text-secondary);padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.875rem;font-weight:600;border:1px solid var(--border);}.project-description{font-size:1.0625rem;line-height:1.8;margin-bottom:2rem;}.project-features{margin-bottom:2rem;}.project-features h4{font-size:1.125rem;margin-bottom:1rem;color:var(--text-primary);}.project-features ul{list-style:none;padding:0;}.project-features li{padding-left:1.75rem;margin-bottom:0.75rem;position:relative;color:var(--text-secondary);line-height:1.6;}.project-features li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:bold;font-size:1.125rem;}.project-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}.project-note{color:var(--text-muted);font-size:0.9375rem;font-style:italic;}.technologies-section{padding:5rem 0;background:var(--bg-primary);border-top:1px solid var(--border);}.section-title{font-size:2.25rem;font-weight:800;margin-bottom:3rem;text-align:center;color:var(--text-primary);letter-spacing:-0.025em;}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}.skill-category{background:var(--bg-secondary);padding:2rem;border-radius:1rem;box-shadow:var(--shadow);border:1px solid var(--border);transition:all 0.3s ease;position:relative;overflow:hidden;}.skill-category::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform:scaleX(0);transition:transform 0.3s ease;}.skill-category:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.skill-category:hover::before{transform:scaleX(1);}.skill-category h3{font-size:1.375rem;margin-bottom:1.25rem;color:var(--primary);font-weight:700;}.skill-tags{display:flex;flex-wrap:wrap;gap:0.625rem;}.tag{background:var(--bg-primary);color:var(--text-secondary);padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.875rem;font-weight:600;border:1px solid var(--border);transition:all 0.2s ease;}.tag:hover{background:var(--primary);color:white;border-color:var(--primary);transform:translateY(-2px);}.timeline-section{padding:5rem 0;}.timeline{max-width:900px;margin:0 auto;position:relative;}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--border);}.timeline-item{background:var(--bg-primary);padding:2rem;border-radius:1rem;margin-bottom:2rem;margin-left:2rem;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;transition:all 0.3s ease;}.timeline-item::before{content:'';position:absolute;left:-2.8rem;top:2rem;width:1rem;height:1rem;border-radius:50%;background:var(--primary);border:3px solid var(--bg-primary);box-shadow:0 0 0 3px var(--border);}.timeline-item:hover{transform:translateX(4px);box-shadow:var(--shadow-lg);}.timeline-item h3{font-size:1.5rem;margin-bottom:0.5rem;color:var(--text-primary);font-weight:700;}.timeline-item .company{color:var(--primary);font-weight:700;margin-bottom:0.5rem;font-size:1.125rem;}.timeline-item .date{color:var(--text-muted);font-size:0.9375rem;margin-bottom:1.25rem;font-weight:500;}.timeline-item ul{list-style:none;padding-left:0;}.timeline-item li{padding-left:1.75rem;margin-bottom:0.75rem;position:relative;color:var(--text-secondary);line-height:1.6;}.timeline-item li:before{content:"→";position:absolute;left:0;color:var(--primary);font-weight:bold;font-size:1.125rem;}.main-footer{background:var(--bg-primary);border-top:1px solid var(--border);padding:4rem 0 2rem;margin-top:6rem;}.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-bottom:3rem;}.footer-section h3{font-size:1.25rem;margin-bottom:0.5rem;}.footer-section h4{font-size:1rem;margin-bottom:1rem;color:var(--text-primary);}.footer-section p{color:var(--text-muted);font-size:0.9375rem;}.footer-links{list-style:none;padding:0;}.footer-links li{margin-bottom:0.75rem;}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:0.9375rem;transition:color 0.2s;}.footer-links a:hover{color:var(--primary);}.footer-bottom{padding-top:2rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:0.875rem;}@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:3rem;}.hero-image{width:100%;max-width:400px;height:400px;}.about-grid{grid-template-columns:1fr;gap:3rem;}.about-sidebar{position:static;}.portrait-container{max-width:400px;margin:0 auto 2rem;}}@media (max-width:768px){body{padding-top:70px;}.theme-toggle{top:1rem;right:1rem;width:44px;height:44px;}.nav-content{flex-wrap:wrap;}.nav-links{order:3;width:100%;justify-content:center;gap:1.5rem;padding-top:1rem;}.nav-actions{margin-left:auto;}h1,.hero-title,.page-title{font-size:2.25rem;}h2{font-size:1.875rem;}.hero-section{min-height:auto;}.hero-image{width:100%;height:300px;}.hero-actions{flex-direction:column;}.hero-actions .btn{width:100%;justify-content:center;}.overview-grid{grid-template-columns:1fr;gap:2rem;}.featured-grid{grid-template-columns:1fr;}.timeline::before{display:none;}.timeline-item{margin-left:0;}.timeline-item::before{display:none;}.footer-content{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;gap:0.5rem;text-align:center;}.project-detailed-image{height:200px;}.project-emoji{font-size:4rem;}}@media (max-width:480px){.container{padding:0 1rem;}h1,.hero-title,.page-title{font-size:1.875rem;}.btn{padding:0.75rem 1.25rem;font-size:0.875rem;}.nav-links{gap:1rem;}.nav-link{font-size:0.875rem;}}.timeline-section{padding:4rem 0;background:var(--bg-primary);}.timeline{position:relative;max-width:800px;margin:0 auto;}.timeline-item{position:relative;padding:2rem;margin-bottom:2rem;background:var(--bg-secondary);border-radius:1rem;border-left:4px solid var(--primary);box-shadow:var(--shadow);transition:all 0.3s ease;}.timeline-item:hover{transform:translateX(4px);box-shadow:var(--shadow-lg);}.timeline-item h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:0.5rem;}.timeline-item .company{font-size:1rem;color:var(--primary);font-weight:600;margin-bottom:0.25rem;}.timeline-item .date{font-size:0.875rem;color:var(--text-secondary);margin-bottom:1rem;}.timeline-item ul{list-style:none;padding:0;margin:0;}.timeline-item li{position:relative;padding-left:1.5rem;margin-bottom:0.75rem;color:var(--text-secondary);line-height:1.6;}.timeline-item li:before{content:"→";position:absolute;left:0;color:var(--primary);font-weight:bold;}.education-section{padding:4rem 0;background:var(--bg-secondary);border-top:1px solid var(--border);}.skills-section{padding:4rem 0;background:var(--bg-primary);border-top:1px solid var(--border);}.resume-section{padding:4rem 0;background:var(--bg-secondary);border-top:1px solid var(--border);}.resume-card{max-width:600px;margin:0 auto;padding:3rem;background:var(--bg-primary);border-radius:1rem;border:2px solid var(--primary);text-align:center;box-shadow:var(--shadow-lg);}.resume-card h2{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;}.resume-card p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6;}.resume-note{font-size:0.875rem;color:var(--text-muted);font-style:italic;margin-top:1.5rem;}@media (max-width:768px){.resume-card{padding:2rem;}.resume-card h2{font-size:1.5rem;}}