.project.svelte-oviq8z{border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);display:flex;flex-direction:column;height:100%;overflow:hidden}.project-body.svelte-oviq8z{padding:24px;display:flex;flex-direction:column;flex:1}.project-title.svelte-oviq8z{font-family:JetBrains Mono,monospace;font-size:1.15rem;font-weight:500;margin-bottom:6px}.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-subtitle.svelte-oviq8z{font-size:.95rem;color:var(--text-secondary);margin-bottom:24px;font-style:italic}.status-badge.svelte-oviq8z{font-family:JetBrains Mono,monospace;font-size:.73rem;padding:4px 10px;border-radius:4px;font-weight:500}.status-badge-open.svelte-oviq8z{color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.3)}.status-badge-proprietary.svelte-oviq8z{color:#fb923c;background:#fb923c1a;border:1px solid rgba(251,146,60,.3)}.status-badge-private.svelte-oviq8z{color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.3)}.project-media.svelte-oviq8z{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px}.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;border-radius:4px}.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:.9rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.6;flex:1}.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-body.svelte-oviq8z{padding:20px}}.container.svelte-1uha8ag{max-width:1200px;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;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@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:960px){#projects.svelte-1uha8ag{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){header.svelte-1uha8ag{padding:56px 0 40px}#projects.svelte-1uha8ag{grid-template-columns:1fr}.skills-grid.svelte-1uha8ag{grid-template-columns:1fr 1fr;gap:20px}}
