/* EverLand — charte du site, reprise du thème « Signal Kuni » de l'interface du jeu */
:root {
  /* Couleurs du jeu (UIThemeSettings) */
  --el-void: #030607;        /* vide spatial */
  --el-glass: #0a161a;       /* verre des sous-panneaux */
  --el-line: #1f4a5a;        /* liseré fin */
  --el-accent: #3fd8ff;      /* accent cyan */
  --el-accent-dim: #1c5a6a;
  --el-on-accent: #001118;
  --el-text0: #d8f4ff;
  --el-text1: #6f8f9a;
  --el-text2: #4c656d;
  --el-positive: #39ff88;
  --el-danger: #ff4d6d;
  --el-warning: #ffc850;
  /* Noms gardés pour les pages existantes */
  --el-bg-0: var(--el-void);
  --el-bg-1: #061013;
  --el-panel: rgba(10, 22, 26, 0.92);
  --el-panel-edge: var(--el-line);
  --el-cyan: var(--el-accent);
  --el-cyan-dim: var(--el-accent-dim);
  --el-amber: var(--el-warning);
  --el-text-0: var(--el-text0);
  --el-text-1: #8fb0bb;
  --el-text-2: var(--el-text2);
  --el-title-font: "Michroma", "Segoe UI", sans-serif;
  --el-ui-font: "Chakra Petch", "Segoe UI", sans-serif;
  --el-mono: "Consolas", "SFMono-Regular", ui-monospace, monospace;
}

[data-md-color-scheme="slate"] {
  --md-hue: 195;
  --md-default-bg-color: var(--el-void);
  --md-default-fg-color: var(--el-text0);
  --md-default-fg-color--light: var(--el-text-1);
  --md-default-fg-color--lighter: var(--el-text2);
  --md-default-fg-color--lightest: var(--el-line);
  --md-primary-fg-color: var(--el-bg-1);
  --md-primary-fg-color--light: var(--el-glass);
  --md-primary-fg-color--dark: var(--el-void);
  --md-primary-bg-color: var(--el-text0);
  --md-primary-bg-color--light: var(--el-text-1);
  --md-accent-fg-color: var(--el-accent);
  --md-accent-fg-color--transparent: rgba(63, 216, 255, 0.1);
  --md-typeset-a-color: var(--el-accent);
  --md-code-bg-color: var(--el-glass);
  --md-code-fg-color: var(--el-accent);
  --md-typeset-table-color: var(--el-line);
  --md-footer-bg-color: var(--el-bg-1);
  --md-footer-bg-color--dark: var(--el-void);
  --md-text-font-family: var(--el-ui-font);
  --md-code-font-family: var(--el-mono);
}

body {
  background: var(--el-void);
  font-family: var(--el-ui-font);
}
.md-typeset { font-size: 0.82rem; line-height: 1.7; }

/* Fond discret : une vue d'orbite, très assombrie */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3, 6, 7, 0.78), rgba(3, 6, 7, 0.94) 45%, var(--el-void)),
    url("../assets/images/fonds/fond_orbite_3.webp") center top / cover no-repeat;
  opacity: 0.9;
}

/* Lignes de balayage légères (écran) */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: 0.2;
  mix-blend-mode: screen;
  background: repeating-linear-gradient(0deg, rgba(63, 216, 255, 0.05) 0, rgba(63, 216, 255, 0.05) 1px, transparent 2px, transparent 3px);
}

/* En-tête, logo et onglets */
.md-header, .md-tabs {
  background: rgba(3, 6, 7, 0.82);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.md-header { border-bottom: 1px solid rgba(31, 74, 90, 0.6); box-shadow: none; }
.md-header--shadow { box-shadow: 0 0 18px rgba(0, 0, 0, 0.6); }
.md-tabs { border-bottom: 1px solid rgba(31, 74, 90, 0.6); }
.md-header__button.md-logo { padding: 0.3rem 0.4rem; margin: 0.2rem 0.4rem; }
.md-header__button.md-logo img { height: 1.5rem; width: auto; filter: drop-shadow(0 0 6px rgba(63, 216, 255, 0.35)); }
.md-header__title { font-family: var(--el-title-font); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; }
.md-header__topic:first-child { color: var(--el-text-1); }
@media screen and (max-width: 76.24em) { .md-header__title { font-size: 0.6rem; letter-spacing: 0.08em; } }
.md-tabs__link {
  font-family: var(--el-title-font);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.75;
}
.md-tabs__item--active .md-tabs__link, .md-tabs__link:hover { color: var(--el-accent); opacity: 1; }
.md-tabs__item--active .md-tabs__link { text-shadow: 0 0 10px rgba(63, 216, 255, 0.5); }

/* Recherche */
.md-search__form { background: rgba(10, 22, 26, 0.9); border: 1px solid var(--el-line); }
.md-search__form:hover { background: rgba(10, 22, 26, 1); }

/* Titres */
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: var(--el-title-font);
  font-weight: 400;
  text-transform: uppercase;
}
.md-typeset h1 { color: var(--el-text0); letter-spacing: 0.1em; font-size: 1.6em; text-shadow: 0 0 18px rgba(63, 216, 255, 0.35); }
.md-typeset h2 {
  color: var(--el-text-1);
  font-size: 0.95em;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  gap: 14px;
}
.md-typeset h2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--el-line), transparent);
}
.md-typeset h3 { color: var(--el-accent); font-size: 0.85em; letter-spacing: 0.16em; }

/* Cadre « Signal Kuni » : liseré fin + équerres d'accent aux coins */
.el-cadre, .el-card,
.md-typeset .md-typeset__table table:not([class]),
.md-typeset .admonition, .md-typeset details {
  position: relative;
  background: linear-gradient(180deg, rgba(63, 216, 255, 0.04), transparent 40%), var(--el-panel);
  border: 1px solid rgba(31, 74, 90, 0.85);
  border-radius: 0;
  box-shadow: none;
}
.el-cadre::before, .el-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  z-index: 2;
  --c: var(--el-accent);
  --l: 12px;
  background:
    linear-gradient(var(--c), var(--c)) top left / var(--l) 2px,
    linear-gradient(var(--c), var(--c)) top left / 2px var(--l),
    linear-gradient(var(--c), var(--c)) top right / var(--l) 2px,
    linear-gradient(var(--c), var(--c)) top right / 2px var(--l),
    linear-gradient(var(--c), var(--c)) bottom left / var(--l) 2px,
    linear-gradient(var(--c), var(--c)) bottom left / 2px var(--l),
    linear-gradient(var(--c), var(--c)) bottom right / var(--l) 2px,
    linear-gradient(var(--c), var(--c)) bottom right / 2px var(--l);
  background-repeat: no-repeat;
  opacity: 0.85;
}

.md-typeset table:not([class]) th {
  background: var(--el-bg-1);
  color: var(--el-accent);
  font-family: var(--el-title-font);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.62rem;
}
.md-typeset table:not([class]) tr:hover { background: rgba(63, 216, 255, 0.05); }
.md-typeset table:not([class]) td { border-top: 1px solid var(--el-line); }
.md-typeset .admonition, .md-typeset details { border-left: 2px solid var(--el-accent); }
.md-typeset .admonition-title, .md-typeset summary { font-family: var(--el-ui-font); font-weight: 600; letter-spacing: 0.04em; }
.md-typeset details.warning > summary, .md-typeset .admonition.warning > .admonition-title {
  background: rgba(255, 200, 80, 0.08);
}
.md-typeset .admonition.warning, .md-typeset details.warning { border-left-color: var(--el-warning); }

/* Grille de cartes (planètes, bestiaire) */
.el-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 1em 0; }
.el-card { padding: 14px 16px; display: block; color: var(--el-text0) !important; transition: border-color .15s, background-color .15s; }
.el-card:hover { border-color: var(--el-accent); background-color: rgba(63, 216, 255, 0.06); }
.el-card .el-card__title {
  font-family: var(--el-title-font); text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--el-accent); font-size: 0.78rem;
}
.el-card .el-card__meta { color: var(--el-text-1); font-size: 0.7rem; margin-top: 6px; line-height: 1.6; }
.el-tag {
  display: inline-block; font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase;
  padding: 1px 8px; margin: 2px 4px 2px 0; border: 1px solid var(--el-accent-dim); color: var(--el-accent);
}
.el-tag--amber { border-color: #8a6a2a; color: var(--el-warning); }

/* Cartes galaxie / système */
.el-starmap-wrap {
  background:
    radial-gradient(1px 1px at 12% 22%, #fff, transparent), radial-gradient(1px 1px at 78% 14%, #fff, transparent),
    radial-gradient(1px 1px at 62% 72%, #fff, transparent), radial-gradient(1px 1px at 28% 84%, #fff, transparent),
    radial-gradient(1px 1px at 91% 58%, #fff, transparent), radial-gradient(1px 1px at 44% 38%, #fff, transparent),
    linear-gradient(120deg, #0e2029, #0a1619 60%, #030607);
  border: 1px solid var(--el-line);
  margin: 1em 0;
}
.el-starmap, .el-galaxy { width: 100%; height: auto; display: block; max-height: 640px; }
.el-orbit { fill: none; stroke: rgba(63, 216, 255, 0.18); stroke-width: 1; stroke-dasharray: 3 5; }
.el-orbit--moon { stroke: rgba(63, 216, 255, 0.12); }
.el-body__halo { fill: rgba(63, 216, 255, 0.0); stroke: rgba(63, 216, 255, 0.0); transition: all .15s; }
.el-body:hover .el-body__halo, .el-system:hover .el-body__halo { fill: rgba(63, 216, 255, 0.10); stroke: var(--el-accent); }
.el-body--start .el-body__halo { stroke: rgba(255, 200, 80, 0.6); }
.el-starmap text, .el-galaxy text {
  fill: var(--el-text-1); font-family: var(--el-ui-font); font-size: 12px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.el-starmap .el-moon-label { font-size: 9px; fill: var(--el-text2); }
.el-galaxy .el-system__races { text-transform: none; font-size: 10px; fill: var(--el-warning); }
.el-body:hover text, .el-system:hover text { fill: var(--el-accent); }

/* Barre latérale */
.md-nav__link--active { color: var(--el-accent) !important; }
.md-nav__title { font-family: var(--el-title-font); font-weight: 400; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.14em; }
.md-nav__link { font-size: 0.74rem; }

/* Pied de page */
.md-footer-meta { background: rgba(3, 6, 7, 0.92); border-top: 1px solid rgba(31, 74, 90, 0.6); }
.el-pied { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.4rem; font-family: var(--el-ui-font); }
.md-typeset .el-pied__discord, .el-pied__discord {
  color: var(--el-accent) !important;
  border: 1px solid var(--el-accent-dim);
  padding: 0.25rem 0.8rem;
  font-family: var(--el-title-font);
  font-size: 0.55rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.el-pied__discord:hover { background: rgba(63, 216, 255, 0.12); }
.el-pied__texte { color: var(--el-text-1); }
