:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-secondary:#6b7280;--color-accent:#4f46e5;--color-accent-light:#4f46e514;--color-border:#e5e7eb;--color-code-bg:#f3f4f6;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", SFMono-Regular, "Consolas", "Liberation Mono", "Menlo", monospace;--max-width:720px;--section-gap:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);font-size:16px;line-height:1.7}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.page{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{padding:0}.heading-xl{letter-spacing:-.02em;color:var(--color-text);font-size:2.5rem;font-weight:600;line-height:1.15}.heading-lg{letter-spacing:-.01em;color:var(--color-text);font-size:1.5rem;font-weight:600;line-height:1.3}.heading-md{color:var(--color-text);font-size:1.125rem;font-weight:600;line-height:1.4}.text-body{color:var(--color-text-secondary);font-size:1rem;line-height:1.7}.text-mono{font-family:var(--font-mono);font-size:.875rem}.header{border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:100;padding:20px 0;position:sticky;top:0}.header .page{justify-content:space-between;align-items:center;display:flex}.header-nav{gap:32px;list-style:none;display:flex}.header-nav a{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.header-nav a:hover{color:var(--color-text);text-decoration:none}.header-name{color:var(--color-text);letter-spacing:-.01em;font-size:.875rem;font-weight:600;text-decoration:none}.hero{padding:64px 0;position:relative}.hero-decorative-line{background:var(--color-accent);border-radius:2px;width:48px;height:3px;margin-bottom:32px}.hero-intro{color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:.875rem;font-weight:500}.hero-name{letter-spacing:-.03em;margin-bottom:16px;font-size:3rem;font-weight:700;line-height:1.1}.hero-title{color:var(--color-text-secondary);margin-bottom:32px;font-size:1.25rem;font-weight:400}.hero-description{max-width:600px}.hero-description p{margin-bottom:16px}.section-header{margin-bottom:40px}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:12px;font-size:.75rem;font-weight:600}.section-divider{border:none;border-top:1px solid var(--color-border);margin:0}.experience-list{list-style:none}.experience-item{border-bottom:1px solid var(--color-border);grid-template-columns:28px 1fr;align-items:start;gap:16px;padding:28px 0;display:grid}.experience-item:last-child{border-bottom:none}.experience-icon{width:28px;height:28px;color:var(--color-accent);opacity:.7;flex-shrink:0;margin-top:2px}.experience-content{min-width:0}.experience-role{margin-bottom:4px;font-size:1.125rem;font-weight:600}.experience-company{color:var(--color-text-secondary);margin-bottom:4px;font-size:1rem}.experience-period{color:var(--color-text-secondary);margin-bottom:12px;font-size:.875rem}.experience-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.experience-description p{margin-bottom:8px}.skills-section{padding-top:var(--section-gap)}.skills-grid{grid-template-columns:repeat(2,1fr);gap:40px;display:grid}.skill-category{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px;transition:border-color .2s,box-shadow .2s}.skill-category:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #4f46e50f}.skill-category-title{color:var(--color-text);margin-bottom:12px;font-size:.875rem;font-weight:600}.skill-tags{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.skill-tag{color:var(--color-text-secondary);background:var(--color-code-bg);font-size:.8125rem;font-family:var(--font-mono);border-radius:4px;padding:4px 12px;transition:color .2s,background .2s;display:inline-block}.skill-tag:hover{color:var(--color-accent);background:var(--color-accent-light)}.contact-section{padding-top:var(--section-gap);padding-bottom:64px}.contact-links{gap:24px;margin-top:24px;list-style:none;display:flex}.contact-link{color:var(--color-text-secondary);border-bottom:1px solid #0000;padding:8px 0;font-size:.9375rem;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s}.contact-link:hover{color:var(--color-text);border-bottom-color:var(--color-text);text-decoration:none}.footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:20px 0}.footer p{color:var(--color-text-secondary);font-size:.8125rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;width:0}to{opacity:1;width:48px}}.animate-fade-in-up{opacity:0;animation:.5s forwards fadeInUp}.animate-fade-in{opacity:0;animation:.6s forwards fadeIn}.animate-line{opacity:0;animation:.6s .1s forwards slideInLeft}.hero-intro{animation-delay:50ms}.hero-name{animation-delay:.1s}.hero-title{animation-delay:.15s}.hero-description{animation-delay:.2s}@media (width<=640px){:root{--section-gap:48px}.hero-name,.heading-xl{font-size:2rem}.skills-grid{grid-template-columns:1fr;gap:16px}.header-nav{gap:20px}.contact-links{flex-direction:column;gap:12px}.experience-item{grid-template-columns:1fr;gap:8px}.experience-icon{display:none}}
