/* ============================================================
   Entropy-Gated AI Framework — Theme
   Black & Gold · JC Laboratories
   ============================================================ */

:root {
  --eg-gold:        #c9a24d;
  --eg-gold-light:  #e6c97a;
  --eg-gold-dim:    rgba(201,162,77,0.15);
  --eg-bg:          #0a0b0e;
  --eg-bg-mid:      #0f1117;
  --eg-panel:       #13161f;
  --eg-panel-soft:  #11141c;
  --eg-border:      rgba(201,162,77,0.18);
  --eg-text:        #e6e8ee;
  --eg-muted:       #7a8394;
  --eg-mono:        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* ── Force dark always ───────────────────────────────────────── */

body, html { background-color: var(--eg-bg) !important; }

[data-md-color-scheme="slate"],
[data-md-color-scheme="default"],
:root {
  --md-default-bg-color:          var(--eg-bg);
  --md-default-fg-color:          var(--eg-text);
  --md-default-fg-color--light:   var(--eg-muted);
  --md-default-fg-color--lighter: var(--eg-muted);
  --md-code-bg-color:             var(--eg-panel);
  --md-primary-fg-color:          var(--eg-text);
  --md-primary-bg-color:          var(--eg-bg);
  --md-accent-fg-color:           var(--eg-gold);
  --md-typeset-a-color:           var(--eg-gold);
}

/* ── Header ──────────────────────────────────────────────────── */

.md-header {
  background-color: var(--eg-bg);
  border-bottom: 1px solid var(--eg-border);
  box-shadow: 0 1px 20px rgba(0,0,0,0.6);
}

.md-header__title, .md-header__topic {
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.md-header__button.md-logo {
  background: transparent;
  padding: 0.3rem;
}

.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  filter: none;
  background: transparent;
}

.md-header__button.md-icon { color: var(--eg-gold); }
.md-header__button.md-icon:hover { color: var(--eg-gold-light); }

/* ── Nav Tabs ────────────────────────────────────────────────── */

.md-tabs {
  background-color: var(--eg-bg-mid);
  border-top: 1px solid var(--eg-border);
  border-bottom: 1px solid var(--eg-border);
}

.md-tabs__inner { background-color: transparent; }

.md-tabs__link {
  color: var(--eg-muted) !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-size: 0.78rem;
  text-transform: uppercase;
  opacity: 1 !important;
  transition: color 0.15s;
}

.md-tabs__link:hover { color: #ffffff !important; }

.md-tabs__link--active,
.md-tabs__link--active:hover {
  color: var(--eg-gold) !important;
  border-bottom: 2px solid var(--eg-gold);
}

/* ── Layout ──────────────────────────────────────────────────── */

.md-main, .md-content { background-color: var(--eg-bg); }
.md-grid { max-width: 1400px; }

/* ── Left Sidebar ────────────────────────────────────────────── */

.md-sidebar--primary {
  background-color: var(--eg-panel-soft);
  border-right: 1px solid var(--eg-border);
}

.md-nav--primary { background-color: transparent; }

.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link {
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  padding: 0.6rem 0.8rem;
  border-radius: 4px;
  margin: 0.1rem 0;
  transition: all 0.12s;
}

.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link:hover {
  background-color: var(--eg-gold-dim);
  color: var(--eg-gold);
}

.md-nav--primary .md-nav__item .md-nav__link {
  color: var(--eg-muted);
  font-size: 0.84rem;
  padding: 0.32rem 0.8rem 0.32rem 1.4rem;
  transition: color 0.12s;
}

.md-nav--primary .md-nav__item .md-nav__link:hover { color: var(--eg-text); }

.md-nav--primary .md-nav__link--active {
  color: var(--eg-gold) !important;
  font-weight: 600;
  background-color: var(--eg-gold-dim);
  border-radius: 4px;
}

/* ── Right TOC ───────────────────────────────────────────────── */

.md-sidebar--secondary {
  background-color: var(--eg-panel-soft);
  border-left: 1px solid var(--eg-border);
  padding: 1rem 0.5rem;
}

.md-nav--secondary .md-nav__title {
  color: var(--eg-gold);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--eg-border);
}

.md-nav--secondary .md-nav__link {
  color: var(--eg-muted);
  font-size: 0.81rem;
  line-height: 1.4;
  padding: 0.28rem 0.5rem;
  border-radius: 3px;
  transition: all 0.12s;
}

.md-nav--secondary .md-nav__link:hover {
  color: var(--eg-text);
  background-color: rgba(255,255,255,0.04);
}

.md-nav--secondary .md-nav__link--active {
  color: var(--eg-gold);
  font-weight: 600;
  background-color: var(--eg-gold-dim);
}

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

.md-typeset {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--eg-text);
}

.md-typeset h1 {
  color: #ffffff;
  font-weight: 700;
  font-size: 2.1rem;
  letter-spacing: -0.01em;
  margin-bottom: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--eg-border);
}

.md-typeset h2 {
  color: #ffffff;
  font-weight: 700;
  font-size: 1.45rem;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  border-left: 3px solid var(--eg-gold);
}

.md-typeset h3 {
  color: var(--eg-gold-light);
  font-weight: 600;
  font-size: 1.12rem;
  margin-top: 1.75rem;
  letter-spacing: 0.01em;
}

.md-typeset h4 {
  color: var(--eg-muted);
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 1.5rem;
}

.md-typeset a {
  color: var(--eg-gold);
  text-decoration: none;
  transition: color 0.12s;
}

.md-typeset a:hover { color: var(--eg-gold-light); }

.md-typeset strong { color: #ffffff; font-weight: 700; }

/* ── Section Dividers ────────────────────────────────────────── */

.md-typeset hr {
  border: none;
  margin: 3rem 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--eg-gold), transparent);
  position: relative;
}

.md-typeset hr::after {
  content: "⬡  ⬡  ⬡";
  display: block;
  text-align: center;
  color: var(--eg-gold);
  font-size: 0.62rem;
  letter-spacing: 0.6em;
  margin-top: 0.6rem;
  opacity: 0.65;
}

/* ── Tables ──────────────────────────────────────────────────── */

.md-typeset table:not([class]) {
  border: 1px solid var(--eg-border);
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
  margin: 1.5rem 0;
  box-shadow: 0 2px 16px rgba(0,0,0,0.35);
}

.md-typeset table:not([class]) th {
  background-color: var(--eg-panel);
  color: var(--eg-gold);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--eg-gold);
  border-right: 1px solid var(--eg-border);
}

.md-typeset table:not([class]) td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid var(--eg-border);
  border-right: 1px solid var(--eg-border);
  color: var(--eg-text);
  vertical-align: top;
}

.md-typeset table:not([class]) tr:last-child td { border-bottom: none; }
.md-typeset table:not([class]) tr:hover td { background-color: rgba(201,162,77,0.05); }

/* ── Code ────────────────────────────────────────────────────── */

.md-typeset code {
  background-color: var(--eg-panel);
  color: var(--eg-gold-light);
  border: 1px solid var(--eg-border);
  border-radius: 4px;
  padding: 0.1em 0.4em;
  font-family: var(--eg-mono);
  font-size: 0.875em;
}

.md-typeset pre {
  background-color: var(--eg-panel) !important;
  border: 1px solid var(--eg-border);
  border-left: 3px solid var(--eg-gold);
  border-radius: 6px;
  padding: 1.25rem 1.5rem !important;
  box-shadow: 0 2px 14px rgba(0,0,0,0.35);
  overflow-x: auto;
}

.md-typeset pre > code {
  background-color: transparent !important;
  color: var(--eg-text);
  border: none;
  padding: 0;
  font-size: 0.875rem;
}

.highlight {
  background-color: var(--eg-panel) !important;
  border-radius: 6px;
}

/* ── Admonitions ─────────────────────────────────────────────── */

.md-typeset .admonition {
  border: 1px solid var(--eg-border);
  border-left: 3px solid var(--eg-gold);
  background-color: var(--eg-panel);
  border-radius: 0 6px 6px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.md-typeset .admonition-title {
  background-color: var(--eg-gold-dim);
  color: var(--eg-gold);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── Search ──────────────────────────────────────────────────── */

.md-search__form {
  background-color: var(--eg-panel);
  border: 1px solid var(--eg-border);
  border-radius: 6px;
}

.md-search__input {
  color: var(--eg-text);
  background-color: transparent;
}

.md-search__input::placeholder { color: var(--eg-muted); }
.md-search-result { background-color: var(--eg-panel); }
.md-search-result__meta {
  background-color: var(--eg-panel-soft);
  color: var(--eg-muted);
}

/* ── Footer ──────────────────────────────────────────────────── */

.md-footer {
  background-color: var(--eg-panel);
  border-top: 1px solid var(--eg-border);
}

.md-footer-meta { background-color: var(--eg-bg); }
.md-footer__link { color: var(--eg-muted); }
.md-footer__link:hover { color: var(--eg-gold); }

/* ── Spec pages ──────────────────────────────────────────────── */

[data-md-page-path*="spec/"] .md-content__inner {
  background-color: var(--eg-panel);
  border: 1px solid var(--eg-border);
  border-radius: 8px;
  padding: 2rem 2.5rem;
  margin-top: 1rem;
  font-family: var(--eg-mono);
  font-size: 0.88rem;
  line-height: 1.6;
}

[data-md-page-path*="spec/"] .md-typeset h1,
[data-md-page-path*="spec/"] .md-typeset h2,
[data-md-page-path*="spec/"] .md-typeset h3 {
  font-family: var(--eg-mono);
}

[data-md-page-path*="spec/"] .md-typeset strong {
  color: var(--eg-gold);
}

/* ── Misc ────────────────────────────────────────────────────── */

.md-typeset .headerlink { display: none; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--eg-bg); }
::-webkit-scrollbar-thumb { background: rgba(201,162,77,0.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--eg-gold-dim); }

/* ── Mobile ──────────────────────────────────────────────────── */

@media screen and (max-width: 768px) {
  .md-tabs__link { font-size: 0.7rem; padding: 0.45rem 0.4rem; white-space: nowrap; }
  .md-sidebar--secondary { display: none; }
  .md-typeset { font-size: 0.95rem; }
  .md-typeset h1 { font-size: 1.65rem; }
  .md-typeset h2 { font-size: 1.25rem; }
  .md-typeset h3 { font-size: 1.05rem; }
  .md-typeset pre { font-size: 0.78rem; }
}
