/* Anthropic-style polish for MkDocs Material.
   Goals: warm neutral palette, generous whitespace, restrained accents,
   tighter type hierarchy, cleaner admonitions / code blocks / cards. */

/* ---------- Tokens ---------- */

:root {
  /* Anthropic-ish warm neutrals & accent (Antique Brass ≈ #cc785c). */
  --md-primary-fg-color:        #ffffff;
  --md-primary-fg-color--light: #ffffff;
  --md-primary-fg-color--dark:  #f4f1ee;
  --md-primary-bg-color:        #1a1814;
  --md-primary-bg-color--light: #5a544a;

  --md-accent-fg-color:         #cc785c;
  --md-accent-fg-color--transparent: rgba(204, 120, 92, 0.12);

  --md-default-fg-color:        #1a1814;
  --md-default-fg-color--light: #5a544a;
  --md-default-fg-color--lighter: #8a8278;
  --md-default-fg-color--lightest: #e7e3dd;

  --md-default-bg-color:        #fafaf7;
  --md-typeset-a-color:         #cc785c;

  --md-code-bg-color:           #f4f1ec;
  --md-code-fg-color:           #1a1814;

  --md-footer-bg-color:         #f4f1ec;
  --md-footer-bg-color--dark:   #ece8e0;
  --md-footer-fg-color:         #1a1814;
}

[data-md-color-scheme="slate"] {
  --md-default-fg-color:        #ece8e0;
  --md-default-fg-color--light: #b6b0a6;
  --md-default-fg-color--lighter: #807a72;
  --md-default-bg-color:        #161513;

  --md-code-bg-color:           #1f1e1b;
  --md-accent-fg-color:         #e08a6d;
  --md-typeset-a-color:         #e08a6d;
  --md-accent-fg-color--transparent: rgba(224, 138, 109, 0.15);

  --md-footer-bg-color:         #1f1e1b;
}

/* ---------- Header ---------- */

.md-header {
  box-shadow: none;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

[data-md-color-scheme="slate"] .md-header {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.md-header__title {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.md-tabs {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

/* ---------- Typography ---------- */

.md-typeset {
  font-feature-settings: "ss01", "cv11";
  font-size: 0.82rem;
  line-height: 1.7;
}

.md-typeset h1 {
  font-weight: 700;
  font-size: 2.1rem;
  letter-spacing: -0.025em;
  margin-bottom: 1.2rem;
  color: var(--md-default-fg-color);
}

.md-typeset h2 {
  font-weight: 650;
  font-size: 1.45rem;
  letter-spacing: -0.018em;
  margin-top: 3rem;
  padding-top: 0.3rem;
  border-top: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset h2:first-of-type {
  border-top: none;
  margin-top: 2rem;
  padding-top: 0;
}

.md-typeset h3 {
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: -0.012em;
  margin-top: 2rem;
}

.md-typeset h4 {
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: -0.005em;
}

/* Article description (subtitle). */
.md-typeset h1 + p {
  font-size: 1.05rem;
  color: var(--md-default-fg-color--light);
  margin-top: -0.4rem;
  margin-bottom: 2rem;
}

/* ---------- Links ---------- */

.md-typeset a {
  text-decoration: none;
  border-bottom: 1px solid var(--md-accent-fg-color--transparent);
  transition: border-color 120ms ease, color 120ms ease;
}

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

/* ---------- Code ---------- */

.md-typeset code {
  font-feature-settings: "calt", "ss01";
  font-size: 0.82em;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  border: 1px solid var(--md-default-fg-color--lightest);
  background: var(--md-code-bg-color);
}

[data-md-color-scheme="slate"] .md-typeset code {
  border-color: rgba(255, 255, 255, 0.06);
}

.md-typeset pre > code {
  padding: 1rem 1.2rem;
  font-size: 0.78rem;
  line-height: 1.55;
  border: none;
  border-radius: 8px;
  background: #0f0e0d;
  color: #ece8e0;
}

[data-md-color-scheme="slate"] .md-typeset pre > code {
  background: #0c0b0a;
}

.md-typeset .highlight {
  border-radius: 8px;
  overflow: hidden;
}

.md-typeset .highlight .filename,
.md-typeset .highlight > span.filename {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  background: #1f1e1b;
  color: #b6b0a6;
  border-radius: 8px 8px 0 0;
  border: none;
  padding: 0.5rem 1.2rem;
}

.md-typeset .highlight .filename + pre > code {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Copy button: less intrusive. */
.md-clipboard {
  color: rgba(236, 232, 224, 0.4);
}

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

/* ---------- Admonitions ---------- */

.md-typeset .admonition,
.md-typeset details {
  border: none;
  border-left: 3px solid var(--md-default-fg-color--lighter);
  border-radius: 0 6px 6px 0;
  box-shadow: none;
  font-size: 0.78rem;
  padding: 0.1rem 1rem;
  background: var(--md-code-bg-color);
}

.md-typeset .admonition-title,
.md-typeset summary {
  font-weight: 600;
  padding: 0.5rem 0.4rem 0.5rem 1.8rem;
  background: transparent;
  border: none;
}

.md-typeset .admonition-title::before,
.md-typeset summary::before {
  left: 0;
  top: 0.6rem;
}

.md-typeset .admonition > :last-child,
.md-typeset details > :last-child {
  margin-bottom: 0.6rem;
}

/* Per-type left border colors. */
.md-typeset .admonition.tip,
.md-typeset details.tip {
  border-left-color: #4a9d8e;
}

.md-typeset .admonition.note,
.md-typeset details.note,
.md-typeset .admonition.info,
.md-typeset details.info {
  border-left-color: #5a7ca8;
}

.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-left-color: #d4a44a;
}

.md-typeset .admonition.success,
.md-typeset details.success {
  border-left-color: #6a9d4a;
}

.md-typeset .admonition.abstract,
.md-typeset details.abstract {
  border-left-color: var(--md-accent-fg-color);
}

/* ---------- Tables ---------- */

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

.md-typeset table:not([class]) th {
  background: var(--md-code-bg-color);
  font-weight: 600;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset table:not([class]) td,
.md-typeset table:not([class]) th {
  padding: 0.7rem 1rem;
}

/* ---------- Tabs (content) ---------- */

.md-typeset .tabbed-set {
  margin: 1.2rem 0;
}

.md-typeset .tabbed-labels > label {
  font-weight: 500;
  font-size: 0.78rem;
  padding: 0.5rem 0;
  margin-right: 1.4rem;
  border-bottom: 2px solid transparent;
}

.md-typeset .tabbed-labels > label:hover {
  color: var(--md-accent-fg-color);
}

.md-typeset .tabbed-set > input:checked + label {
  color: var(--md-accent-fg-color);
  border-bottom-color: var(--md-accent-fg-color);
}

/* ---------- Grid cards ---------- */

.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  padding: 1rem 1.2rem;
  box-shadow: none;
  transition: border-color 150ms ease, transform 150ms ease;
}

.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid > .card:hover {
  border-color: var(--md-accent-fg-color);
  transform: none;
}

.md-typeset .grid.cards > ul > li > hr {
  margin: 0.6rem 0;
  border-color: var(--md-default-fg-color--lightest);
}

/* ---------- Sidebar / nav ---------- */

.md-nav__title {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--md-default-fg-color--light);
}

.md-nav__link {
  font-size: 0.78rem;
}

.md-nav__link--active {
  font-weight: 600;
  color: var(--md-accent-fg-color);
}

/* ---------- TOC (right) ---------- */

.md-nav--secondary .md-nav__title {
  box-shadow: none;
  background: transparent;
}

.md-nav--secondary .md-nav__link {
  font-size: 0.72rem;
}

/* ---------- Footer ---------- */

.md-footer-meta {
  background: var(--md-footer-bg-color--dark, #ece8e0);
}

[data-md-color-scheme="slate"] .md-footer-meta {
  background: #0f0e0d;
}

/* ---------- Small touches ---------- */

.md-typeset hr {
  border: none;
  border-top: 1px solid var(--md-default-fg-color--lightest);
  margin: 2.5rem 0;
}

.md-typeset blockquote {
  border-left: 3px solid var(--md-default-fg-color--lighter);
  color: var(--md-default-fg-color--light);
}
