.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.375rem;font-size:1rem;font-weight:500;transition:background .2s,color .2s;outline:none;border:none;cursor:pointer;padding:.5rem 1rem;background:var(--color-primary, #1d4ed8);color:#fff;box-shadow:0 1px 2px #0000000a}.btn:disabled{opacity:.5;pointer-events:none}.btn--default{background:var(--color-primary, #1d4ed8);color:#fff}.btn--default:hover{background:#2563eb}.btn--destructive{background:#ef4444;color:#fff}.btn--destructive:hover{background:#dc2626}.btn--outline{background:#fff;color:var(--color-primary, #1d4ed8);border:1px solid var(--color-primary, #1d4ed8)}.btn--outline:hover{background:var(--color-primary, #1d4ed8);color:#fff}.btn--secondary{background:#f3f4f6;color:#222}.btn--secondary:hover{background:#e5e7eb}.btn--ghost{background:transparent;color:var(--color-primary, #1d4ed8)}.btn--ghost:hover{background:#e0e7ff}.btn--link{background:transparent;color:var(--color-primary, #1d4ed8);text-decoration:underline}.btn--link:hover{color:#2563eb}.btn--default{height:2.25rem;padding:.5rem 1rem}.btn--sm{height:2rem;border-radius:.375rem;padding:.25rem .75rem;font-size:.875rem}.btn--lg{height:2.5rem;border-radius:.5rem;padding:.5rem 2rem;font-size:1.125rem}.btn--icon{height:2.25rem;width:2.25rem;padding:0}.theme-toggle__icon{width:1.25rem;height:1.25rem;transition:transform .3s,opacity .3s}.theme-toggle__icon--hidden{opacity:0;transform:scale(0) rotate(90deg);pointer-events:none}.theme-toggle__icon--moon{position:absolute}.navbar{position:fixed;width:100%;background:rgba(var(--color-bg, 255, 255, 255),.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;border-bottom:1px solid var(--color-secondary, #e5e7eb)}.navbar-container{max-width:90rem;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.navbar-container{padding:0 1.5rem}}@media (min-width: 1024px){.navbar-container{padding:0 2rem}}.navbar-row{display:flex;align-items:center;justify-content:space-between;height:4rem}.navbar-logo{flex-shrink:0}.navbar-title{font-size:2rem;font-weight:700;color:var(--color-primary, #1d4ed8)}.navbar-links{display:flex;align-items:center;gap:1.5rem}.navbar-link{color:var(--color-muted-foreground, #6b7280);padding:.5rem .75rem;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar-link:hover{color:var(--color-primary, #1d4ed8)}.navbar-resume-btn{display:flex;align-items:center;gap:.5rem}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(29,78,216,.05) 0%,var(--color-bg) 50%,rgba(243,244,246,.05) 100%)}.hero-container{max-width:80rem;margin:0 auto;padding:5rem 1rem}@media (min-width: 640px){.hero-container{padding:5rem 1.5rem}}@media (min-width: 1024px){.hero-container{padding:5rem 2rem}}.hero-content{text-align:center;color:var(--color-text)}.hero-title{font-size:2.5rem;font-weight:800;line-height:1.1}@media (min-width: 640px){.hero-title{font-size:3rem}}@media (min-width: 768px){.hero-title{font-size:3.75rem}}.hero-title-block{display:block}.hero-title-highlight{display:block;color:var(--color-primary, #1d4ed8)}.hero-description{margin-top:1.5rem;max-width:48rem;margin-left:auto;margin-right:auto;font-size:1.125rem;color:var(--color-muted-foreground, #6b7280)}@media (min-width: 640px){.hero-description{font-size:1.25rem;margin-top:2rem}}@media (min-width: 768px){.hero-description{font-size:1.25rem;max-width:60rem}}.card{border-radius:.75rem;border:1px solid var(--color-secondary, #e5e7eb);background:var(--color-bg);color:var(--color-text);box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column}.card-header{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem}.card-title{font-size:1.25rem;font-weight:700;line-height:1.2;color:#000}.card-description{font-size:1rem;color:var(--color-muted-foreground)}.card-content{padding:1.5rem;padding-top:0}.card-footer{display:flex;align-items:center;padding:1.5rem;padding-top:0}.about-section{padding:5rem 0;background:var(--color-secondary)}.about-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.about-container{padding:0 1.5rem}}@media (min-width: 1024px){.about-container{padding:0 2rem}}.about-motion{text-align:center;color:var(--color-text)}.about-title{font-size:2rem;font-weight:800;margin-left:120px}@media (min-width: 640px){.about-title{font-size:2.5rem}}.about-card{border-radius:.75rem}.about-card-content{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem}@media (min-width: 1024px){.about-card-content{flex-direction:row;align-items:flex-start}}.about-avatar-wrapper{flex-shrink:0;display:flex;justify-content:center;align-items:center}.about-description-wrapper{flex:1}.about-description{font-size:1.125rem;color:var(--color-muted-foreground);text-align:justify;margin-bottom:1rem}.about-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.about-skill{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.experience-section{padding:5rem 0;background:var(--color-secondary)}.experience-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.experience-container{padding:0 1.5rem}}@media (min-width: 1024px){.experience-container{padding:0 2rem}}.experience-title{font-size:2rem;font-weight:800;text-align:center}@media (min-width: 640px){.experience-title{font-size:2.5rem}}.experience-grid{margin-top:3rem;max-width:72rem;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.experience-grid{grid-template-columns:repeat(2,1fr)}}.experience-card{border-radius:.75rem;background:#fff}.experience-header{display:flex;align-items:center;gap:1rem}.experience-icon{height:2.5rem;width:2.5rem;border-radius:9999px;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.experience-icon-svg{color:#fff}.experience-position{font-size:1.25rem;font-weight:700;color:#000}.experience-meta{color:var(--color-muted-foreground)}.experience-content{color:var(--color-muted-foreground);font-size:1rem;margin-top:1rem}.experience-description{margin-bottom:1rem}.hover-card{position:relative;display:inline-block}.hover-card-trigger{cursor:pointer}.hover-card-content{position:absolute;z-index:50;min-width:16rem;background:#fff;color:#222;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 4px 16px #00000014;padding:1rem;top:100%;left:50%;transform:translate(-50%) translateY(.5rem);display:none}.hover-card:hover .hover-card-content,.hover-card-trigger:focus+.hover-card-content{display:block}.projects-section{padding:5rem 0;background:var(--color-secondary)}.projects-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.projects-container{padding:0 1.5rem}}@media (min-width: 1024px){.projects-container{padding:0 2rem}}.projects-title{font-size:2rem;font-weight:800;text-align:center}@media (min-width: 640px){.projects-title{font-size:2.5rem}}.projects-grid{margin-top:3rem;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width: 768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{height:100%;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000000a;border-radius:.75rem;background:#fff}.project-image{width:100%;height:12rem;object-fit:cover;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.project-description{margin-top:.5rem}.project-technologies{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.project-tech-badge{padding:.25rem .75rem;font-size:.75rem;font-weight:500;background:var(--color-primary);color:var(--color-primary);border-radius:9999px;cursor:pointer;transition:background .2s,color .2s;color:#fff}.app-root{min-height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;transition:background .2s,color .2s}:root{--color-primary: #1d4ed8;--color-secondary: #f3f4f6;--color-muted-foreground: #6b7280;--color-bg: #fff;--color-text: #222}.dark{--color-primary: #60a5fa;--color-secondary: #18181b;--color-muted-foreground: #a1a1aa;--color-bg: #18181b;--color-text: #f3f4f6}html,body{margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;transition:background .2s,color .2s}*{box-sizing:border-box}
