@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";body{margin:0;min-height:100vh;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}:root{--bg-primary: #0a0a0b;--bg-secondary: #111113;--bg-card: #18181b;--bg-card-hover: #1f1f23;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-subtle: rgba(59, 130, 246, .1);--border: #27272a;--border-light: #3f3f46;--gradient-start: #3b82f6;--gradient-end: #8b5cf6;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{min-height:100vh;overflow-x:hidden}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 24px;transition:all .3s ease}.navbar:before{content:"";position:absolute;inset:0;background:#0a0a0bcc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease}.navbar.scrolled:before{border-bottom-color:var(--border)}.nav-container{position:relative;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:72px}.nav-logo .logo-text{font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.nav-menu{display:flex;list-style:none;gap:8px}.nav-link{background:none;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;font-weight:500;padding:8px 16px;border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease}.nav-link:hover{color:var(--text-primary);background:var(--accent-subtle)}@media (max-width: 768px){.nav-menu{display:none}}section{padding:100px 24px}.container{max-width:1200px;margin:0 auto}.section-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:48px;letter-spacing:-.02em}.section-title:after{content:"";display:block;width:48px;height:3px;background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end));margin-top:12px;border-radius:var(--radius-full)}.intro-section{min-height:100vh;display:flex;align-items:center;padding-top:72px;background:var(--bg-primary);position:relative;overflow:hidden}.intro-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);pointer-events:none}.intro-section .container{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}.intro-image{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--border);margin-bottom:32px;box-shadow:var(--shadow-lg)}.intro-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-subtle);color:var(--accent);font-size:.875rem;font-weight:500;padding:8px 16px;border-radius:var(--radius-full);margin-bottom:24px;border:1px solid rgba(59,130,246,.2)}.intro-badge:before{content:"";width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.intro-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.1;margin-bottom:16px}.highlight{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.intro-subtitle{font-size:1.25rem;color:var(--text-secondary);font-weight:400;margin-bottom:16px;min-height:1.5em}.typing-text{color:var(--text-secondary)}.cursor{color:var(--accent);font-weight:300;animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.intro-description{font-size:1rem;color:var(--text-muted);max-width:500px;margin:0 auto 32px;line-height:1.7}.intro-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.intro-content{display:flex;flex-direction:column;align-items:center}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;padding:12px 24px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;box-shadow:0 4px 14px #3b82f666}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.about-section{background:var(--bg-secondary)}.about-content{max-width:700px}.about-text p{font-size:1.0625rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.8}.about-text strong{color:var(--text-primary)}.experience-section{background:var(--bg-primary)}.experience-timeline{display:flex;flex-direction:column;gap:24px}.experience-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;transition:all .3s ease}.experience-item:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.experience-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.experience-company{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.01em}.experience-role{margin-bottom:24px}.experience-role:last-child{margin-bottom:0}.experience-title{font-size:1.0625rem;font-weight:600;color:var(--accent);margin-bottom:4px}.experience-period{font-size:.875rem;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:16px}.experience-description ul{list-style:none;display:flex;flex-direction:column;gap:12px}.experience-description li{position:relative;padding-left:24px;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.experience-description li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:500}.projects-section{background:var(--bg-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.projects-grid>*{display:flex}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;width:100%}.project-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-content{padding:28px;display:flex;flex-direction:column;flex:1}.project-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.01em}.project-description{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:20px;flex:1}.project-technologies{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-tag{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);background:var(--accent-subtle);padding:4px 10px;border-radius:var(--radius-full);border:1px solid rgba(59,130,246,.2)}.project-links{display:flex;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.project-link{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;display:inline-flex;align-items:center;gap:6px}.project-link:hover{color:var(--accent)}.project-link:after{content:"↗";font-size:.75rem}.skills-section{background:var(--bg-primary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.skills-grid>*{display:flex}.skill-category{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all .3s ease;width:100%}.skill-category:hover{border-color:var(--border-light)}.category-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:20px}.skills-list{display:flex;flex-wrap:wrap;gap:10px}.skill-item{font-size:.875rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border);transition:all .2s ease}.skill-item:hover{border-color:var(--accent);background:var(--accent-subtle)}.contact-section{background:var(--bg-secondary);min-height:auto}.contact-intro{font-size:1.125rem;color:var(--text-secondary);text-align:center;max-width:500px;margin:0 auto 48px;line-height:1.7}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-item{display:flex;flex-direction:column;gap:4px}.contact-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.contact-value{font-size:1rem;color:var(--text-primary);text-decoration:none;transition:color .2s ease}.contact-value:hover{color:var(--accent)}.contact-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;font-family:var(--font-sans);font-size:.9375rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form-group textarea{min-height:140px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-status{margin-top:16px;padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.form-status.success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.form-status.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.fade-in-section{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.contact-content{grid-template-columns:1fr;gap:48px}}@media (max-width: 768px){section{padding:80px 20px}.section-title{font-size:1.75rem;margin-bottom:40px}.intro-title{font-size:2.25rem}.intro-subtitle{font-size:1.125rem}.intro-buttons{flex-direction:column;width:100%;max-width:280px}.btn{justify-content:center;width:100%}.projects-grid{grid-template-columns:1fr}.experience-item{padding:24px}.experience-company{font-size:1.25rem}}@media (max-width: 480px){.navbar{padding:0 16px}section{padding:60px 16px}.intro-image{width:120px;height:120px}.project-content,.skill-category,.contact-form{padding:20px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-section.is-visible{opacity:1;transform:none}
