/* memory-esn — pydata-sphinx-theme accent overrides (reservoir blue / readout amber) */

html[data-theme="light"] {
  --pst-color-primary: #0E4C82;
  --pst-color-primary-highlight: #1264A3;
  --pst-color-secondary: #CF7A22;
  --pst-color-link: #1264A3;
  --pst-color-link-hover: #0E4C82;
  --pst-color-inline-code: #A65F16;
  --pst-color-target: #f6e9d8;
}
html[data-theme="dark"] {
  --pst-color-primary: #54A6E6;
  --pst-color-primary-highlight: #8CC5F0;
  --pst-color-secondary: #EDA24E;
  --pst-color-link: #6FB3E0;
  --pst-color-link-hover: #8CC5F0;
  --pst-color-inline-code: #F0A94A;
}

/* ---- home hero ---- */
.hero-band {
  padding: 2.4rem 0 1.2rem;
  border-bottom: 1px solid var(--pst-color-border);
  margin-bottom: 1.6rem;
}
.hero-eyebrow {
  font-family: var(--pst-font-family-monospace);
  font-size: .74rem; letter-spacing: .16em; font-weight: 600;
  color: var(--pst-color-primary-highlight); margin-bottom: .3rem;
}
.hero-band h1 {
  font-size: clamp(2rem, 4.4vw, 3rem);
  letter-spacing: -.03em; line-height: 1.04; margin: .1rem 0 .7rem; font-weight: 720;
}
.hero-band > p { font-size: 1.08rem; max-width: 60ch; color: var(--pst-color-text-muted); }

/* cards a touch tighter */
.sd-card { border-radius: 12px; transition: transform .16s ease, box-shadow .16s ease; }
.sd-card:hover { transform: translateY(-2px); }
.sd-card-title { font-size: 1.02rem; }

/* code blocks: rounded, subtle */
div.highlight { border-radius: 10px; }
.bd-content pre { border-radius: 10px; }

/* logo wordmark spacing */
.navbar-brand .title { font-family: var(--pst-font-family-monospace); font-weight: 700; letter-spacing: -.01em; }

/* tables from list-table: tighter, tabular figures */
table.table td, table.table th { font-variant-numeric: tabular-nums; }

/* remove the (now empty) left section-navigation column on every page */
.bd-sidebar-primary { display: none !important; }
/* let the article use the reclaimed width, but keep a comfortable measure */
.bd-main .bd-content { justify-content: center; }

/* ---- hero banner ---- */
.hero-banner {
  display: block; width: 100%; height: auto; margin: 0.2rem 0 1.6rem;
  border-radius: 18px; box-shadow: 0 18px 44px -20px rgba(8, 22, 36, 0.55);
}

/* ---- the two model cards (fESN / wESN) ---- */
.model-cards { margin: 0.4rem 0 1.6rem; }
.model-card { border-radius: 14px; border-top-width: 3px; transition: transform .16s ease, box-shadow .16s ease; }
.model-card:hover { transform: translateY(-3px); }
.model-card-f { border-top-color: var(--pst-color-primary); }
.model-card-w { border-top-color: var(--pst-color-secondary); }
.model-card .sd-card-title { font-family: var(--pst-font-family-monospace); font-size: 1.05rem; letter-spacing: -.01em; }
.model-card-f .sd-card-title { color: var(--pst-color-primary); }
.model-card-w .sd-card-title { color: var(--pst-color-secondary); }
.model-card .sd-card-body > p:first-of-type {   /* the formula line */
  font-family: var(--pst-font-family-monospace); font-size: .92rem;
  background: var(--pst-color-surface); border: 1px solid var(--pst-color-border);
  border-radius: 8px; padding: 7px 10px; margin-bottom: .7rem; overflow-x: auto;
}

/* ---- performance "ours vs others" cards ---- */
.perf-cards { margin: 1rem 0 1.4rem; }
.perf-card { text-align: center; border-radius: 14px; }
.perf-card .sd-card-header {
  border: 0; background: transparent; padding: 1.1rem 1rem 0;
  font-size: 2.5rem; font-weight: 780; letter-spacing: -.03em; line-height: 1;
  color: var(--pst-color-primary); font-variant-numeric: tabular-nums;
}
.perf-card:nth-child(2) .sd-card-header { color: var(--pst-color-secondary); }
.perf-card .sd-card-body {
  color: var(--pst-color-text-muted); font-size: .95rem; padding: .55rem 1rem 1.1rem;
}
.perf-table { font-variant-numeric: tabular-nums; }
.perf-table td:last-child, .perf-table th:last-child { text-align: right; }
