.mono.svelte-1uha8ag{font-family:var(--font-mono)}.text-muted.svelte-1uha8ag{color:var(--text-tertiary)}.page.svelte-1uha8ag{min-height:100vh}.container.svelte-1uha8ag{max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.nav.svelte-1uha8ag{z-index:100;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);background-color:color-mix(in srgb, var(--bg) 85%, transparent);position:sticky;top:0}.nav-inner.svelte-1uha8ag{max-width:var(--max-width);padding:var(--space-sm) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);margin:0 auto;display:flex}.nav-logo.svelte-1uha8ag{font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.02em;font-weight:600;text-decoration:none}.nav-logo.svelte-1uha8ag:hover{color:var(--accent)}.nav-links.svelte-1uha8ag{align-items:center;gap:var(--space-lg);display:flex}.nav-link.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary);transition:color var(--transition);text-decoration:none}.nav-link.svelte-1uha8ag:hover{color:var(--text-primary)}.theme-toggle.svelte-1uha8ag{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xs) var(--space-sm);color:var(--text-tertiary);cursor:pointer;font-size:var(--text-xs);align-items:center;gap:var(--space-xs);transition:color var(--transition), border-color var(--transition);background:0 0;line-height:1;display:inline-flex}.theme-toggle.svelte-1uha8ag:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.theme-toggle.svelte-1uha8ag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-icon.svelte-1uha8ag{font-size:var(--text-sm);line-height:1}.section.svelte-1uha8ag{padding:var(--space-3xl) 0;opacity:0;transition:opacity .6s,transform .6s;transform:translateY(12px)}.section.revealed.svelte-1uha8ag{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.section.svelte-1uha8ag{opacity:1;transition:none;transform:none}}.section-title.svelte-1uha8ag{font-size:var(--text-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-xl);font-weight:500}.divider.svelte-1uha8ag{text-align:center;color:var(--border);font-size:var(--text-xs);padding:var(--space-xs) 0;letter-spacing:.3em}.hero.svelte-1uha8ag{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.hero-label.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-md);letter-spacing:.02em}.hero-name.svelte-1uha8ag{font-size:var(--text-4xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:var(--space-lg)}.hero-headline.svelte-1uha8ag{font-size:var(--text-xl);color:var(--text-secondary);line-height:var(--leading-normal);max-width:560px;margin-bottom:var(--space-md)}.hero-sub.svelte-1uha8ag{font-size:var(--text-base);color:var(--text-tertiary);line-height:var(--leading-relaxed);max-width:560px;margin-bottom:var(--space-xl)}.hero-meta.svelte-1uha8ag{gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--bg-subtle);border-radius:var(--radius);border:1px solid var(--border-subtle);flex-direction:column;display:flex}.meta-item.svelte-1uha8ag{align-items:baseline;gap:var(--space-md);display:flex}.meta-label.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0;min-width:72px}.meta-value.svelte-1uha8ag{font-size:var(--text-sm);color:var(--text-secondary)}.hero-ctas.svelte-1uha8ag{gap:var(--space-sm);flex-wrap:wrap;display:flex}.btn.svelte-1uha8ag{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);font-size:var(--text-xs);letter-spacing:.02em;transition:background-color var(--transition), color var(--transition), border-color var(--transition);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary.svelte-1uha8ag{background-color:var(--text-primary);color:var(--bg);border:1px solid var(--text-primary)}.btn-primary.svelte-1uha8ag:hover{background-color:var(--text-secondary);border-color:var(--text-secondary);color:var(--bg)}.btn-secondary.svelte-1uha8ag{color:var(--text-secondary);border:1px solid var(--border);background-color:#0000}.btn-secondary.svelte-1uha8ag:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.experience-list.svelte-1uha8ag{gap:var(--space-xl);flex-direction:column;display:flex}.job.svelte-1uha8ag{padding-bottom:var(--space-xl);border-bottom:1px solid var(--border-subtle)}.job.svelte-1uha8ag:last-child{border-bottom:none;padding-bottom:0}.job-header.svelte-1uha8ag{margin-bottom:var(--space-md)}.job-company-line.svelte-1uha8ag{justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.job-company.svelte-1uha8ag{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.job-location.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary)}.job-title-line.svelte-1uha8ag{justify-content:space-between;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.job-title.svelte-1uha8ag{font-size:var(--text-base);color:var(--text-secondary)}.job-period.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary)}.job-bullets.svelte-1uha8ag{gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.job-bullets.svelte-1uha8ag li:where(.svelte-1uha8ag){font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);padding-left:var(--space-lg);position:relative}.job-bullets.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"—";color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);position:absolute;left:0}.projects-list.svelte-1uha8ag{gap:var(--space-xl);flex-direction:column;display:flex}.project.svelte-1uha8ag{padding:var(--space-lg);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:border-color var(--transition), background-color var(--transition)}.project.svelte-1uha8ag:hover{border-color:var(--border)}.project-featured.svelte-1uha8ag{border-left:2px solid var(--accent)}.project-header.svelte-1uha8ag{justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.project-title.svelte-1uha8ag{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.project-link.svelte-1uha8ag{font-size:var(--text-base);color:var(--text-tertiary)}.project-link.svelte-1uha8ag:hover{color:var(--accent)}.project-desc.svelte-1uha8ag{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.project-details.svelte-1uha8ag{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--bg);border-radius:var(--radius);gap:var(--space-xs);flex-direction:column;list-style:none;display:flex}.project-details.svelte-1uha8ag li:where(.svelte-1uha8ag){font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-normal);padding-left:var(--space-lg);position:relative}.project-details.svelte-1uha8ag li:where(.svelte-1uha8ag):before{content:"›";left:var(--space-sm);color:var(--accent);position:absolute}.project-stack.svelte-1uha8ag{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag.svelte-1uha8ag{font-size:var(--text-xs);padding:2px var(--space-sm);background:var(--tag-bg);color:var(--tag-text);border-radius:var(--radius);letter-spacing:.01em}.skills-grid.svelte-1uha8ag{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.skill-category.svelte-1uha8ag{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-subtle);font-weight:500}.skill-list.svelte-1uha8ag{flex-direction:column;gap:2px;list-style:none;display:flex}.skill-list.svelte-1uha8ag li:where(.svelte-1uha8ag){font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.faq-list.svelte-1uha8ag{gap:var(--space-xl);flex-direction:column;display:flex}.faq-item.svelte-1uha8ag{border-left:2px solid var(--border-subtle);padding-left:var(--space-lg)}.faq-question.svelte-1uha8ag{font-size:var(--text-lg);color:var(--text-primary);font-weight:600;line-height:var(--leading-tight);margin-bottom:var(--space-sm)}.faq-answer.svelte-1uha8ag{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed)}.visually-hidden.svelte-1uha8ag{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact.svelte-1uha8ag{padding-bottom:var(--space-2xl)}.contact-block.svelte-1uha8ag{padding:var(--space-lg);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:var(--space-xl)}.contact-line.svelte-1uha8ag{font-size:var(--text-sm);color:var(--text-primary);line-height:1.8}.contact-indent.svelte-1uha8ag{padding-left:var(--space-xl)}.contact-block.svelte-1uha8ag a:where(.svelte-1uha8ag){color:var(--accent);text-decoration:none}.contact-block.svelte-1uha8ag a:where(.svelte-1uha8ag):hover{color:var(--accent-hover)}.contact-cta.svelte-1uha8ag{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-2xl)}.contact-footer.svelte-1uha8ag{font-size:var(--text-xs);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}@media (width<=640px){.hero-name.svelte-1uha8ag{font-size:var(--text-3xl)}.hero-headline.svelte-1uha8ag{font-size:var(--text-lg)}.nav-links.svelte-1uha8ag{gap:var(--space-md)}.nav-link.svelte-1uha8ag{display:none}.container.svelte-1uha8ag{padding:0 var(--space-md)}.section.svelte-1uha8ag{padding:var(--space-2xl) 0}.hero.svelte-1uha8ag{padding-top:var(--space-2xl)}.meta-item.svelte-1uha8ag,.job-company-line.svelte-1uha8ag,.job-title-line.svelte-1uha8ag{flex-direction:column;gap:2px}.skills-grid.svelte-1uha8ag{gap:var(--space-lg);grid-template-columns:1fr 1fr}.contact-indent.svelte-1uha8ag{padding-left:var(--space-lg)}.theme-label.svelte-1uha8ag{display:none}}@media (width<=380px){.hero-name.svelte-1uha8ag{font-size:var(--text-2xl)}.skills-grid.svelte-1uha8ag{grid-template-columns:1fr}}
