/* ═══════════════════════════════════════════════
   SimPaths Documentation — Institutional Theme
   Inter typography · restrained scholarly palette
═══════════════════════════════════════════════ */

/* ── Self-hosted fonts ── */
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter.woff2") format("woff2");
  font-weight: 100 900;
  font-display: optional;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono.woff2") format("woff2");
  font-weight: 100 800;
  font-display: optional;
}

:root {
  --md-text-font: "Inter";
  --md-code-font: "JetBrains Mono";
  --sp-heading-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sp-brand-font: var(--sp-heading-font);
  --sp-hero-title-font: var(--sp-heading-font);
  --sp-research-font: var(--md-text-font), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Shared editorial scale; display branding and compact metadata stay distinct. */
  --sp-title-size: 1.8rem;
  --sp-title-weight: 560;
  --sp-section-size: 1.16rem;
  --sp-section-weight: 520;
  --sp-subheading-size: 0.95rem;
  --sp-subheading-weight: 560;
  --sp-reading-copy-size: 0.82rem;
  --sp-reading-line-height: 1.75;
  --sp-reading-measure: 42rem;
  --sp-section-gap: 2.1rem;
  --sp-subheading-gap: 1.35rem;
  --sp-label-size: 0.7rem;
  --sp-label-weight: 550;
  --sp-meta-size: 0.62rem;
  --sp-nav-size: 0.675rem;
  --sp-toc-size: 0.67rem;
}

/* ── Manuscript Palette ── */
:root {
  --sp-midnight:        #2A3848;
  --sp-midnight-deep:   #1e2c3a;
  --sp-crimson:         #2f6f96;
  --sp-paper:           #FAF9F5;
  --sp-ghost:           #C3C6D5;
  --sp-wine:            #42566b;
  --sp-wine-soft:       #617388;
  --sp-accent:          #2478b5;
  --sp-accent-light:    #3b9ede;
  --sp-accent-bright:   #4fb3f0;
  --sp-hairline:        linear-gradient(to right, #C3C6D5 0%, #C3C6D5 40%, transparent 100%);
  --sp-surface:         rgba(255,255,255,0.74);
  --sp-surface-strong:  rgba(255,255,255,0.9);
  --sp-border-soft:     rgba(42,56,72,0.1);
  --sp-border-strong:   rgba(42,56,72,0.16);
  --sp-shadow-soft:     0 10px 28px rgba(32,22,28,0.06);
  --sp-shadow-medium:   0 18px 38px rgba(32,22,28,0.1);
  --sp-sidebar-hover:   rgba(61,93,130,0.08);
  --sp-sidebar-active:  rgba(61,93,130,0.14);
  --sp-transition:      all 0.2s ease;
  --sp-nav-surface:     linear-gradient(135deg, rgba(21,34,73,0.98) 0%, rgba(33,54,108,0.98) 54%, rgba(52,84,148,0.98) 100%);
  --sp-nav-surface-strong:
    linear-gradient(90deg, rgba(24,76,87,0.94) 0%, rgba(35,96,108,0.94) 52%, rgba(29,84,95,0.94) 100%);
  --sp-nav-border:      rgba(250,249,245,0.12);
  --sp-nav-shadow:      0 10px 28px rgba(8,16,36,0.28);
  --sp-nav-text:        rgba(250,249,245,0.84);
  --sp-nav-text-strong: rgba(250,249,245,0.98);
  --sp-nav-pill-rest:   rgba(250,249,245,0.09);
  --sp-nav-pill:        rgba(250,249,245,0.15);
  --sp-nav-pill-active: rgba(250,249,245,0.2);
  --sp-nav-pill-border: rgba(250,249,245,0.16);
  --sp-nav-pill-shadow: 0 10px 22px rgba(7,19,27,0.2);
  --sp-home-hero-bg: #000a2d;
  --sp-home-max: 61rem;
}

/* Full-bleed bands and off-canvas Material drawers must not widen the page. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

/* ═══════════════════════════════════════════════
   MATERIAL THEME PALETTE
═══════════════════════════════════════════════ */

[data-md-color-primary="custom"] {
  --md-primary-fg-color:        #2A3848;
  --md-primary-fg-color--light: #3a4e62;
  --md-primary-fg-color--dark:  #1e2c3a;
  --md-primary-bg-color:        var(--sp-paper);
  --md-primary-bg-color--light: rgba(250,249,245,0.7);
}

[data-md-color-accent="custom"] {
  --md-accent-fg-color:              var(--sp-crimson);
  --md-accent-fg-color--transparent: rgba(47,111,150,0.1);
  --md-accent-bg-color:              var(--sp-paper);
  --md-accent-bg-color--light:       rgba(250,249,245,0.7);
}

/* Paper-white background for the whole page */
[data-md-color-scheme="default"] {
  --md-default-bg-color:          var(--sp-paper);
  --md-default-bg-color--light:   #f4f3ef;
  --md-default-bg-color--lighter: #eeeee8;
  --md-default-bg-color--lightest:#e6e5e0;
}

/* ═══════════════════════════════════════════════
   DARK MODE
═══════════════════════════════════════════════ */

[data-md-color-scheme="slate"] {
  --md-default-bg-color:          #141e2a;
  --md-default-bg-color--light:   #1a2836;
  --md-default-bg-color--lighter: #223444;
  --md-default-bg-color--lightest:#2c3f54;
  --md-code-bg-color:             #1a2836;
  --md-default-fg-color:          rgba(250,249,245,0.92);
  --md-default-fg-color--light:   rgba(250,249,245,0.72);
  --md-default-fg-color--lighter: rgba(250,249,245,0.48);
  --md-default-fg-color--lightest:rgba(250,249,245,0.14);
  --sp-surface:                   rgba(25,37,49,0.84);
  --sp-surface-strong:            rgba(28,42,56,0.94);
  --sp-border-soft:               rgba(250,249,245,0.08);
  --sp-border-strong:             rgba(250,249,245,0.14);
  --sp-shadow-soft:               0 10px 28px rgba(0,0,0,0.22);
  --sp-shadow-medium:             0 18px 38px rgba(0,0,0,0.3);
  --sp-sidebar-hover:             rgba(92,184,240,0.08);
  --sp-sidebar-active:            rgba(92,184,240,0.14);
  --sp-nav-surface:               linear-gradient(135deg, rgba(11,20,46,0.97) 0%, rgba(18,31,66,0.97) 50%, rgba(29,47,92,0.97) 100%);
  --sp-nav-surface-strong:        linear-gradient(90deg, rgba(18,56,67,0.92), rgba(24,72,84,0.92));
  --sp-nav-border:                rgba(250,249,245,0.1);
  --sp-nav-shadow:                0 10px 28px rgba(0,0,0,0.28);
  --sp-nav-text:                  rgba(250,249,245,0.8);
  --sp-nav-text-strong:           rgba(250,249,245,0.94);
  --sp-nav-pill-rest:             rgba(250,249,245,0.06);
  --sp-nav-pill:                  rgba(250,249,245,0.1);
  --sp-nav-pill-active:           rgba(250,249,245,0.16);
  --sp-nav-pill-border:           rgba(250,249,245,0.11);
  --sp-nav-pill-shadow:           0 10px 22px rgba(0,0,0,0.22);
}

[data-md-color-scheme="slate"] .md-typeset a {
  color: #5cb8f0 !important;
}
[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #8dd0f7 !important;
}

[data-md-color-scheme="slate"] .md-nav__item--active > .md-nav__link {
  color: #5cb8f0 !important;
}
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: #8dd0f7 !important;
}
[data-md-color-scheme="slate"] .md-nav__link--active {
  color: #5cb8f0 !important;
}

[data-md-color-scheme="slate"] .md-typeset .highlight {
  box-shadow: none;
}

[data-md-color-scheme="slate"] .md-typeset blockquote {
  background: linear-gradient(135deg, rgba(32,46,60,0.9) 0%, rgba(25,36,47,0.96) 100%);
  border-color: var(--sp-border-soft);
  border-left-color: rgba(92,184,240,0.32);
}

/* ═══════════════════════════════════════════════
   LINKS
═══════════════════════════════════════════════ */

.md-typeset a:not(.md-button):not(.headerlink):not(.md-nav__link) {
  color: var(--sp-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.md-typeset a:not(.md-button):not(.headerlink):not(.md-nav__link):hover {
  color: var(--sp-crimson);
  border-bottom-color: var(--sp-crimson);
}

[data-md-color-scheme="slate"] .md-typeset a:not(.md-button):not(.headerlink):not(.md-nav__link):hover {
  color: #8dd0f7 !important;
  border-bottom-color: #8dd0f7 !important;
}
