:root{--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Poppins", sans-serif;--transition-speed: .3s;--transition-easing: cubic-bezier(.4, 0, .2, 1);--container-width: 1200px;--container-padding: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2)}[data-theme=dark]{--color-bg: #0a0a0f;--color-bg-elevated: #14141f;--color-bg-hover: #1c1c2e;--color-surface: #1a1a2e;--color-border: #2d2d44;--color-text-primary: #ffffff;--color-text-secondary: #a0a0c0;--color-text-tertiary: #6b6b8a;--color-primary: #6495ed;--color-primary-hover: #7ba8f5;--color-primary-rgb: 100, 149, 237;--color-accent: #00d4ff;--color-accent-rgb: 0, 212, 255;--canvas-opacity: .6}[data-theme=light]{--color-bg: #f8fafc;--color-bg-elevated: #ffffff;--color-bg-hover: #f1f5f9;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-rgb: 59, 130, 246;--color-accent: #0ea5e9;--color-accent-rgb: 14, 165, 233;--canvas-opacity: .15}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background-color var(--transition-speed) var(--transition-easing)}#canvas-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:var(--canvas-opacity);pointer-events:none}main{position:relative;z-index:1}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:transparent;transition:all var(--transition-speed) var(--transition-easing)}.header.scrolled{background-color:#0a0a0ff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-md)}[data-theme=light] .header.scrolled{background-color:#fffffff2}.header.hidden{transform:translateY(-100%)}.nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;gap:2rem}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-speed)}.logo:hover,.logo-dot{color:var(--color-primary)}.nav-menu{display:flex;list-style:none;gap:2rem;margin:0}.nav-link{position:relative;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color var(--transition-speed)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width var(--transition-speed)}.nav-link:hover,.nav-link.active{color:var(--color-text-primary)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--color-bg-elevated);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed)}.theme-toggle:hover{background:var(--color-bg-hover);transform:rotate(15deg)}.theme-toggle svg{position:absolute;color:var(--color-text-primary);transition:all var(--transition-speed)}[data-theme=dark] .sun-icon{opacity:0;transform:rotate(180deg) scale(0)}[data-theme=dark] .moon-icon,[data-theme=light] .sun-icon{opacity:1;transform:rotate(0) scale(1)}[data-theme=light] .moon-icon{opacity:0;transform:rotate(-180deg) scale(0)}.menu-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:8px}.menu-toggle span{width:24px;height:2px;background:var(--color-text-primary);transition:all var(--transition-speed)}.hero{min-height:100vh;display:flex;align-items:center;padding:8rem 0 4rem;position:relative}.hero-content{text-align:center;max-width:900px;margin:0 auto}.hero-badge{display:inline-block;padding:.5rem 1.5rem;background:rgba(var(--color-primary-rgb),.1);border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:50px;color:var(--color-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:2rem}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem}.gradient-text{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;color:var(--color-text-secondary);margin-bottom:1.5rem;min-height:3rem}.typing-text{color:var(--color-primary)}.typing-cursor{color:var(--color-primary);animation:blink 1s step-end infinite}.typing-cursor.typing-done{display:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-description{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.8;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--radius-md);font-weight:600;text-decoration:none;transition:all var(--transition-speed);cursor:pointer;border:none;font-size:1rem}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.4)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);transform:translateY(-2px)}.btn svg{transition:transform var(--transition-speed)}.btn:hover svg{transform:translate(4px)}.btn-block{width:100%;justify-content:center}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;max-width:600px;margin:0 auto}.stat{text-align:center}.stat-number{font-family:var(--font-heading);font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem}.stat-label{color:var(--color-text-secondary);font-size:.9rem}section{padding:6rem 0}.section-header{text-align:center;margin-bottom:4rem;max-width:700px;margin-left:auto;margin-right:auto}.section-badge{display:inline-block;padding:.4rem 1.2rem;background:rgba(var(--color-primary-rgb),.1);border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:50px;color:var(--color-primary);font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:1rem}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.section-description{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.8}.category-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem}.filter-btn{padding:.75rem 1.5rem;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:50px;font-weight:500;cursor:pointer;transition:all var(--transition-speed)}.filter-btn:hover,.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-speed)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.project-card-image{position:relative;width:100%;height:250px;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--transition-easing)}.project-card:hover .project-card-image img{transform:scale(1.1)}.project-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));display:flex;align-items:flex-end;justify-content:center;padding:2rem;opacity:0;transition:opacity var(--transition-speed)}.project-card:hover .project-card-overlay{opacity:1}.view-project-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#1a1a2e;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-speed)}.view-project-btn:hover{transform:scale(1.05);gap:.75rem}.project-card-content{padding:1.5rem}.project-card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem}.project-category{color:var(--color-primary);font-weight:600}.project-year{color:var(--color-text-tertiary)}.project-card-title{font-size:1.4rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text-primary)}.project-card-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1rem}.project-card-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-badge{padding:.25rem .75rem;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);border-radius:50px;font-size:.75rem;font-weight:500}.project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:2000;display:none;align-items:center;justify-content:center;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-overlay.active{display:flex}.project-overlay-content{position:relative;background:var(--color-bg-elevated);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border);scrollbar-width:none}.close-overlay{position:sticky;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;margin-left:auto;margin:1rem 1rem 0 auto;transition:all var(--transition-speed)}.close-overlay:hover{background:var(--color-primary);color:#fff;transform:rotate(90deg)}.project-detail{padding:2rem}.project-detail-image{width:100%;height:400px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:2rem}.project-detail-image img{width:100%;height:100%;object-fit:cover}.project-detail-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.9rem}.project-detail-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.project-detail-description{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.8;margin-bottom:2rem}.project-technologies{margin-bottom:2rem}.project-technologies h3{font-size:1.2rem;margin-bottom:1rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag{padding:.5rem 1rem;background:rgba(var(--color-primary-rgb),.1);border:1px solid rgba(var(--color-primary-rgb),.3);color:var(--color-primary);border-radius:var(--radius-md);font-weight:500}.project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:all var(--transition-speed)}.project-link:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.4)}.about{background:var(--color-bg-elevated)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text p{margin:1rem 0;color:var(--color-text-secondary);line-height:1.8}.skills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.skill-tag{padding:.75rem 1.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-speed)}.skill-tag:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}.about-image-wrapper{width:100%;height:500px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-image-wrapper img{width:100%;height:100%;object-fit:cover}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto}.contact-description{color:var(--color-text-secondary);line-height:1.8;margin-bottom:2rem}.contact-methods{display:flex;flex-direction:column;gap:1rem}.contact-method{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-primary);transition:all var(--transition-speed)}.contact-method:hover{background:var(--color-bg-hover);transform:translate(8px)}.contact-method svg{color:var(--color-primary);flex-shrink:0}.method-label{font-size:.85rem;color:var(--color-text-tertiary)}.method-value{font-weight:600}.contact-form{background:var(--color-bg-elevated);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:1rem;transition:all var(--transition-speed)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group textarea{resize:vertical;min-height:120px}.footer{background:var(--color-bg-elevated);padding:3rem 0;border-top:1px solid var(--color-border)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-speed)}.footer-links a:hover{color:var(--color-primary)}.animate{opacity:0}.animate-in{animation:fadeInUp .6s var(--transition-easing) forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-child{opacity:0}.animate-child.animate-in{animation:fadeInUp .6s var(--transition-easing) forwards}@media (max-width: 768px){.nav-menu{position:fixed;top:80px;left:0;width:100%;background:var(--color-bg-elevated);flex-direction:column;padding:2rem;gap:1rem;transform:translate(-100%);transition:transform var(--transition-speed);border-bottom:1px solid var(--color-border)}.menu-open .nav-menu{transform:translate(0)}.menu-toggle{display:flex}.menu-open .menu-toggle span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.hero{padding:6rem 0 3rem}.hero-stats,.projects-grid{grid-template-columns:1fr}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem}.about-image-wrapper{height:350px}.section-header{margin-bottom:2rem}section{padding:4rem 0}}@media (max-width: 480px){:root{--container-padding: 1rem}.hero-title{font-size:2rem}.hero-actions{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}.project-detail{padding:1rem}.project-detail-image{height:250px}}
