*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--text-primary: #000000;--text-secondary: #666666;--text-tertiary: #999999;--border: #e0e0e0;--border-hover: #000000;--shadow: rgba(0, 0, 0, .05);--shadow-hover: rgba(0, 0, 0, .1) }[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #111111;--text-primary: #ffffff;--text-secondary: #999999;--text-tertiary: #666666;--border: #1a1a1a;--border-hover: #ffffff;--shadow: rgba(255, 255, 255, .05);--shadow-hover: rgba(255, 255, 255, .1) }html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}.app{min-height:100vh}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.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:10000}.loading-spinner{width:40px;height:40px;border:2px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:1.25rem 0;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease}.navbar.visible{opacity:1;transform:translateY(0)}.nav-content{max-width:1100px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;cursor:pointer;transition:opacity .2s ease}.logo:hover{opacity:.6}.nav-links{display:flex;gap:2rem}.nav-link{background:none;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:400;cursor:pointer;position:relative;transition:color .2s ease;padding:0}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--text-primary)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease;color:var(--text-primary)}.theme-toggle:hover{border-color:var(--text-primary)}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:8rem 0 4rem}.hero-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:2rem}.status-dot{fill:var(--text-primary)}.hero-title{font-size:clamp(3rem,8vw,5rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:400}.hero-description{font-size:1rem;color:var(--text-secondary);max-width:500px;margin-bottom:2.5rem;line-height:1.7}.stats-grid{display:flex;align-items:center;gap:2rem;margin:2.5rem 0;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.stat-label{font-size:.875rem;color:var(--text-tertiary)}.stat-divider{width:1px;height:30px;background:var(--border)}.hero-actions{display:flex;gap:1rem;margin-top:2.5rem}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:4px;font-size:.9rem;font-weight:500;border:1px solid var(--border);cursor:pointer;transition:all .2s ease;background:none;color:var(--text-primary)}.btn-primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn-primary:hover{opacity:.8}.btn-secondary:hover{border-color:var(--text-primary)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);transition:color .2s ease;padding:.5rem}.scroll-indicator:hover{color:var(--text-primary)}.bounce{animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}section{padding:6rem 0;min-height:100vh;display:flex;align-items:center}.section-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:600;letter-spacing:-.02em;margin-bottom:3rem}.about-section{background:var(--bg-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:4rem}.skill-card{padding:1.5rem;border:1px solid var(--border);border-radius:4px;transition:border-color .2s ease}.skill-card:hover{border-color:var(--text-primary)}.skill-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.skill-icon{color:var(--text-primary)}.skill-name{font-size:1rem;font-weight:500}.skill-bar{width:100%;height:2px;background:var(--border);border-radius:2px;overflow:hidden}.skill-fill{height:100%;background:var(--text-primary);transition:width 1s ease}.experience-section{margin-top:4rem}.subsection-title{font-size:1.5rem;font-weight:500;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border)}.timeline-item{position:relative;margin-bottom:2.5rem}.timeline-marker{position:absolute;left:-2.25rem;top:.35rem;width:6px;height:6px;border-radius:50%;background:var(--text-primary);border:2px solid var(--bg-secondary)}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:1rem}.timeline-content h4{font-size:1rem;font-weight:500}.timeline-content .period{font-size:.875rem;color:var(--text-tertiary);white-space:nowrap}.timeline-content .company{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.timeline-content .description{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{padding:1.5rem;border:1px solid var(--border);border-radius:4px;transition:border-color .2s ease;display:flex;flex-direction:column}.project-card:hover{border-color:var(--text-primary)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.project-header h3{font-size:1rem;font-weight:500;flex:1}.project-links-header{display:flex;gap:.5rem}.icon-link{color:var(--text-secondary);transition:color .2s ease;display:flex;align-items:center}.icon-link:hover{color:var(--text-primary)}.project-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1.5rem;flex:1}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{padding:.25rem .75rem;border:1px solid var(--border);border-radius:4px;font-size:.8rem;color:var(--text-secondary)}.contact-section{background:var(--bg-secondary)}.contact-content{max-width:600px}.contact-description{font-size:1rem;color:var(--text-secondary);margin-bottom:2.5rem}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:4px;text-decoration:none;color:var(--text-primary);transition:border-color .2s ease}.contact-link:hover{border-color:var(--text-primary)}.contact-link span{flex:1;font-size:.9rem}.link-icon{color:var(--text-secondary)}.footer{padding:3rem 0;border-top:1px solid var(--border)}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer p{color:var(--text-tertiary);font-size:.875rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in-section.visible{opacity:1;transform:translateY(0)}.animate-fade-up{opacity:0;animation:fadeInUp .6s ease forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}@media (max-width:768px){.nav-links{display:none}.hero-section{padding:6rem 0 4rem}.hero-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;justify-content:center}.stats-grid{flex-direction:column;align-items:flex-start;gap:1rem}.stat-divider{display:none}.skills-grid,.projects-grid{grid-template-columns:1fr}.timeline-header{flex-direction:column;align-items:flex-start}.footer-content{flex-direction:column;gap:.5rem}section{padding:4rem 0}}@media (max-width:480px){.container,.nav-content{padding:0 1rem}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--text-primary);color:var(--bg-primary)}*:focus-visible{outline:1px solid var(--text-primary);outline-offset:2px}
