.project.svelte-oviq8z{padding:56px 0;border-bottom:1px solid var(--border)}.project-header.svelte-oviq8z{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;flex-wrap:wrap}.project-title.svelte-oviq8z{font-family:JetBrains Mono,monospace;font-size:1.45rem;font-weight:500}.project-title.svelte-oviq8z a:where(.svelte-oviq8z){color:inherit;transition:color .2s}.project-title.svelte-oviq8z a:where(.svelte-oviq8z):hover{color:var(--accent)}.project-status.svelte-oviq8z{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-muted)}.status-open.svelte-oviq8z{color:var(--green)}.project-subtitle.svelte-oviq8z{font-size:.95rem;color:var(--text-secondary);margin-bottom:24px;font-style:italic}.project-media.svelte-oviq8z{margin-bottom:24px;border-radius:6px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border)}.project-media.svelte-oviq8z img:where(.svelte-oviq8z),.project-media.svelte-oviq8z video:where(.svelte-oviq8z){width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover}.project-media.placeholder.svelte-oviq8z{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.85rem}.project-description.svelte-oviq8z{font-size:1rem;color:var(--text-secondary);margin-bottom:24px;max-width:720px;line-height:1.7}.project-tags.svelte-oviq8z{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tag.svelte-oviq8z{font-family:JetBrains Mono,monospace;font-size:.73rem;padding:4px 10px;background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:4px;color:var(--text-secondary);transition:border-color .2s,color .2s}.tag.svelte-oviq8z:hover{border-color:var(--accent);color:var(--accent)}.project-links.svelte-oviq8z{display:flex;flex-wrap:wrap;gap:16px;font-size:.9rem}.project-links.svelte-oviq8z a:where(.svelte-oviq8z):before{content:"→ ";font-family:JetBrains Mono,monospace}@media(max-width:640px){.project.svelte-oviq8z{padding:40px 0}.project-header.svelte-oviq8z{flex-direction:column;gap:4px}}.container.svelte-1uha8ag{max-width:900px;margin:0 auto;padding:0 24px}header.svelte-1uha8ag{padding:80px 0 60px;border-bottom:1px solid var(--border)}.skip-link.svelte-1uha8ag{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--text-muted);margin-bottom:28px;opacity:.6;transition:opacity .2s}.skip-link.svelte-1uha8ag:hover{opacity:1;color:var(--text-secondary)}.header-title.svelte-1uha8ag{font-family:JetBrains Mono,monospace;font-size:clamp(1.5rem,4vw,2rem);font-weight:500;margin-bottom:8px;background:linear-gradient(135deg,#4a9eff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-role.svelte-1uha8ag{font-family:JetBrains Mono,monospace;font-size:.92rem;color:var(--text-secondary);margin-bottom:28px}.header-bio.svelte-1uha8ag{font-size:1.1rem;max-width:640px;margin-bottom:20px;line-height:1.7}.header-cta.svelte-1uha8ag{font-size:.95rem;color:var(--text-secondary);margin-bottom:28px}.contact-links.svelte-1uha8ag{display:flex;flex-direction:column;gap:6px;font-family:JetBrains Mono,monospace;font-size:.88rem}.contact-links.svelte-1uha8ag a:where(.svelte-1uha8ag),.contact-links.svelte-1uha8ag span:where(.svelte-1uha8ag){color:var(--text-secondary)}.contact-links.svelte-1uha8ag strong{color:var(--text-primary);font-weight:500}#projects.svelte-1uha8ag{padding:20px 0 40px}@keyframes svelte-1uha8ag-fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.project-anim.svelte-1uha8ag{animation:svelte-1uha8ag-fadeInUp .5s ease-out both}.skills-section.svelte-1uha8ag{padding:56px 0;border-top:1px solid var(--border)}.skills-title.svelte-1uha8ag{font-family:JetBrains Mono,monospace;font-size:1.15rem;color:var(--text-secondary);margin-bottom:24px}.skills-grid.svelte-1uha8ag{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}.skill-category.svelte-1uha8ag h4:where(.svelte-1uha8ag){font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.skill-category.svelte-1uha8ag ul:where(.svelte-1uha8ag){list-style:none}.skill-category.svelte-1uha8ag li:where(.svelte-1uha8ag){font-size:.95rem;color:var(--text-secondary);padding:3px 0}footer.svelte-1uha8ag{padding:40px 0;border-top:1px solid var(--border);text-align:center;font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--text-muted)}.footer-links.svelte-1uha8ag{display:flex;justify-content:center;gap:20px;margin-top:14px}.footer-links.svelte-1uha8ag a:where(.svelte-1uha8ag){color:var(--text-secondary)}@media(max-width:640px){header.svelte-1uha8ag{padding:56px 0 40px}.skills-grid.svelte-1uha8ag{grid-template-columns:1fr 1fr;gap:20px}}
