:root {
  --bg:#FFFFFF;
  --text:#0A0A0A;
  --muted:#6B7280;
  --line:#E5E7EB;
  --accent:#2563EB;

  --sans:'Inter', sans-serif;
  --display:'Space Grotesk', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}

* { box-sizing:border-box; margin:0; padding:0; }

body {
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.6;
}

.container {
  max-width:900px;
  margin:0 auto;
  padding:50px 20px 50px;
}

/* NAV */
nav {
  position:sticky;
  top:0;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}

.nav-inner {
  max-width:900px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:56px;
}

.nav-title {
  font-family:var(--display);
  font-weight:500;
  font-size:16px;
  padding-left:20px;
}

.nav-links {
  padding-right:20px;
}

.nav-links a {
  font-family:var(--mono);
  font-size:12px;
  margin-left:16px;
  color:var(--muted);
  text-decoration:none;
}

.nav-links a:hover,
.nav-links a.active {
  color:var(--text);
}

/* INTRO */
.intro {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.intro-text {
  max-width:600px;
}

.intro-image img {
  width:200px;
  height:250px;
  object-fit:cover;
  border-radius:6px;
}

/* TYPOGRAPHY */
h1 {
  font-family:var(--display);
  font-size:48px;
  font-weight:500;
  letter-spacing:-0.02em;
  margin-bottom:8px;
}

.subtitle {
  font-size:16px;
  color:var(--muted);
  margin-bottom:28px;
}

.bio {
  font-size:16px;
  max-width:600px;
}

.link {
  color:var(--accent);
  text-decoration:none;
}

.link:hover { text-decoration:underline; }

p { margin-bottom:1.5em; }

li { margin-left:10px; }
ul li { margin-left:20px; }

/* SECTIONS */
.section {
  margin-top:70px;
}

.section-title {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.12em;
  color:var(--muted);
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
}

.item {
  padding:14px 0;
  border-top:1px solid var(--line);
}

.section-title + .item {
  border-top:none;
}

.item-title {
  font-size:16px;
  font-weight:500;
}

.item-meta {
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
  margin-top:4px;
  margin-bottom:8px;
}

/* ABSTRACT */
.abstract-toggle {
  font-family:var(--mono);
  font-size:12px;
  color:var(--accent);
  cursor:pointer;
  margin-top:6px;
}

.abstract-toggle:hover { text-decoration:underline; }

.abstract {
  font-family:var(--sans);
  color:var(--muted);
  font-size:12px;
  margin-top:10px;
  max-width:700px;
}

.hidden { display:none; }

/* RESEARCH — filter & papers */
.filter {
  margin:20px 0 30px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.filter button {
  font-family:var(--mono);
  font-size:12px;
  border:1px solid var(--line);
  background:none;
  padding:5px 10px;
  cursor:pointer;
}

.filter button.active {
  background:var(--text);
  color:var(--bg);
}

.paper {
  padding:16px 0;
  border-top:1px solid var(--line);
}

.title {
  font-family:var(--sans);
  font-size:16px;
  font-weight:500;
}

.meta {
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
}

.links a {
  font-family:var(--mono);
  font-size:12px;
  margin-right:12px;
  color:var(--accent);
  text-decoration:none;
}

.links a:hover { text-decoration:underline; }
