/* =========================================================
   Custom dark scheme: spectrocube-dark
   Blue/cyan/teal palette — scientific dark theme
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] {

  color-scheme: dark;

  /* ===== Brand ===== */

  --md-primary-fg-color:        #0891b2;   /* cyan-600  */
  --md-primary-fg-color--light: #22d3ee;   /* cyan-400  */
  --md-primary-fg-color--dark:  #0e7490;   /* cyan-800  */
  --md-typeset-a-color:         #38bdf8;   /* sky-400   */

  /* ===== Backgrounds ===== */

  --md-default-bg-color:  #0d1117;   /* GitHub dark   */
  --md-code-bg-color:     #161b22;   /* GitHub darker */

  /* ===== Text ===== */

  --md-default-fg-color:           rgba(226,232,240,.92);
  --md-default-fg-color--light:    rgba(226,232,240,.70);
  --md-default-fg-color--lighter:  rgba(226,232,240,.50);
  --md-default-fg-color--lightest: rgba(226,232,240,.30);
  --md-typeset-color: var(--md-default-fg-color);

  /* ===== Code ===== */

  --md-code-fg-color:       rgba(226,232,240,.95);
  --md-typeset-code-color:  var(--md-code-fg-color);
  --md-typeset-code-bg:     rgba(255,255,255,.07);

  --md-code-hl-keyword-color:     #7dd3fc;            /* sky-300    */
  --md-code-hl-string-color:      #86efac;            /* green-300  */
  --md-code-hl-number-color:      #fca5a5;            /* red-300    */
  --md-code-hl-name-color:        #6ee7b7;            /* emerald-300*/
  --md-code-hl-attr-color:        #a5f3fc;            /* cyan-200   */
  --md-code-hl-builtin-color:     #c4b5fd;            /* violet-300 */
  --md-code-hl-variable-color:    #38bdf8;            /* sky-400    */
  --md-code-hl-comment-color:     rgba(148,163,184,.72);
  --md-code-hl-operator-color:    rgba(226,232,240,.80);
  --md-code-hl-punctuation-color: rgba(226,232,240,.65);
  --md-code-selection-bg-color:   rgba(6,182,212,.18);

  /* ===== Misc ===== */

  --md-shadow-z1:       0 2px 4px rgba(0,0,0,.5);
  --md-accent-fg-color: #22d3ee;

}

/* =========================================================
   Layout elements
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-header,
[data-md-color-scheme="spectrocube-dark"] .md-tabs {
  background-color: var(--md-primary-fg-color);
}

[data-md-color-scheme="spectrocube-dark"] .md-search__form {
  background-color: rgba(255,255,255,.06);
}

/* =========================================================
   Code
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-typeset code {
  background-color: var(--md-typeset-code-bg);
  color: var(--md-typeset-code-color);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset pre > code,
[data-md-color-scheme="spectrocube-dark"] pre code {
  background-color: var(--md-code-bg-color);
  color: var(--md-code-fg-color);
}

/* punctuation + operators */

[data-md-color-scheme="spectrocube-dark"] .md-typeset pre .p,
[data-md-color-scheme="spectrocube-dark"] .md-typeset pre .o {
  color: var(--md-code-hl-punctuation-color);
}

/* shell builtins */

[data-md-color-scheme="spectrocube-dark"] .md-typeset pre .nb {
  color: var(--md-code-hl-builtin-color);
}

/* =========================================================
   Blockquotes
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-typeset blockquote {
  background-color: #1c2333;
  border-left: .25rem solid #0891b2;
  color: var(--md-default-fg-color);
  padding: .8em 1em .8em 1.2em;
  border-radius: 6px;
}

/* =========================================================
   Keyboard keys
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-typeset kbd {
  background: rgba(255,255,255,.08);
  color: var(--md-default-fg-color);
  border: 1px solid rgba(255,255,255,.20);
  border-bottom-width: 2px;
  border-radius: .35rem;
  padding: .1em .45em;
  font-size: .85em;
  font-weight: 600;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.35);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset kbd + kbd {
  margin-left: .15rem;
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset kbd + kbd::before {
  content: " + ";
  color: var(--md-default-fg-color--light);
}

/* =========================================================
   Admonitions
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition,
[data-md-color-scheme="spectrocube-dark"] .md-typeset details {
  background-color: rgba(255,255,255,.04);
  color: var(--md-default-fg-color);
  border: 1px solid rgba(255,255,255,.12);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition-title {
  background-color: rgba(255,255,255,.06);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition.info    { border-color: #38bdf8; }
[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition.warning { border-color: #fbbf24; }
[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition.tip     { border-color: #34d399; }
[data-md-color-scheme="spectrocube-dark"] .md-typeset .admonition.note    { border-color: #818cf8; }

/* =========================================================
   Tables
   ========================================================= */

[data-md-color-scheme="spectrocube-dark"] .md-typeset table {
  background-color: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 6px;
  overflow: hidden;
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset thead {
  background-color: rgba(8,145,178,.12);   /* tint with primary */
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset tbody tr {
  border-top: 1px solid rgba(255,255,255,.06);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset td,
[data-md-color-scheme="spectrocube-dark"] .md-typeset th {
  border: none;
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset tbody tr:nth-child(even) {
  background-color: rgba(255,255,255,.02);
}

[data-md-color-scheme="spectrocube-dark"] .md-typeset tbody tr:hover {
  background: linear-gradient(
    to right,
    rgba(6,182,212,.08),
    rgba(6,182,212,.03)
  );
}

/* =========================================================
   Light mode — preserve readable code block background
   ========================================================= */

[data-md-color-scheme="default"] .md-typeset code {
  background-color: rgba(0,0,0,.04);
}
