:root{--color-bg:#fff;--color-text:#1a1a1a;--color-text-muted:#4d4d4d;--color-accent:#1d4ed8;--color-accent-contrast:#fff;--color-border:#d9d9d9;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--max-width:40rem;--radius:.5rem}@media (prefers-color-scheme:dark){:root{--color-bg:#12141a;--color-text:#f2f2f2;--color-text-muted:#b0b3ba;--color-border:#33363f;--color-accent:#7da6ff;--color-accent-contrast:#0b1220}}:root[data-theme=dark]{--color-bg:#12141a;--color-text:#f2f2f2;--color-text-muted:#b0b3ba;--color-border:#33363f;--color-accent:#7da6ff;--color-accent-contrast:#0b1220}:root[data-theme=light]{--color-bg:#fff;--color-text:#1a1a1a;--color-text-muted:#4d4d4d;--color-border:#d9d9d9;--color-accent:#1d4ed8;--color-accent-contrast:#fff}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);margin:0;line-height:1.6}body,.cta,.social-link,.project-card,#theme-toggle{transition:background-color .2s,color .2s,border-color .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}header,main,footer{max-width:var(--max-width);padding-inline:var(--space-md);margin-inline:auto}header{padding-block:var(--space-md)}.site-header{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.social-links{gap:var(--space-xs);display:flex}.social-link{color:var(--color-text-muted);display:inline-flex}.social-link:hover,.social-link:focus-visible{color:var(--color-accent)}main{padding-block:var(--space-lg)}footer{padding-block:var(--space-md);color:var(--color-text-muted);border-top:1px solid var(--color-border)}h1,h2{line-height:1.2}p{color:var(--color-text)}a{color:var(--color-accent)}.cta-group{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.cta{padding:var(--space-xs) var(--space-md);border-radius:var(--radius);font-weight:600;text-decoration:none;display:inline-block}.cta-primary{background-color:var(--color-accent);color:var(--color-accent-contrast)}.cta-secondary{color:var(--color-accent);border:1px solid var(--color-accent);background-color:#0000}.project-list{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=768px){.project-list{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}}@media (width>=1024px){:root{--max-width:60rem}.project-list{grid-template-columns:repeat(3,1fr)}}.project-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md)}.project-card-header{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.project-card-title{margin:0;font-size:1.2rem}.project-card-title a{color:var(--color-text);text-decoration:none}.project-card-title a:hover{color:var(--color-accent)}.project-card-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);background-color:var(--color-accent);color:var(--color-accent-contrast);white-space:nowrap;padding:.15em .5em;font-size:.75rem;font-weight:600}.project-card-description{margin:0 0 var(--space-sm);color:var(--color-text-muted);font-size:.95rem}.project-card-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:.85rem;display:flex}.project-card-date{color:var(--color-text-muted)}.project-card-techs{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-card-tech{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);padding:.15em .5em;font-size:.8rem}.project-card-image-link{margin:calc(-1 * var(--space-md)) calc(-1 * var(--space-md)) var(--space-md);line-height:0;display:block}.project-card-image{object-fit:cover;object-position:top;border-radius:var(--radius) var(--radius) 0 0;width:100%;height:200px}.project-hero-image{object-fit:cover;object-position:top;border-radius:var(--radius);width:100%;max-height:400px;margin-bottom:var(--space-md)}.skill-category{margin-bottom:var(--space-md)}.skill-category-title{margin:0 0 var(--space-xs);font-size:1rem}.skill-badge-list{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.skill-badge{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);padding:.15em .75em;font-size:.85rem}#theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-xs);color:var(--color-text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}#theme-toggle:hover,#theme-toggle:focus-visible{color:var(--color-accent)}.theme-icon-moon,:root[data-theme=dark] .theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-moon{display:inline}
