/* ─── Design System ─────────────────────────────────────────────────────────── */

:root {
  --hue-brand:   28;
  --hue-link:    212;
  --hue-neutral: 215;

  --c-brand:       hsl(var(--hue-brand), 90%, 55%);
  --c-brand-light: hsl(var(--hue-brand), 90%, 75%);
  --c-link:        hsl(var(--hue-link), 90%, 48%);

  --c-bg-body:    hsl(var(--hue-neutral), 15%, 94%);
  --c-bg-surface: hsl(0, 0%, 100%);
  --c-bg-header:  hsl(var(--hue-neutral), 15%, 97%);

  --c-border:     hsl(var(--hue-neutral), 15%, 82%);
  --c-bg-gray:    hsl(var(--hue-neutral), 10%, 90%);

  --c-text-main:  hsl(var(--hue-neutral), 20%, 20%);
  --c-text-sub:   hsl(var(--hue-neutral), 15%, 40%);
  --c-text-muted: hsl(var(--hue-neutral), 10%, 46%);

  /* Wire into Bootstrap */
  --bs-body-bg:          var(--c-bg-body);
  --bs-body-color:       var(--c-text-main);
  --bs-link-color:       var(--c-link);
  --bs-link-hover-color: var(--c-brand);
  --bs-body-font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --bs-heading-color:    var(--c-text-main);

  color-scheme: light;
}

/* Dark mode — activated when Quarto adds data-bs-theme="dark" */
[data-bs-theme="dark"] {
  --c-brand:       hsl(var(--hue-brand), 80%, 60%);
  --c-brand-light: hsl(var(--hue-brand), 70%, 45%);
  --c-link:        hsl(var(--hue-link), 80%, 65%);

  --c-bg-body:    hsl(var(--hue-neutral), 15%, 10%);
  --c-bg-surface: hsl(var(--hue-neutral), 15%, 14%);
  --c-bg-header:  hsl(var(--hue-neutral), 15%, 12%);

  --c-border:     hsl(var(--hue-neutral), 10%, 25%);
  --c-bg-gray:    hsl(var(--hue-neutral), 10%, 20%);

  --c-text-main:  hsl(var(--hue-neutral), 10%, 88%);
  --c-text-sub:   hsl(var(--hue-neutral), 10%, 68%);
  --c-text-muted: hsl(var(--hue-neutral), 8%, 55%);

  --bs-body-bg:          var(--c-bg-body);
  --bs-body-color:       var(--c-text-main);
  --bs-link-color:       var(--c-link);
  --bs-link-hover-color: var(--c-brand);

  color-scheme: dark;
}

/* ─── Base ───────────────────────────────────────────────────────────────────── */

body {
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  background: var(--c-bg-body);
  color: var(--c-text-main);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--c-link);
  text-decoration: none;
}

a:hover {
  color: var(--c-brand);
  text-decoration: underline;
}

:focus-visible {
  outline: 2px solid var(--c-link);
  outline-offset: 2px;
}

/* ─── Typography ─────────────────────────────────────────────────────────────── */

h1, h2, h3, h4 {
  font-family: system-ui, -apple-system, sans-serif;
  color: var(--c-text-main);
}

h2 {
  color: var(--c-brand);
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--c-border);
  margin-top: 1.8em;
}

h3 {
  font-size: 1.1rem;
  color: var(--c-text-sub);
  margin-top: 1.4em;
}

/* ─── Navbar ─────────────────────────────────────────────────────────────────── */

.navbar {
  background-color: var(--c-bg-header) !important;
  border-bottom: 2px solid var(--c-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.navbar-title {
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  background: linear-gradient(135deg, var(--c-brand), var(--c-brand-light));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.navbar .nav-link {
  font-family: system-ui, -apple-system, sans-serif;
  color: var(--c-text-sub) !important;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
  color: var(--c-brand) !important;
  -webkit-text-fill-color: var(--c-brand);
}

/* ─── Page content surface card ──────────────────────────────────────────────── */

#quarto-document-content {
  background: var(--c-bg-surface);
  padding: 2rem 2.4rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(15, 23, 42, 0.04);
}

/* ─── Paper list ─────────────────────────────────────────────────────────────── */

.listOfPapers li {
  padding: 0.5em 1em;
}

.listOfPapers li:nth-child(odd) {
  background-color: var(--c-bg-gray);
}

/* ─── PDF/file icons ─────────────────────────────────────────────────────────── */

.iconimg {
  float: left;
  width: 1em;
  height: 1em;
  padding: 3px;
  margin-right: 4px;
}

/* ─── Definition terms (\defin{}) ────────────────────────────────────────────── */

.defin {
  color: var(--c-link);
  font-weight: 600;
}

/* ─── Contact block (photo + info on About page) ────────────────────────────── */

.contact-block {
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 2rem;
}

.contact-block p {
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size: 1rem;
  line-height: 1.8;
  margin: 0;
}

/* ─── Hide redundant page title (already shown in navbar) ───────────────────── */

#title-block-header {
  display: none;
}

/* ─── Responsive ─────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  #quarto-document-content {
    padding: 1rem;
    margin: 0.75rem 0;
    border-radius: 4px;
  }
}
