*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f7f9;--surface:#fff;--text:#333;--muted:#777;--border:#eee;--accent:#2563eb}[data-theme=dark]{--bg:#0f1115;--surface:#171a21;--text:#e6e6e6;--muted:#9aa0aa;--border:#262a33;--accent:#6ea8ff}body{color:var(--text);background:var(--bg);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:background .2s,color .2s}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{flex-direction:column;min-height:100vh;display:flex}nav{justify-content:flex-end;padding:1rem 1.5rem;display:flex}.theme-toggle{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s,border-color .2s}.theme-toggle:hover{border-color:var(--accent)}header{background:var(--surface);border-bottom:1px solid var(--border);padding:3.5rem 2rem}.profile{text-align:left;justify-content:center;align-items:center;gap:1.25rem;max-width:640px;margin:0 auto;display:flex}.avatar{object-fit:cover;object-position:top center;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:96px;height:96px}.profile-text h1{letter-spacing:-.02em;font-size:2.2rem;font-weight:600;line-height:1.15}.tagline{color:var(--muted);margin-top:.4rem;font-size:1.05rem}@media (width<=520px){.profile{text-align:center;flex-direction:column}.profile-text h1{font-size:1.9rem}}main{flex:1;max-width:640px;margin:2.5rem auto;padding:0 1.5rem}section{margin-bottom:2.5rem}h2{margin-bottom:.75rem;font-size:1.15rem;font-weight:600}.section-subtitle{color:var(--muted);margin:0 0 .65rem;font-size:.95rem;font-weight:600}.skills{flex-wrap:wrap;gap:.6rem;margin:0 0 1.1rem;list-style:none;display:flex}.skill{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.85rem;display:inline-flex}.skill-icon{flex-shrink:0;width:1.15rem;height:1.15rem}section p{color:var(--muted)}.projects{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:.85rem;transition:border-color .2s;overflow:hidden}.project-card:hover{border-color:var(--accent)}.project-image-link{line-height:0;display:block}.project-image{object-fit:cover;object-position:center;background:var(--border);width:100%;height:160px;display:block}.project-body{padding:1.15rem 1.2rem}.project-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.project-title{font-size:1rem;font-weight:600;line-height:1.3}.project-title a{color:var(--text);text-decoration:none}.project-title a:hover{color:var(--accent)}.project-link{color:var(--muted);border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:inline-flex}.project-link:hover{color:var(--accent);text-decoration:none}.project-card p{margin-bottom:.85rem;font-size:.95rem}.project-tags{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.project-tags li{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.links{flex-wrap:wrap;gap:1rem;list-style:none;display:flex}.links a{color:var(--muted);border-radius:.4rem;justify-content:center;align-items:center;padding:.35rem;transition:color .2s;display:inline-flex}.links a:hover{color:var(--accent);text-decoration:none}.links .icon{width:1.4rem;height:1.4rem}footer{text-align:center;color:#e11d48;border-top:1px solid var(--border);padding:2rem 1.5rem;font-size:.9rem}
