@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--secondary-color: #8b5cf6;--accent-color: #06b6d4;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--black: #000000;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-hover: 0 10px 25px -5px rgba(0, 0, 0, .15);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease-out}.loading-content{text-align:center}.loading-logo{font-size:4rem;margin-bottom:var(--spacing-lg);animation:pulse 2s infinite}.loading-text{font-size:1.2rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-weight:500}.loading-bar{width:200px;height:4px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin:0 auto}.loading-progress{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-full);animation:loading 2s ease-in-out infinite}@keyframes loading{0%{width:0%}50%{width:70%}to{width:100%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.navbar{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);z-index:1000;transition:all var(--transition-normal)}.navbar.scrolled{background:rgba(255,255,255,.98);box-shadow:var(--shadow-sm)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:70px}.nav-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:700;font-size:1.25rem;color:var(--text-primary);text-decoration:none;transition:var(--transition-fast)}.nav-logo:hover{color:var(--primary-color)}.logo-icon{font-size:1.5rem}.nav-menu{display:flex;gap:var(--spacing-2xl)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:all var(--transition-fast);position:relative;padding:var(--spacing-sm) 0}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary-color);transition:width var(--transition-fast);border-radius:var(--radius-full)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px;padding:var(--spacing-sm)}.bar{width:25px;height:2px;background:var(--text-primary);transition:all var(--transition-fast);border-radius:var(--radius-full)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.section-header{text-align:center;margin-bottom:var(--spacing-4xl)}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary);position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-full)}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;font-weight:400}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-color);color:var(--white);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--text-secondary);border:2px solid var(--border-color)}.btn-outline:hover{background:var(--text-secondary);color:var(--white);border-color:var(--text-secondary);transform:translateY(-2px)}.hero-about{position:relative}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:var(--spacing-4xl) 0;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.about-section{display:none;padding:var(--spacing-4xl) 0;background:var(--bg-secondary)}.welcome-banner{position:absolute;top:100px;left:0;right:0;overflow:hidden;background:var(--primary-color);color:var(--white);padding:var(--spacing-sm) 0;z-index:10}.welcome-text{display:flex;animation:scroll-text 20s linear infinite;white-space:nowrap;font-weight:500;font-size:.9rem}.welcome-text span{margin-right:var(--spacing-3xl);flex-shrink:0}@keyframes scroll-text{0%{transform:translate(100%)}to{transform:translate(-100%)}}.hero-content{max-width:1200px;width:100%;padding:0 var(--spacing-lg);display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-3xl)}.hero-main{text-align:center;max-width:600px}.profile-section{margin-bottom:var(--spacing-3xl)}.profile-avatar{width:120px;height:120px;margin:0 auto var(--spacing-xl);border-radius:var(--radius-full);overflow:hidden;border:4px solid var(--white);box-shadow:var(--shadow-lg);transition:all var(--transition-normal)}.profile-avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-hover)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{text-align:center}.profile-name{font-size:3rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary);line-height:1.2}.name-highlight{color:var(--primary-color);position:relative}.cursor-blink{color:var(--primary-color);animation:blink 1s infinite;font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.profile-title{font-size:1.5rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-weight:400}.typing-text{color:var(--primary-color);font-weight:600;position:relative}.typing-text:after{content:"";position:absolute;right:-2px;top:0;bottom:0;width:2px;background:var(--primary-color);animation:blink 1s infinite}.social-links{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.social-link{width:50px;height:50px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-size:1.25rem;box-shadow:var(--shadow-card)}.social-link:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);transform:translateY(-3px);box-shadow:var(--shadow-hover)}.hero-buttons{margin-top:12px;display:flex;justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);animation:bounce 2s infinite}.scroll-arrow{color:var(--text-muted);font-size:1.5rem;cursor:pointer;transition:color var(--transition-fast)}.scroll-arrow:hover{color:var(--primary-color)}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.about{padding:var(--spacing-4xl) 0;background:var(--bg-secondary)}.about-content{display:grid;gap:var(--spacing-4xl)}.site-story{display:grid;gap:var(--spacing-3xl)}.story-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-xl)}.story-card{background:var(--bg-card);padding:var(--spacing-2xl);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:all var(--transition-normal);position:relative;overflow:hidden}.story-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));transform:scaleX(0);transition:transform var(--transition-normal)}.story-card:hover:before{transform:scaleX(1)}.story-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--primary-color)}.story-icon{width:70px;height:70px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xl);font-size:1.75rem;color:var(--white);box-shadow:var(--shadow-md)}.story-content h3{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary)}.story-content p{color:var(--text-secondary);line-height:1.7;font-size:1rem}.core-values{background:var(--bg-card);padding:var(--spacing-2xl);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);text-align:center}.core-values h4{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl)}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.value-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.value-item:hover{background:var(--primary-color);color:var(--white);transform:translateY(-5px);box-shadow:var(--shadow-md)}.value-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.value-item span{font-weight:600;font-size:1rem}.tech-role-section{display:flex;justify-content:center}.role-card{background:var(--bg-card);padding:var(--spacing-2xl);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);max-width:600px;width:100%}.role-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.role-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--white);box-shadow:var(--shadow-md)}.role-info h4{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.role-info p{color:var(--text-secondary);font-size:1rem}.role-skills{display:grid;gap:var(--spacing-lg)}.skill-category h5{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.skill-tag{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.skill-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-2xl)}.stat-item{text-align:center;padding:var(--spacing-2xl);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));transform:scaleX(0);transition:transform var(--transition-normal)}.stat-item:hover:before{transform:scaleX(1)}.stat-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--primary-color)}.stat-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);display:block}.stat-number{font-size:3rem;font-weight:800;color:var(--primary-color);margin-bottom:var(--spacing-sm);display:block}.stat-label{color:var(--text-secondary);font-weight:600;font-size:1rem}.projects{padding:var(--spacing-3xl) 0}.filter-buttons{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-3xl);flex-wrap:wrap}.filter-btn{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-secondary);border:2px solid var(--gray-600);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.filter-btn:hover,.filter-btn.active{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.projects-grid{display:flex;flex-direction:column;gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl)}.project-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:all var(--transition-normal);position:relative;display:grid;grid-template-columns:300px 1fr;min-height:200px;opacity:0;transform:translateY(30px);animation:slideInUp .6s ease-out forwards}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));transform:scaleX(0);transition:transform var(--transition-normal)}.project-card:hover:before{transform:scaleX(1)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--primary-color)}.project-image{position:relative;overflow:hidden;background:var(--bg-secondary)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-image img{transform:scale(1.05)}.project-status{position:absolute;top:var(--spacing-md);left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.project-status.completed{background:var(--success-color);color:var(--white)}.project-status.in-progress{background:var(--warning-color);color:var(--white)}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(59,130,246,.9),rgba(139,92,246,.9));opacity:0;transition:opacity var(--transition-normal);display:flex;align-items:center;justify-content:center}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:var(--spacing-lg)}.project-link{width:50px;height:50px;background:rgba(255,255,255,.2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--white);text-decoration:none;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.project-link:hover{background:rgba(255,255,255,.3);transform:scale(1.1);border-color:var(--white)}.project-content{padding:var(--spacing-2xl);display:flex;flex-direction:column;justify-content:space-between}.project-header{margin-bottom:var(--spacing-lg)}.project-category{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:var(--white);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.project-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary);line-height:1.3}.project-description{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--spacing-xl);font-size:1rem}.project-meta{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tech-tag{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:1px solid var(--border-color);transition:all var(--transition-fast)}.tech-tag:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);transform:translateY(-2px)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.project-tag{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.project-date{color:var(--text-muted);font-size:.875rem;font-weight:500}.project-tags{margin-bottom:var(--spacing-lg)}.tags-label{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-weight:600;color:var(--text-primary);font-size:.9rem}.tags-label i{color:var(--primary-color)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.project-tag{padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:var(--white);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.project-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-actions{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.action-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:.9rem;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.action-btn:hover:before{left:100%}.action-btn.primary{background:var(--primary-color);color:var(--white);box-shadow:var(--shadow-md)}.action-btn.primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.action-btn.secondary{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.action-btn.secondary:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px)}.project-category{display:inline-flex!important;align-items:center!important;gap:var(--spacing-sm)!important}.project-category i{font-size:1rem}.project-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.project-modal.active{opacity:1;visibility:visible}.project-modal-content{background:var(--bg-card);border-radius:var(--radius-xl);max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);transform:scale(.8);transition:transform var(--transition-normal)}.project-modal.active .project-modal-content{transform:scale(1)}.project-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.project-modal-header h2{color:var(--text-primary);font-weight:700;font-size:1.75rem;margin:0}.project-modal-body{padding:var(--spacing-xl)}.project-modal-image{margin-bottom:var(--spacing-xl);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.project-modal-image img{width:100%;height:auto;display:block}.project-modal-category{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:var(--white);border-radius:var(--radius-full);font-size:.9rem;font-weight:600;margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.project-modal-description{color:var(--text-secondary);line-height:1.8;font-size:1.1rem;margin-bottom:var(--spacing-xl)}.project-modal-tags{margin-bottom:var(--spacing-xl)}.project-modal-tags h4{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);font-weight:600;margin-bottom:var(--spacing-lg);font-size:1.1rem}.project-modal-tags h4 i{color:var(--primary-color)}.tags-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.modal-tag{padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-lg);text-align:center;font-weight:500;border:1px solid var(--border-color);transition:all var(--transition-fast)}.modal-tag:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color);transform:translateY(-2px)}.project-modal-actions{display:flex;gap:var(--spacing-lg);justify-content:center;margin-top:var(--spacing-xl)}.modal-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-2xl);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.modal-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal-btn:hover:before{left:100%}.modal-btn.primary{background:var(--primary-color);color:var(--white);box-shadow:var(--shadow-md)}.modal-btn.primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.modal-btn.secondary{background:transparent;color:var(--text-secondary);border:2px solid var(--border-color)}.modal-btn.secondary:hover{background:var(--text-secondary);color:var(--white);border-color:var(--text-secondary);transform:translateY(-2px)}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.load-more-container{text-align:center}.contact{padding:var(--spacing-4xl) 0;background:var(--bg-primary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4xl);align-items:start}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-xl)}.contact-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);transition:all var(--transition-normal);box-shadow:var(--shadow-card)}.contact-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--primary-color)}.contact-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--white);box-shadow:var(--shadow-md);flex-shrink:0}.contact-details h3{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--text-primary)}.contact-details p{color:var(--text-secondary);font-weight:500}.message-board{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);overflow:hidden}.message-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);padding:var(--spacing-xl) var(--spacing-xl) 0;margin-bottom:var(--spacing-lg)}.contact-form{padding:0 var(--spacing-xl) var(--spacing-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-primary);font-size:1rem;transition:all var(--transition-fast);resize:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-primary)}.form-group textarea{min-height:120px;line-height:1.6}.contact-form .btn{width:100%;justify-content:center;padding:var(--spacing-lg) var(--spacing-xl);font-size:1rem}.footer{background:var(--bg-primary);padding:var(--spacing-3xl) 0 var(--spacing-xl);border-top:1px solid rgba(255,255,255,.1)}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);margin-bottom:var(--spacing-2xl)}.footer-info{max-width:400px}.footer-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:700;font-size:1.25rem;margin-bottom:var(--spacing-lg)}.footer-description{color:var(--text-secondary);line-height:1.7}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.footer-section h4{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.footer-section ul{list-style:none}.footer-section li{margin-bottom:var(--spacing-sm)}.footer-section a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-section a:hover{color:var(--primary-color)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.1)}.footer-copyright{color:var(--text-muted);font-size:.875rem}.footer-copyright a{color:var(--text-secondary);text-decoration:none}.footer-copyright a:hover{color:var(--primary-color)}.contact-methods{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-method{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);transition:color var(--transition-fast)}.contact-method:hover{color:var(--primary-color)}.contact-method a{color:inherit;text-decoration:none}.wechat-trigger{cursor:pointer;transition:color var(--transition-fast)}.wechat-trigger:hover{color:var(--primary-color)}.wechat-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.wechat-modal.active{opacity:1;visibility:visible}.wechat-modal-content{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:300px;width:90%;box-shadow:var(--shadow-xl);transform:scale(.8);transition:transform var(--transition-normal)}.wechat-modal.active .wechat-modal-content{transform:scale(1)}.wechat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.wechat-header h4{color:var(--text-primary);font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all var(--transition-fast)}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.wechat-qr{text-align:center}.qr-code{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center}.qr-code img{width:150px;height:150px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md);background:var(--white);padding:var(--spacing-sm)}.qr-code p{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:500}.qr-code small{color:var(--text-muted);font-size:.875rem}.qr-placeholder{padding:var(--spacing-2xl);background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border-color)}.qr-placeholder i{font-size:3rem;color:var(--primary-color);margin-bottom:var(--spacing-md)}.qr-placeholder p{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:500}.qr-placeholder small{color:var(--text-muted);font-size:.875rem}.footer-social{display:flex;gap:var(--spacing-md)}.social-link{width:40px;height:40px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);border:1px solid rgba(255,255,255,.1)}.social-link:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px)}.back-to-top{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:50px;height:50px;background:var(--primary-color);color:var(--white);border:none;border-radius:50%;cursor:pointer;opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:1000;box-shadow:var(--shadow-lg)}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--primary-dark);transform:translateY(-2px)}@media (max-width: 768px){.nav-menu{position:fixed;top:70px;left:-100%;width:100%;height:calc(100vh - 70px);background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;transition:left var(--transition-normal);box-shadow:var(--shadow-lg)}.nav-menu.active{left:0}.nav-toggle{display:flex}.nav-toggle.active .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.hero-content{margin-top:var(--spacing-2xl)}.profile-name{font-size:2.5rem}.section-title{font-size:2rem}.hero-buttons{justify-content:center;flex-wrap:wrap}.story-main{grid-template-columns:1fr;gap:var(--spacing-lg)}.values-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.role-header{flex-direction:column;text-align:center;gap:var(--spacing-md)}.skill-tags{justify-content:center}.about-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.projects-grid{gap:var(--spacing-lg)}.project-card{grid-template-columns:1fr;min-height:auto}.project-image{height:200px}.contact-content{grid-template-columns:1fr;gap:var(--spacing-2xl)}.form-row{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:var(--spacing-2xl)}.footer-bottom{flex-direction:column;gap:var(--spacing-lg);text-align:center}.filter-buttons{justify-content:center;flex-wrap:wrap}}@media (max-width: 480px){.container{padding:0 var(--spacing-md)}.hero-title{font-size:2rem}.section-title{font-size:1.75rem}.hero-buttons{flex-direction:column;align-items:center}.projects-grid{grid-template-columns:1fr}.project-card{margin:0 var(--spacing-sm)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}.visible{display:block}.fade-in{opacity:0;animation:fadeIn .6s ease-out forwards}.slide-up{opacity:0;transform:translateY(30px);animation:slideInUp .6s ease-out forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}
