/* Shared styles for the static research site. No build step or external dependencies. */
:root { color-scheme:light; --paper:#fcfbf8; --ink:#303b36; --muted:#626a64; --link:#355d4a; --line:#dedfd8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.7 Georgia,'Times New Roman',serif; }
.page { max-width:674px; padding:55px 42px 28px; margin:0 auto; }
header { margin-bottom:38px; }
.name { display:inline-block; color:var(--ink); font-size:38px; line-height:1.2; letter-spacing:-.8px; text-decoration:none; margin-bottom:16px; }
nav { display:flex; flex-wrap:wrap; gap:8px 22px; font:14px/1.7 system-ui,sans-serif; }
nav a { text-decoration:none; }
nav a[aria-current] { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
a { color:var(--link); text-decoration-thickness:1px; text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:2px solid var(--link); outline-offset:5px; border-radius:2px; }
h1,h2,h3 { font-weight:400; }
h1 { font-size:32px; line-height:1.25; margin:0 0 18px; }
h1.intro { font-size:19px; line-height:1.7; margin:0 0 39px; letter-spacing:0; }
h2 { font-size:25px; line-height:1.3; margin:0 0 13px; }
h3 { font-size:21px; line-height:1.4; margin:0 0 10px; }
p { margin:0 0 17px; }
.lead { font-size:19px; margin-bottom:32px; }
section { margin:0 0 34px; scroll-margin-top:24px; }
.featured { margin:22px 0 0; padding-left:17px; border-left:1px solid #ced6ce; }
.featured p { margin-bottom:5px; }
.meta,.authors { color:var(--muted); font-size:14px; }
.authors { margin-bottom:4px; }
.topics { padding-bottom:24px; border-bottom:1px solid var(--line); margin-bottom:30px; gap:7px 20px; }
.topics a { text-decoration:underline; }
.paper { padding:24px 0; border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.paper:last-child { border-bottom:0; }
.paper p { font-size:15px; }
.paper .meta,.paper .authors,.paper-link { font-size:14px; }
details { font-size:15px; }
summary { cursor:pointer; color:var(--link); width:fit-content; padding:4px 0; }
details[open] summary { margin-bottom:10px; }
details p { margin:0 0 12px; }
.back { font-size:14px; margin-top:28px; }
ul { padding-left:22px; }
li { margin-bottom:8px; }
footer { margin-top:39px; padding-top:17px; border-top:1px solid var(--line); font:12px/1.6 system-ui,sans-serif; color:var(--muted); }
.skip { position:absolute; top:8px; left:8px; transform:translateY(-200%); padding:8px 12px; background:var(--paper); }
.skip:focus { transform:none; }
@media(max-width:480px) { .page { padding:32px 23px 24px; } .name { font-size:33px; } body { font-size:16px; } h1.intro,.lead { font-size:18px; } h2 { font-size:23px; } h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .page { max-width:none; padding:0; } nav,.skip,.back,footer { display:none; } details>p { display:block!important; } .paper { break-inside:avoid; } a { color:inherit; } }
