@font-face { font-family: Ember; src: url('../fonts/AmazonEmberDisplay_Rg.subset.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Ember; src: url('../fonts/AmazonEmberDisplay_Md.subset.woff2') format('woff2'); font-weight: 500 600; font-display: swap; }
@font-face { font-family: Ember; src: url('../fonts/AmazonEmberDisplay_Bd.subset.woff2') format('woff2'); font-weight: 700; font-display: swap; }
:root { color-scheme: light dark; --ink: #2b343e; --muted: #667180; --page: #fff; --link: #005bbd; --rule: #c4dce0; }
* { box-sizing: border-box; }
body { max-width: 960px; margin: auto; padding: 28px; background: var(--page); color: var(--ink); font: 17px/1.65 Ember, sans-serif; font-synthesis: style; }
a { color: var(--link); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
header { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 32px; font-size: 15px; }
h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; margin: 12px 0 16px; font-weight: 700; }
h2 { font-size: 26px; line-height: 1.3; font-weight: 500; }
h3 { font-size: 16px; font-weight: 500; }
p { margin: 12px 0; }
.eyebrow { text-transform: uppercase; font-size: 13px; letter-spacing: .12em; }
.byline, .venue { color: var(--muted); font-size: 14px; }
.intro { margin-top: 26px; }
.illustration { display: block; width: 100%; height: clamp(100px, 20vw, 210px); object-fit: cover; margin: 20px 0; }
nav { display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 15px; }
section { margin-top: 48px; border-top: 1px solid var(--rule); padding-top: 16px; scroll-margin-top: 24px; }
.papers { list-style: none; padding: 0; }
.papers li { margin: 24px 0; padding-left: 18px; border-left: 1px solid var(--rule); }
.papers p { margin: 5px 0; font-size: 15px; }
.paper-title { font-weight: 500; }
.papers .venue, .papers .paper-links { font-size: 14px; }
footer { border-top: 1px solid var(--rule); margin-top: 48px; padding: 24px 0; font-size: 15px; }
.skip-link, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.skip-link:focus { position: static; width: auto; height: auto; clip-path: none; }
@media (max-width: 600px) { body { padding: 20px; font-size: 16px; } header { font-size: 14px; } h2 { font-size: 23px; } }
:root[data-theme="dark"] { color-scheme: dark; --ink: #e0e6ed; --muted: #b2bdca; --page: #0e151c; --link: #72c0ff; --rule: #354954; }
:root[data-theme="dark"] .illustration { filter: invert(1) hue-rotate(180deg); mix-blend-mode: screen; }
