/* ═══════════════════════════════════════════════════
   Blinkin Brand Override — matches blinkin.io style
   ═══════════════════════════════════════════════════ */

/* ── Light Mode Colors ── */
[data-md-color-scheme="default"] {
  /* Primary brand colors */
  --md-primary-fg-color:         #1a1a1a;      /* Near-black header/nav */
  --md-primary-fg-color--light:  #313a4e;      /* Dark blue-gray */
  --md-primary-fg-color--dark:   #000000;
  --md-primary-bg-color:         #ffffff;
  --md-primary-bg-color--light:  #f7f8f8;      /* Blinkin light gray bg */

  /* Accent — Blinkin purple */
  --md-accent-fg-color:          #7b3eab;
  --md-accent-fg-color--transparent: rgba(123, 62, 171, 0.1);
  --md-accent-bg-color:          #7b3eab;
  --md-accent-bg-color--light:   rgba(123, 62, 171, 0.1);

  /* Text colors */
  --md-default-fg-color:         #1a1a1a;
  --md-default-fg-color--light:  #5d5959;      /* Blinkin gray */
  --md-default-fg-color--lighter: #aeafb4;     /* Blinkin muted gray */
  --md-default-fg-color--lightest: #e0e0e0;

  /* Background colors */
  --md-default-bg-color:         #ffffff;
  --md-default-bg-color--light:  #f7f8f8;      /* Blinkin litewhite */
  --md-default-bg-color--lighter: #f7f8f8;
  --md-default-bg-color--lightest: #fafafa;

  /* Code block background */
  --md-code-bg-color:            #f7f8f8;
  --md-code-fg-color:            #1a1a1a;

  /* Footer */
  --md-footer-bg-color:          #1a1a1a;
  --md-footer-bg-color--dark:    #111111;
  --md-footer-fg-color:          #aeafb4;
  --md-footer-fg-color--light:   #5d5959;
  --md-footer-fg-color--lighter: #aeafb4;

  /* Typeset link color — Blinkin blue */
  --md-typeset-a-color:          #0057b7;
}

/* ── Dark Mode Colors ── */
[data-md-color-scheme="slate"] {
  /* Primary — fg = header BACKGROUND, bg = header TEXT */
  --md-primary-fg-color:         #1a1a1a;      /* Header background */
  --md-primary-fg-color--light:  #2a2a2a;
  --md-primary-fg-color--dark:   #111111;
  --md-primary-bg-color:         #E5E9EE;      /* Header text/icons — LIGHT so they're visible */
  --md-primary-bg-color--light:  #aeafb4;

  /* Accent — Blinkin yellow in dark mode for contrast */
  --md-accent-fg-color:          #fffac0;
  --md-accent-fg-color--transparent: rgba(255, 250, 192, 0.12);
  --md-accent-bg-color:          #fffac0;
  --md-accent-bg-color--light:   rgba(255, 250, 192, 0.12);

  /* Backgrounds */
  --md-default-bg-color:         #1a1a1a;
  --md-default-bg-color--light:  #222222;
  --md-default-bg-color--lighter: #2a2a2a;
  --md-default-bg-color--lightest: #333333;

  /* Text */
  --md-default-fg-color:         #E5E9EE;
  --md-default-fg-color--light:  #aeafb4;
  --md-default-fg-color--lighter: #5d5959;
  --md-default-fg-color--lightest: #333333;

  /* Code */
  --md-code-bg-color:            #222222;
  --md-code-fg-color:            #E5E9EE;

  /* Footer */
  --md-footer-bg-color:          #111111;
  --md-footer-bg-color--dark:    #0a0a0a;

  /* Links */
  --md-typeset-a-color:          #fffac0;
}


/* ═══════════════════════════════
   Header / Top Navigation Bar
   ═══════════════════════════════ */

/* Header bar — Blinkin dark */
.md-header {
  background: #1a1a1a;
  box-shadow: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Tabs bar under header */
.md-tabs {
  background: #1a1a1a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.md-tabs__link {
  font-weight: 500;
  opacity: 0.7;
  transition: opacity 0.2s;
  color: #E5E9EE;             /* Always light text on dark header */
}

.md-tabs__link:hover,
.md-tabs__link--active {
  opacity: 1;
  color: #ffffff;
}

/* Logo sizing */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 18px;
  width: auto;
}


/* ═══════════════════════════════
   Typography Refinements
   ═══════════════════════════════ */

/* Headings — tighter, bolder, Blinkin style */
.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--md-default-fg-color);
}

.md-typeset h2 {
  font-weight: 700;
  letter-spacing: -0.01em;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding-bottom: 0.4em;
  margin-top: 2em;
}

.md-typeset h3 {
  font-weight: 600;
}

/* Body text — slightly lighter for readability */
.md-typeset {
  font-weight: 400;
  line-height: 1.7;
  color: var(--md-default-fg-color--light);
}

/* Paragraphs and list items */
.md-typeset p,
.md-typeset li {
  color: var(--md-default-fg-color--light);
}

/* Links — Blinkin blue with subtle underline */
.md-typeset a {
  color: var(--md-typeset-a-color);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.md-typeset a:hover {
  border-bottom-color: var(--md-typeset-a-color);
}

/* Inline code */
.md-typeset code {
  border-radius: 4px;
  padding: 0.1em 0.4em;
  font-size: 0.85em;
  background: var(--md-code-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
}

/* Code blocks — rounded corners like blinkin.io cards */
.md-typeset pre {
  border-radius: 8px;
  border: 1px solid var(--md-default-fg-color--lightest);
}


/* ═══════════════════════════════
   Tables — Clean, Blinkin-style
   ═══════════════════════════════ */

.md-typeset table:not([class]) {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--md-default-fg-color--lightest);
  box-shadow: none;
}

.md-typeset table:not([class]) th {
  background: var(--md-default-bg-color--light);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--md-default-fg-color);
  border-bottom: 2px solid var(--md-default-fg-color--lightest);
}

.md-typeset table:not([class]) td {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}


/* ═══════════════════════════════
   Sidebar Navigation
   ═══════════════════════════════ */

/* Active nav item — purple accent bar */
.md-nav__item--active > .md-nav__link {
  color: var(--md-accent-fg-color);
  font-weight: 600;
}

.md-nav__link:hover {
  color: var(--md-accent-fg-color);
}

/* Sidebar section labels */
.md-nav__item--section > .md-nav__link {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: var(--md-default-fg-color--lighter);
}


/* ═══════════════════════════════
   Search
   ═══════════════════════════════ */

.md-search__input {
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
}

.md-search__input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}


/* ═══════════════════════════════
   Admonitions (tip/warning/info boxes)
   ═══════════════════════════════ */

.md-typeset .admonition,
.md-typeset details {
  border-radius: 8px;
  border-left-width: 3px;
  box-shadow: none;
}


/* ═══════════════════════════════
   Footer — Blinkin dark style
   ═══════════════════════════════ */

.md-footer {
  background: #1a1a1a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.md-footer-meta {
  background: #111111;
}

/* "Made with Material for MkDocs" — tone it down */
.md-footer-meta__inner {
  opacity: 0.5;
}


/* ═══════════════════════════════
   Scrollbar (subtle, Blinkin-style)
   ═══════════════════════════════ */

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--md-default-fg-color--lightest);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--md-default-fg-color--lighter);
}


/* ═══════════════════════════════
   "Back to top" button
   ═══════════════════════════════ */

.md-top {
  background: var(--md-accent-fg-color);
  color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

[data-md-color-scheme="slate"] .md-top {
  color: #1a1a1a;
}
