/* ================================================================
   Structure Void, "RÉFÉRENCE" aesthetic ported to MkDocs Material
   tokens lifted from structure-void.com/reference
   ================================================================ */
:root {
  --sv-bg:#0a0a0a; --sv-panel:#111; --sv-panel-2:#161616;
  --sv-line:#1d1d1d; --sv-line-2:#2a2a2a; --sv-line-3:#3a3a3a;
  --sv-ink:#ececec; --sv-ink-2:#b9b9b9; --sv-mute:#6a6a6a; --sv-mute-2:#4a4a4a;
  --sv-amber:#d4a24a; --sv-blue:#5fa8d3;
}

/* ---------- dark scheme = the real Structure Void look ---------- */
[data-md-color-scheme="slate"] {
  --md-hue: 0;
  --md-default-bg-color:        var(--sv-bg);
  --md-default-bg-color--light: var(--sv-panel);
  --md-default-bg-color--lighter: var(--sv-panel-2);
  --md-default-bg-color--lightest: var(--sv-line);
  --md-default-fg-color:        var(--sv-ink);
  --md-default-fg-color--light: var(--sv-ink-2);
  --md-default-fg-color--lighter: var(--sv-mute);
  --md-default-fg-color--lightest: var(--sv-mute-2);
  --md-code-bg-color:           var(--sv-panel);
  --md-code-fg-color:           var(--sv-ink);
  --md-accent-fg-color:         var(--sv-amber);
  --md-typeset-a-color:         var(--sv-amber);
  --md-primary-fg-color:        #000;
  --md-primary-bg-color:        var(--sv-ink);
  --md-footer-bg-color:         #000;
}
/* light scheme: keep it monochrome too, amber accent */
[data-md-color-scheme="default"] {
  --md-accent-fg-color: var(--sv-amber);
  --md-typeset-a-color: #9a6f1f;
  --md-primary-fg-color: #000;
}

/* ---------- background: radial wash + subtle film grain ---------- */
[data-md-color-scheme="slate"] body {
  background: radial-gradient(ellipse at top, #131313 0%, #0a0a0a 60%), #0a0a0a;
  background-attachment: fixed;
}
[data-md-color-scheme="slate"] body::after {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.22;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
}

/* ---------- header = the "brand-strip" ---------- */
.md-header { background:#000; border-bottom:1px solid var(--sv-line-2); box-shadow:none; }
.md-header__title { font-weight:700; letter-spacing:.16em; text-transform:uppercase; font-size:.74rem; }
.md-header__topic { font-weight:700; }
/* crisp Structure Void logo, larger, clickable home (Material default) */
.md-header__button.md-logo { padding:.2rem .4rem; }
.md-header__button.md-logo img,
.md-header__button.md-logo svg { height:2rem; width:auto; }

/* ---------- on-page source / download links (home) ---------- */
.sv-sources { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.4rem 0 .4rem; }
.sv-src {
  display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .9rem;
  border:1px solid var(--sv-line-3); background:#0d0d0d; color:var(--sv-ink) !important;
  font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  white-space:nowrap; text-decoration:none; transition:.15s;
}
.sv-src:hover { border-color:var(--sv-amber); color:var(--sv-amber) !important; background:#000; }
.sv-src svg { width:15px; height:15px; fill:currentColor; flex-shrink:0; }

/* ---------- typography: terminal / monospace, sharp headings ---------- */
.md-typeset { font-size:.78rem; }
.md-typeset h1 {
  font-weight:800; letter-spacing:-.02em; text-transform:none;
  color:var(--md-default-fg-color); font-size:2.1rem; line-height:1.02;
}
.md-typeset h2, .md-typeset h3 { font-weight:700; letter-spacing:-.005em; color:var(--md-default-fg-color); }
.md-typeset h2 { border-bottom:1px solid var(--sv-line-2); padding-bottom:.3em; }
.md-typeset a { text-decoration:none; border-bottom:1px solid var(--sv-line-3); }
.md-typeset a:hover { color:var(--sv-amber); border-color:var(--sv-amber); }
.md-typeset code { border:1px solid var(--sv-line-2); border-radius:3px; padding:.05em .35em; }

/* ---------- left nav: uppercase, letterspaced section titles ---------- */
.md-nav { font-size:.68rem; }
.md-nav__title { text-transform:uppercase; letter-spacing:.18em; color:var(--sv-mute); font-weight:700; font-size:.62rem; }
.md-nav__link--active, .md-nav__link:focus, .md-nav__link:hover { color:var(--sv-amber); }
.md-nav__item--section > .md-nav__link {
  text-transform:uppercase; letter-spacing:.12em; color:var(--sv-ink-2); font-weight:700;
}

/* hide redundant site title at top of left nav on desktop (already in header) */
@media screen and (min-width:76.25em){
  .md-nav--primary > .md-nav__title { display:none; }
}

/* ---------- credentials bar (top, logos not title) ---------- */
.md-banner { background:#000; border-bottom:1px solid var(--sv-line-2); }
.sv-certbar {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:1.5rem; padding:.6rem 1rem;
}
.sv-certbar img { width:auto; display:block; opacity:.92; }
.sv-certbar img.inv { filter:invert(1); }
.sv-certbar .l-trainer, .sv-certbar .l-center { height:1.15rem; }
.sv-certbar .l-max { height:1.6rem; }
.sv-certbar .sv-sep { width:1px; height:1.1rem; background:var(--sv-line-3); }
@media screen and (max-width:48em){ .sv-certbar .sv-sep { display:none; } }

/* ---------- framed content column ---------- */
@media screen and (min-width:76.25em) {
  .md-content { border-left:1px solid var(--sv-line); border-right:1px solid var(--sv-line); }
}

/* ---------- footer ---------- */
.md-footer-meta { background:#000; }
.md-footer-copyright { color:var(--sv-mute); letter-spacing:.12em; text-transform:uppercase; font-size:.62rem; }

/* ---------- search ---------- */
.md-search__form { background:var(--sv-panel-2); border:1px solid var(--sv-line-2); }
.md-search__input::placeholder { color:var(--sv-mute); }

/* ---------- certification badges (white cards, About page) ---------- */
.sv-creds { display:flex; flex-wrap:wrap; gap:1rem; align-items:stretch; margin:1.6rem 0; }
.sv-cred {
  background:#fff; border:1px solid var(--sv-line-2);
  display:flex; align-items:center; justify-content:center; padding:14px 22px;
}
.sv-cred img { height:34px; width:auto; display:block; }


/* ---------- Max for Live book cards (home encart) ---------- */
.sv-twoways { margin:1.6rem 0 .6rem; padding:1rem 1.1rem; border:1px solid var(--sv-line-2); background:#0b0b0b; }
.sv-twoways > p { margin:0 0 .8rem; font-size:.78rem; color:var(--sv-ink-2); }
.sv-books { display:flex; flex-wrap:wrap; gap:.7rem; }
.sv-book {
  display:flex; align-items:center; gap:.7rem; padding:.7rem .9rem;
  border:1px solid var(--sv-line-3); background:#0d0d0d; color:var(--sv-ink) !important;
  text-decoration:none !important; border-bottom:1px solid var(--sv-line-3) !important;
  transition:.15s; flex:1 1 280px; min-width:240px;
}
.sv-book:hover { border-color:var(--sv-amber) !important; background:#000; }
.sv-book svg { width:26px; height:26px; fill:var(--sv-amber); flex-shrink:0; }
.sv-book img { width:34px; height:auto; flex-shrink:0; border:1px solid var(--sv-line-2); }
.sv-bk-t { display:block; font-weight:700; font-size:.8rem; letter-spacing:-.01em; color:var(--sv-ink); }
.sv-book:hover .sv-bk-t { color:var(--sv-amber); }
.sv-bk-m { display:block; font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; color:var(--sv-mute); margin-top:.2rem; }

/* ---------- Script Generator hero card on home ---------- */
.sv-tool{
  display:flex;align-items:center;gap:18px;
  margin:1.2rem 0 1.6rem;
  padding:18px 22px;
  background:linear-gradient(180deg,rgba(212,162,74,.08),rgba(212,162,74,.02));
  border:1px solid var(--sv-amber,#d4a24a);
  border-radius:4px;
  text-decoration:none;color:inherit;
  transition:.15s;
}
.sv-tool:hover{background:linear-gradient(180deg,rgba(212,162,74,.14),rgba(212,162,74,.04));box-shadow:0 0 0 1px var(--sv-amber,#d4a24a) inset, 0 4px 28px rgba(212,162,74,.12)}
.sv-tool-ico{width:44px;height:44px;flex-shrink:0;fill:var(--sv-amber,#d4a24a)}
.sv-tool-txt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.sv-tool-eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sv-amber,#d4a24a);opacity:.85}
.sv-tool-t{font-size:1.05rem;font-weight:600;color:var(--md-default-fg-color)}
.sv-tool-m{font-size:.85rem;opacity:.75;line-height:1.5}
.sv-tool-cta{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-amber,#d4a24a);white-space:nowrap;flex-shrink:0;font-weight:600}
@media (max-width:600px){.sv-tool{flex-wrap:wrap}.sv-tool-cta{margin-left:auto}}

/* ---------- Script Generator hero card on home ---------- */
.sv-tool{
  display:flex;align-items:center;gap:18px;
  margin:1.2rem 0 1.6rem;
  padding:18px 22px;
  background:linear-gradient(180deg,rgba(212,162,74,.08),rgba(212,162,74,.02));
  border:1px solid var(--sv-amber,#d4a24a);
  border-radius:4px;
  text-decoration:none;color:inherit;
  transition:.15s;
}
.sv-tool:hover{background:linear-gradient(180deg,rgba(212,162,74,.14),rgba(212,162,74,.04));box-shadow:0 0 0 1px var(--sv-amber,#d4a24a) inset, 0 4px 28px rgba(212,162,74,.12)}
.sv-tool-ico{width:44px;height:44px;flex-shrink:0;fill:var(--sv-amber,#d4a24a)}
.sv-tool-txt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.sv-tool-eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sv-amber,#d4a24a);opacity:.85}
.sv-tool-t{font-size:1.05rem;font-weight:600;color:var(--md-default-fg-color)}
.sv-tool-m{font-size:.85rem;opacity:.75;line-height:1.5}
.sv-tool-cta{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-amber,#d4a24a);white-space:nowrap;flex-shrink:0;font-weight:600}
@media (max-width:600px){.sv-tool{flex-wrap:wrap}.sv-tool-cta{margin-left:auto}}
.sv-sources-line{font-size:.85rem;opacity:.75;margin:1.4rem 0}
.sv-sources-line a{color:var(--md-default-fg-color);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--sv-amber,#d4a24a);text-decoration-thickness:1px}
.sv-sources-line a:hover{color:var(--sv-amber,#d4a24a)}
