:root{--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--font-mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Monaco, "Cascadia Mono", monospace;--space: .8rem;--space-xs: calc(var(--space) * .25);--space-md: var(--space);--space-lg: calc(var(--space) * 1.5);--color-bg: #fafafa;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-link: #0066cc;--color-link-hover: #0055aa;--color-code-bg: rgba(0, 0, 0, .05);--color-border: rgba(0, 0, 0, .1)}@media (prefers-color-scheme: dark){:root{--color-bg: #1d1d1f;--color-text: #f5f5f7;--color-text-secondary: #a1a1a6;--color-link: #2997ff;--color-link-hover: #5bb4ff;--color-code-bg: rgba(255, 255, 255, .1);--color-border: rgba(255, 255, 255, .15)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none;scroll-behavior:smooth}body{margin:0;padding:var(--space-md);font-family:var(--font-system);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);margin-inline:auto}h1,h2,h3,h4,h5,h6{line-height:1.25;margin-top:var(--space-md);margin-bottom:calc(var(--space-md) * .5)}h1{font-size:2rem;font-weight:700;letter-spacing:-.02em}p{margin-top:0;margin-bottom:var(--space-md)}a{color:var(--color-link);text-decoration:none;transition:color .15s ease}a:hover,a:focus{color:var(--color-link-hover);text-decoration:underline}code{font-family:var(--font-mono);font-size:.875em;padding:calc(var(--space-xs) * .6) var(--space-xs);background-color:var(--color-code-bg);border-radius:var(--space-xs)}q{font-style:italic}header{text-align:center;margin-bottom:var(--space-lg)}header h1{margin-top:0;margin-bottom:var(--space-xs)}header p{font-variant-caps:small-caps;color:var(--color-text-secondary);margin-bottom:var(--space-md)}header ul.links{list-style-type:none;font-family:var(--font-mono);font-size:.85rem;margin:0;padding:0}header ul.links li{margin-bottom:var(--space-xs)}li.link-cv{padding-top:var(--space-md)}footer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.875rem}
