/* Personal site: restrained AMOR petroleum, ink and paper; system fonts. */
:root { color-scheme: light; --paper:#FBFAF6; --ink:#16242A; --muted:#3C4F55; --accent:#0E4C54; --line:#D4DBDA; }
* { box-sizing:border-box; }
html { font-size:100%; scroll-behavior:auto; }
body { margin:0; color:var(--ink); background:var(--paper); font:1.125rem/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
[id] { scroll-margin-top:1.5rem; }
.wrap { width:calc(100% - 3rem); max-width:62rem; margin-inline:auto; }
.site-header { border-bottom:1px solid var(--line); }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding-block:1.25rem; }
.brand { color:var(--ink); font-weight:650; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; font-size:1rem; }
nav a { display:inline-block; padding:.4rem 0; }
nav a[aria-current=page] { font-weight:700; text-decoration-thickness:2px; }
.skip { position:absolute; left:1rem; top:-8rem; background:var(--paper); padding:.75rem; z-index:10; }
.skip:focus { top:.5rem; }
main { padding-block:3rem 4rem; min-height:65vh; }
h1,h2,h3,h4 { line-height:1.25; font-weight:650; color:var(--ink); overflow-wrap:anywhere; }
h1 { font-size:clamp(2rem,4vw,2.7rem); margin:0 0 1rem; letter-spacing:-.025em; }
h2 { font-size:1.5rem; margin:0 0 1rem; }
h3 { font-size:1.18rem; margin:1.5rem 0 .65rem; }
p { margin:0 0 1rem; }
main section + section { margin-top:2.75rem; }
.prose { max-width:70ch; }
.intro { display:grid; grid-template-columns:minmax(0,1fr) 10rem; gap:2.75rem; align-items:start; }
.portrait { width:10rem; height:auto; margin-top:.3rem; }
.position { margin-bottom:1.25rem; color:var(--muted); }
.text-links { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin-top:1.25rem; font-size:1rem; }
.text-links a { padding-block:.25rem; }
.home-section { border-top:1px solid var(--line); padding-top:1.75rem; margin-top:2.75rem; }
.publication-list,.writing-list { list-style:none; margin:0; padding:0; }
.publication-list li,.writing-list li { padding:1.1rem 0; border-bottom:1px solid var(--line); }
.publication-list li:first-child,.writing-list li:first-child { padding-top:0; }
.publication-list h3,.writing-list h3 { font-size:1.125rem; margin:0 0 .35rem; }
.publication-list p,.writing-list p { margin:.25rem 0; }
.authors,.metadata,.venue { color:var(--muted); font-size:.95rem; }
.paper-links { font-size:.95rem; }
.section-link { margin-top:1rem; }
.site-footer { border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.footer-inner { padding-block:1.5rem; display:flex; justify-content:space-between; gap:.75rem 2rem; flex-wrap:wrap; }
.footer-inner p { margin:0; }
.article-body { max-width:70ch; margin-inline:auto; }
.article-body section { margin-top:2rem; }
.article-body h2 { margin-top:2.75rem; }
.article-body h3 { margin-top:2rem; }
.post-title { margin:0 0 .5rem; }
.post-subtitle { font-size:1.3rem; line-height:1.4; }
.post-meta { font-size:.95rem; color:var(--muted); }
.post-categories { display:flex; gap:1rem; color:var(--muted); font-size:.9rem; margin-bottom:1.75rem; }
.article-nav { max-width:70ch; margin:0 auto 1.75rem; }
.article-body blockquote { margin:1.75rem 0; padding-left:1.25rem; border-left:2px solid var(--accent); }
.article-body blockquote p { margin:0; }
figure { margin:2rem 0; }
img { max-width:100%; height:auto; }
figure img { display:block; margin-inline:auto; }
figcaption { font-size:.95rem; color:var(--muted); line-height:1.55; margin-top:.75rem; }
.table-scroll { overflow-x:auto; margin:1rem 0; }
table { border-collapse:collapse; width:100%; font-size:1rem; }
th,td { padding:.55rem; border-bottom:1px solid var(--line); text-align:left; }
th { color:var(--accent); }
code,pre { font-family:ui-monospace,monospace; font-size:.95em; }
pre { overflow-x:auto; padding:1rem; background:#E7EBEA; }
math[display=block] { display:block; overflow-x:auto; padding-block:.75rem; }
p,li,td,th { overflow-wrap:break-word; }
.private-preview { border:2px solid var(--accent); padding:1rem; }
@media (max-width:48rem) { .header-inner { align-items:flex-start; flex-direction:column; gap:.5rem; } main { padding-top:2rem; } }
@media (max-width:34rem) { .wrap { width:calc(100% - 2rem); } .intro { display:flex; flex-direction:column; gap:1rem; } .portrait { width:8rem; margin-top:0; } nav { gap:.25rem 1rem; } }
@page { margin:18mm; }
@media print { body { background:#fff; color:#000; font-size:11pt; } .wrap { width:100%; max-width:none; } .site-header,.site-footer,.skip,.article-nav,.text-links { display:none; } main { padding:0; } .article-body { max-width:none; } h1,h2,h3,figcaption { break-after:avoid; } figure,tr { break-inside:avoid; } a { color:#000; } pre,.table-scroll,math[display=block] { overflow:visible; } p { orphans:3; widows:3; } }
