:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#fff;--surface-alt:#f8f9fa;--text-primary:#202124;--text-secondary:#5f6368;--outline:#dadce0;--accent:#1a73e8}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1e1f20;--surface-alt:#28292a;--text-primary:#e8eaed;--text-secondary:#c4c7c5;--outline:#444746;--accent:#8ab4f8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1e1f20;--surface-alt:#28292a;--text-primary:#e8eaed;--text-secondary:#c4c7c5;--outline:#444746;--accent:#8ab4f8}}*{box-sizing:border-box}html{min-height:100%}body{background:var(--surface);min-height:100vh;color:var(--text-primary);margin:0;font-family:system-ui,sans-serif;line-height:1.6}a{color:var(--accent)}.site-header{border-bottom:1px solid var(--outline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);display:flex}.site-logo{color:var(--text-primary);font-size:1.25rem;font-weight:700;text-decoration:none}.site-logo span{color:var(--accent)}nav{align-items:center;gap:1.25rem;display:flex}nav a{text-decoration:none}[data-theme-toggle]{border:1px solid var(--outline);background:var(--surface-alt);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.35rem;display:inline-flex}[data-theme-toggle]:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main{flex:1;width:min(100% - 2rem,1100px);margin-inline:auto}.intro{padding:clamp(3rem,10vw,7rem) 0}.intro h1{max-width:800px;font-size:clamp(2rem,6vw,4rem);line-height:1.15}.eyebrow{color:var(--text-secondary);letter-spacing:.12em;font-size:.8rem;font-weight:700}.projects{padding-bottom:5rem}.project{background:var(--surface-alt);border:1px solid var(--outline);border-radius:12px;max-width:600px;padding:1.5rem}.project h3{margin-top:.5rem}footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--outline);padding:1.5rem}@media (width<=480px){.site-header{align-items:flex-start}nav{gap:.75rem}.intro{padding-block:3rem}}
