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

.md-typeset {
  font-size: 1rem;
  line-height: 1.7;
}

/* White-mode: give the header a subtle bottom border so it doesn't float */
[data-md-color-scheme="default"] .md-header {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

/* Sidebar navigation font size (not covered by .md-typeset) */
.md-nav {
  font-size: .85rem;
}

/* ── Footer: hide the empty/unwanted footer ───────────────────────── */

.md-footer {
  display: none !important;
}

/* ── Hero cards ──────────────────────────────────────────────────── */

.lc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.2rem;
  margin: 2rem 0;
}

.lc-card {
  position: relative;           /* anchor for the full-card link overlay */
  display: flex;
  flex-direction: column;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.5rem;
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
}

.lc-card:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
  transform: translateY(-3px);
}

/* Full-card click target: the title link's ::after stretches to cover the card */
.lc-card-body h3 a {
  color: var(--md-primary-fg-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lc-card-body h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
}

/* Fixed dark background so the white SVG elements are always visible */
.lc-card-svg-wrap {
  background: #1a237e !important;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem;
  height: 130px;
}

.lc-card-body {
  padding: 1rem 1.2rem 1.2rem;
  flex: 1;
}

.lc-card-body h3 {
  margin: 0 0 .5rem;
  font-size: 1rem;
}

.lc-card-body p {
  margin: 0;
  font-size: .9rem;
  color: var(--md-default-fg-color--light);
}

/* ── Features SVG ────────────────────────────────────────────────── */

.lc-svg-features .lc-amplitude {
  opacity: 0;
  transition: opacity 0.45s ease;
}

.lc-card:hover .lc-svg-features .lc-amplitude {
  opacity: 1;
}

/* ── Embeddings SVG ──────────────────────────────────────────────── */

.lc-svg-embed .lc-conn {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  transition: stroke-dashoffset 0.5s ease;
}

.lc-card:hover .lc-svg-embed .lc-conn {
  stroke-dashoffset: 0;
}

.lc-svg-embed .lc-vec-text {
  opacity: 0;
  transition: opacity 0.4s ease 0.5s;
}

.lc-card:hover .lc-svg-embed .lc-vec-text {
  opacity: 1;
}

/* ── dm-dt SVG ───────────────────────────────────────────────────── */

.lc-svg-dmdt .lc-cell-hover {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(1) { opacity: 1; transition-delay: 0.00s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(2) { opacity: 1; transition-delay: 0.07s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(3) { opacity: 1; transition-delay: 0.14s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(4) { opacity: 1; transition-delay: 0.21s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(5) { opacity: 1; transition-delay: 0.28s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(6) { opacity: 1; transition-delay: 0.35s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(7) { opacity: 1; transition-delay: 0.42s; }
.lc-card:hover .lc-svg-dmdt .lc-cell-hover:nth-child(8) { opacity: 1; transition-delay: 0.49s; }

/* reduced-motion: no animation, just static */
@media (prefers-reduced-motion: reduce) {
  .lc-svg-features .lc-amplitude,
  .lc-svg-embed .lc-conn,
  .lc-svg-embed .lc-vec-text,
  .lc-svg-dmdt .lc-cell-hover {
    opacity: 1 !important;
    stroke-dashoffset: 0 !important;
    transition: none !important;
  }
}

/* ── Notebooks: hide cell count badges ───────────────────────────── */

.jp-Cell-inputWrapper .jp-InputPrompt {
  display: none !important;
}
