:root{--fg:#1a1a2e;--muted:#55556b;--accent:#3a4cff;--bg:#f7f7fb;--card:#fff;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--fg:#eaeaf2;--muted:#a0a0b8;--accent:#8b97ff;--bg:#12121a;--card:#1c1c28}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);line-height:1.55}.page{max-width:48rem;margin:0 auto;padding:3rem 1.25rem}.person-header{background:var(--card);border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.08)}.person-header h1{margin:0 0 .25rem;font-size:2rem}.person-headline{margin:0 0 .75rem;color:var(--accent);font-weight:600}.person-location{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.person-summary{margin:0}.load-error{background:var(--card);border-left:4px solid #d64545;border-radius:.5rem;padding:1.25rem 1.5rem;color:var(--fg)}.cv-section{margin-top:2.5rem}.cv-section h2{margin:0 0 1rem;font-size:1.35rem;border-bottom:1px solid var(--muted);padding-bottom:.35rem}.cv-section ul{list-style:none;margin:0;padding:0}.cv-entry{margin-bottom:1.5rem}.cv-entry h3{margin:0;font-size:1.05rem}.cv-entry p{margin:.25rem 0 0}.cv-field,.cv-location,.cv-period,.cv-skill-category{color:var(--muted);font-size:.95rem}.cv-project-repo a{color:var(--accent)}.cv-skills ul{display:flex;flex-wrap:wrap;gap:.5rem}.cv-skills li{background:var(--card);border-radius:.5rem;padding:.35rem .75rem;box-shadow:0 1px 3px rgba(0,0,0,.08)}.cv-skill-name{font-weight:600}