:root{color-scheme:light;--paper:#f5f2e9;--ink:#202823;--green:#315d48;--line:#c9d0c3}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 system-ui,sans-serif}
header,main,footer{width:min(1120px,90%);margin:auto}
header{padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}
a{color:var(--green);text-underline-offset:.2em}
a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.brand{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--green)}
.brand svg{display:block;width:100%;height:100%}
nav{display:flex;gap:.35rem 1rem;flex-wrap:wrap}
nav a{font-size:.875rem}
nav a[aria-current]{font-weight:750}
main{padding:clamp(2.5rem,7vw,6rem) 0}
h1,h2{font-family:Georgia,serif;line-height:1.1;font-weight:normal}
h1{font-size:clamp(2.8rem,8vw,6.4rem);letter-spacing:-.045em;margin:.2em 0}
h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0 0 .45em}
.intro{font-size:clamp(1.1rem,2vw,1.4rem);max-width:62ch}
.label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--green)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin-top:3rem}
.card{background:#fffdf6;display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:.3rem;padding:1.6rem}
.card:hover{border-color:var(--green);background:#edf1e8}
.card .label{display:flex;justify-content:space-between;margin-bottom:2.5rem}
.card p{margin:0}
section{margin-top:3rem;max-width:52rem}
.timeline{padding:0;list-style:none}
.timeline li{display:grid;grid-template-columns:8rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:.9rem 0}
.timeline li span{color:var(--green);font-variant-numeric:tabular-nums}
footer{border-top:1px solid var(--line);padding:1rem 0 2rem;color:var(--green);font-size:.875rem}
@media(max-width:480px){.timeline li{grid-template-columns:1fr;gap:.2rem}.card .label{margin-bottom:1.2rem}}
.count{font:500 .55em system-ui,sans-serif;color:var(--green)}
.bibliography{padding-inline-start:2rem}
.bibliography li{border-top:1px solid var(--line);padding:.8rem 0 .8rem .3rem;overflow-wrap:anywhere}
.bibliography li::marker{color:var(--green);font-variant-numeric:tabular-nums}
.home{color-scheme:dark;--paper:#101b32;--ink:#f3f7ff;--green:#b8d5ff;--line:#40516e}
.home body{background:radial-gradient(ellipse at 82% 8%,#213a67,transparent 55%),var(--paper);min-height:100vh}
.home .card{--card:#161716;--card-hover:#222420;--card-accent:#ead9b9;--card-border:#6f685d;background:var(--card);border-color:var(--card-border);color:#fff}
.home .card:nth-child(2){--card:#103f45;--card-hover:#18545a;--card-accent:#c1f2ed;--card-border:#568b91}
.home .card:nth-child(3){--card:#33285f;--card-hover:#44377a;--card-accent:#e2d9ff;--card-border:#9382c6}
.home .card .label{color:var(--card-accent)}
.home .card:hover{background:var(--card-hover);border-color:var(--card-accent)}
.academic{--paper:#f7f6ff;--ink:#22203b;--green:#51418c;--line:#cec7e8}
.academic body{background:linear-gradient(180deg,#e8e3fa 0,#f7f6ff 27rem)}
.academic h1,.academic h2{color:#382a69}

.home .pending:hover{background:var(--card);border-color:var(--card-border)}
.pending .status{margin-top:1rem;color:var(--card-accent);font-weight:650}
