/*
  Thème "OSINT.Club" — fond quasi noir + accents cyan, façon terminal de
  renseignement. Basé sur https://osint.club/free-tools (inspiration visuelle
  uniquement, aucun contenu ni asset repris).
*/

/* ---------- Palette sombre (slate) ---------- */
[data-md-color-scheme="slate"] {
  --md-hue: 205;

  --md-default-bg-color: #0a0e14;
  --md-default-bg-color--light: #0a0e14cc;
  --md-default-bg-color--lighter: #0a0e1499;
  --md-default-fg-color: #dbe4ee;
  --md-default-fg-color--light: rgba(219, 228, 238, 0.56);
  --md-default-fg-color--lighter: rgba(219, 228, 238, 0.32);
  --md-default-fg-color--lightest: rgba(219, 228, 238, 0.12);

  --md-primary-fg-color: #0a0e14;
  --md-primary-bg-color: #22d3ee;

  --md-accent-fg-color: #22d3ee;
  --md-accent-fg-color--transparent: #22d3ee26;
  --md-accent-bg-color: #04141a;

  --md-typeset-a-color: #22d3ee;

  --md-code-bg-color: #0f1622;
  --md-code-fg-color: #b7c4d4;

  --md-footer-bg-color: #060a10;
  --md-footer-bg-color--dark: #04070b;
  --md-footer-fg-color: #9fb0c3;
  --md-footer-fg-color--light: #6b7d92;
}

/* Fond en grille très discrète, façon "carte réseau" */
[data-md-color-scheme="slate"] body {
  background-image:
    linear-gradient(rgba(34, 211, 238, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, 0.05) 1px, transparent 1px);
  background-size: 42px 42px;
  background-attachment: fixed;
}

/* ---------- En-tête ---------- */
.md-header {
  background-color: rgba(10, 14, 20, 0.85);
  backdrop-filter: blur(10px);
  box-shadow: none;
  border-bottom: 1px solid rgba(34, 211, 238, 0.15);
}

.md-header__title {
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* ---------- Onglets de navigation en "pilules" ---------- */
.md-tabs {
  background-color: transparent;
  border-bottom: 1px solid rgba(34, 211, 238, 0.1);
}

.md-tabs__link {
  border-radius: 999px;
  margin: 0.5em 0.2em;
  padding: 0.35em 1em;
  border: 1px solid transparent;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}

.md-tabs__link:hover {
  color: var(--md-accent-fg-color);
  border-color: rgba(34, 211, 238, 0.3);
}

.md-tabs__link--active,
.md-tabs__item--active .md-tabs__link {
  color: var(--md-accent-fg-color);
  border-color: rgba(34, 211, 238, 0.45);
  background-color: rgba(34, 211, 238, 0.08);
}

/* ---------- Liens ---------- */
.md-typeset a {
  text-underline-offset: 0.2em;
}

.md-typeset a:hover {
  text-decoration: underline;
}

/* ---------- Cartes : admonitions, tableaux, blocs de code ---------- */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 0.6rem;
  border: 1px solid rgba(34, 211, 238, 0.18);
  border-left-width: 0.2rem;
  box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.03);
}

.md-typeset table:not([class]) {
  border-radius: 0.6rem;
  border: 1px solid rgba(34, 211, 238, 0.18);
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background-color: rgba(34, 211, 238, 0.08);
}

/* ---------- Grilles de cartes (grid cards) ---------- */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid.cards > ol > li,
.md-typeset .grid > .card {
  border: 1px solid rgba(34, 211, 238, 0.18);
  border-radius: 0.6rem;
  background-color: rgba(34, 211, 238, 0.02);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid.cards > ol > li:hover,
.md-typeset .grid > .card:hover {
  border-color: rgba(34, 211, 238, 0.55);
  box-shadow: 0 0 20px rgba(34, 211, 238, 0.15);
  transform: translateY(-2px);
}

.md-typeset .grid.cards > ul > li > hr,
.md-typeset .grid.cards > ol > li > hr {
  margin: 0.6rem 0;
  border-color: rgba(34, 211, 238, 0.15);
}

.md-typeset .grid.cards .twemoji {
  color: var(--md-accent-fg-color);
}

.md-typeset code {
  border-radius: 0.25rem;
}

.md-typeset pre > code {
  border: 1px solid rgba(34, 211, 238, 0.12);
  border-radius: 0.5rem;
}

/* ---------- Boutons ---------- */
.md-typeset .md-button {
  border-radius: 999px;
  border-color: var(--md-accent-fg-color);
  color: var(--md-accent-fg-color);
  transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.md-typeset .md-button:hover,
.md-typeset .md-button:focus {
  background-color: var(--md-accent-fg-color);
  color: #04141a;
  box-shadow: 0 0 20px rgba(34, 211, 238, 0.35);
}

.md-typeset .md-button--primary {
  background-color: var(--md-accent-fg-color);
  border-color: var(--md-accent-fg-color);
  color: #04141a;
}

.md-typeset .md-button--primary:hover {
  filter: brightness(1.1);
  color: #04141a;
}

/* ---------- Barre latérale de navigation ---------- */
[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__link:focus,
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: var(--md-accent-fg-color);
}

/* ---------- Pied de page ---------- */
[data-md-color-scheme="slate"] .md-footer-meta {
  border-top: 1px solid rgba(34, 211, 238, 0.1);
}

/* ---------- Barre de recherche ---------- */
[data-md-color-scheme="slate"] .md-search__form {
  border-radius: 999px;
}

/* ---------- Bouton "retour en haut" et autres icônes ---------- */
[data-md-color-scheme="slate"] .md-top {
  border-radius: 999px;
}
