/* Minimal, elegant dark theme */
:root {
  --bg: #0f1115;
  --card: #171a21;
  --text: #e5e7eb;
  --muted: #9ca3af;
  --accent: #60a5fa;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { width: min(1100px, 92%); margin: 0 auto; }

.site-header, .site-footer {
  padding: 56px 0;
  border-block: 1px solid #1e222b;
}
.site-footer { padding: 28px 0; color: var(--muted); font-size: 14px; }

.header-wrap {
  display: grid;
  grid-template-columns: 1fr min(260px, 28%);
  gap: 32px;
  align-items: center;
}
.title h1 { margin: 0 0 6px; font-size: 48px; letter-spacing: -0.02em; }
.subtitle, .meta { margin: 0; color: var(--muted); font-weight: 600; }
.meta { margin-top: 8px; }
.meta a { color: var(--text); opacity: .9; }
.meta a:hover { color: var(--accent); }

.avatar img {
  width: 100%;
  border-radius: 20px;
  border: 1px solid #222;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  display: block;
}

section {
  padding: 32px 0;
  border-bottom: 1px solid #1e222b;
}
section:last-child { border: none; padding-bottom: 64px; }

h2 { font-size: 26px; margin: 0 0 12px; letter-spacing: .01em; }
p, .authors, .venue { margin: 0 0 12px; color: #d2d6dd; }
ul { margin: 0; padding-left: 20px; }

/* NEWS & PUBLICATIONS */
/* NEWS & PUBLICATIONS */
.news, .pubs { list-style: none; padding-left: 0; }

.news li, .pubs li {
  background: var(--card);
  border: 1px solid #1f2430;
  border-radius: 14px;
  margin: 10px 0;
  padding: 14px;
}

/* Make news text flow as a regular paragraph */
.news li { /* no flex here */ }

.news .date {
  display: inline-block;       /* keeps date as its own inline box */
  width: 72px;                 /* fixed column for alignment */
  margin-right: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  vertical-align: top;
}

/* (optional) link styling inside news */
.news li a { color: var(--accent); }
.news li a:hover { text-decoration: underline; }

/* pubs stays block as before */
.pubs li { display: block; }
.pub-title { font-weight: 700; }
.links a { margin-right: 10px; }
