:root{--bg: #ffffff;--bg-secondary: #f9fafb;--text: #111827;--text-secondary: #4b5563;--accent: #3b82f6;--accent-hover: #2563eb;--border: #e5e7eb;--card-bg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg: #0a0a0a;--bg-secondary: #111111;--text: #f3f4f6;--text-secondary: #9ca3af;--accent: #60a5fa;--accent-hover: #3b82f6;--border: #1f2937;--card-bg: #18181b;--card-shadow: 0 1px 3px rgba(0, 0, 0, .4)}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;transition:background .3s,color .3s}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{max-width:min(1200px,90vw);margin:0 auto;padding:0 32px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-name{font-weight:700;font-size:1rem;color:var(--text);white-space:nowrap}.header-name:hover{color:var(--text)}.header-links{display:flex;gap:20px}.header-links a{font-size:.875rem;color:var(--text-secondary);transition:color .2s}.header-links a:hover,.header-links a.active{color:var(--text)}#theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;padding:6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s;flex-shrink:0}#theme-toggle:hover{color:var(--text);border-color:var(--text-secondary)}.sun,.moon{display:none}[data-theme=dark] .moon,[data-theme=light] .sun{display:block}.container{max-width:min(1200px,90vw);margin:0 auto;padding:0 32px}section{padding:80px 0}section:first-of-type{padding-top:64px}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:2rem;letter-spacing:-.02em}@media(max-width:640px){section{padding:48px 0}section:first-of-type{padding-top:40px}.container{padding:0 20px}.header-inner{padding:0 16px;gap:12px}.header-links{gap:12px}.header-links a{font-size:.8125rem}}#hero[data-astro-cid-bbe6dxrz]{padding:64px 0 48px}.hero-name[data-astro-cid-bbe6dxrz]{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-bottom:.25rem}.hero-title[data-astro-cid-bbe6dxrz]{font-size:1.125rem;color:var(--accent);font-weight:600;margin-bottom:.5rem}.hero-tagline[data-astro-cid-bbe6dxrz]{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem}.hero-links[data-astro-cid-bbe6dxrz]{display:flex;gap:12px}.btn[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;padding:10px 24px;border-radius:8px;font-weight:500;font-size:.9375rem;transition:all .2s}.btn-primary[data-astro-cid-bbe6dxrz]{background:var(--accent);color:#fff;border:none}.btn-primary[data-astro-cid-bbe6dxrz]:hover{background:var(--accent-hover);color:#fff}.btn-secondary[data-astro-cid-bbe6dxrz]{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary[data-astro-cid-bbe6dxrz]:hover{border-color:var(--text-secondary);color:var(--text)}@media(max-width:640px){#hero[data-astro-cid-bbe6dxrz]{padding:40px 0 32px}.hero-name[data-astro-cid-bbe6dxrz]{font-size:1.75rem}.hero-title[data-astro-cid-bbe6dxrz]{font-size:1rem}.hero-tagline[data-astro-cid-bbe6dxrz]{font-size:.9375rem}.hero-links[data-astro-cid-bbe6dxrz]{flex-direction:column}.btn[data-astro-cid-bbe6dxrz]{justify-content:center}}#about[data-astro-cid-v2cbyr3p]{background:var(--bg-secondary)}.about-content[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:1rem;font-size:1.0625rem;color:var(--text-secondary);line-height:1.8}.about-content[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{margin:0}#experience[data-astro-cid-xpq65ryk]{background:var(--bg)}.timeline[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--border);padding-left:24px}.timeline-item[data-astro-cid-xpq65ryk]{position:relative;padding-bottom:2rem}.timeline-item[data-astro-cid-xpq65ryk]:last-child{padding-bottom:0}.timeline-dot[data-astro-cid-xpq65ryk]{position:absolute;left:-31px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}.timeline-meta[data-astro-cid-xpq65ryk]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.5rem}.timeline-role[data-astro-cid-xpq65ryk]{font-weight:600;font-size:1.0625rem}.timeline-company[data-astro-cid-xpq65ryk]{color:var(--accent);font-weight:500;font-size:.9375rem}.timeline-date[data-astro-cid-xpq65ryk]{color:var(--text-secondary);font-size:.875rem}.timeline-bullets[data-astro-cid-xpq65ryk]{list-style:none;padding:0;margin:0}.timeline-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]{position:relative;padding-left:16px;color:var(--text-secondary);font-size:.9375rem;line-height:1.7;margin-bottom:4px}.timeline-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]:before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--text-secondary)}.timeline-tags[data-astro-cid-xpq65ryk]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.timeline-tags[data-astro-cid-xpq65ryk] span[data-astro-cid-xpq65ryk]{font-size:.8125rem;padding:3px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--border);color:var(--accent)}#contact[data-astro-cid-xmivup5a]{background:var(--bg)}.contact-text[data-astro-cid-xmivup5a]{color:var(--text-secondary);font-size:1.0625rem;margin-bottom:2rem}.contact-links[data-astro-cid-xmivup5a]{display:flex;flex-wrap:wrap;gap:1rem}.contact-link[data-astro-cid-xmivup5a]{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.9375rem;transition:border-color .2s,background .2s}.contact-link[data-astro-cid-xmivup5a]:hover{border-color:var(--accent);background:var(--bg-secondary);color:var(--text)}.contact-link[data-astro-cid-xmivup5a] svg[data-astro-cid-xmivup5a]{color:var(--text-secondary);flex-shrink:0}
