/* =============================================================
   terra — Material for MkDocs dark theme
   Scheme name: terra
   Derived from terra.icls (IntelliJ IDEA / Darcula base)

   Source token mapping:
   Background:   #212121  (EDITOR_BACKGROUND / CONSOLE_BACKGROUND_KEY)
   Foreground:   #EEFFFF  (DEFAULT_IDENTIFIER / DEFAULT_LOCAL_VARIABLE)
   Keywords:     #C792EA  (DEFAULT_KEYWORD — purple, bold)
   Functions:    #82AAFF  (DEFAULT_FUNCTION_CALL / DEFAULT_INSTANCE_METHOD — blue)
   Classes:      #FFCB6B  (CLASS_NAME_ATTRIBUTES — yellow)
   Strings:      #C3E88D  (DEFAULT_STRING — green)
   Numbers:      #F78C6C  (DEFAULT_NUMBER — orange)
   Constants:    #F78C6C  (DEFAULT_CONSTANT — orange)
   Parameters:   #F78C6C  (DEFAULT_PARAMETER — orange)
   Operators:    #89DDFF  (DEFAULT_OPERATION_SIGN — cyan)
   Punctuation:  #89DDFF  (DEFAULT_BRACES / DEFAULT_DOT / DEFAULT_PARENTHS)
   Comments:     #616161  (DEFAULT_LINE_COMMENT — gray, italic)
   Annotations:  #FFC07A  (ANNOTATION_NAME_ATTRIBUTES)
   Interfaces:   #C3E88D  (DEFAULT_INTERFACE_NAME — green, bold)
   Accent/UI:    #FF9800  (TAB_UNDERLINE / scrollbars / bookmarks)
   ============================================================= */

[data-md-color-scheme="terra"] {
  --md-hue: 0;

  /* Primary — orange accent from UI (scrollbars, bookmarks, tabs) */
  --md-primary-fg-color:          #FF9800;
  --md-primary-fg-color--light:   #FFCB6B;
  --md-primary-fg-color--dark:    #C67000;

  /* Accent — cyan from operators/punctuation */
  --md-accent-fg-color:           #89DDFF;
  --md-accent-fg-color--transparent: #89DDFF1A;

  /* Backgrounds — from EDITOR_BACKGROUND / GUTTER */
  --md-default-bg-color:          #212121;
  --md-code-bg-color:             #292929;
  --md-code-bg-color--light:   #424242;
  --md-code-bg-color--lighter:  #212121;

  /* Text — from DEFAULT_IDENTIFIER */
  --md-default-fg-color:              #EEFFFF;
  --md-default-fg-color--light:       #B2CCD6;
  --md-default-fg-color--lighter:     #727272;
  --md-default-fg-color--lightest:    #424242;

  --md-typeset-color:             #EEFFFF;
  --md-typeset-a-color:           #82AAFF;

  --md-code-fg-color:             #EEFFFF;

  /* Footer */
  --md-footer-bg-color:           #1A1A1A;
  --md-footer-bg-color--dark:     #121212;
  --md-footer-fg-color:           #EEFFFF;
  --md-footer-fg-color--light:    #B2CCD6;
  --md-footer-fg-color--lighter:  #727272;
}

/* ─── SYNTAX HIGHLIGHTING ───────────────────────────────────── */
[data-md-color-scheme="terra"] .highlight {
  background-color: #292929 !important;
}

[data-md-color-scheme="terra"] .md-typeset code {
  background-color: #2B2B2B;
  color: #EEFFFF;
}

/* Comments — #616161, italic (DEFAULT_LINE_COMMENT / DEFAULT_BLOCK_COMMENT) */
[data-md-color-scheme="terra"] .highlight .c,
[data-md-color-scheme="terra"] .highlight .c1,
[data-md-color-scheme="terra"] .highlight .cm,
[data-md-color-scheme="terra"] .highlight .cp  { color: #616161; font-style: italic; }

/* Keywords — #C792EA, bold (DEFAULT_KEYWORD) */
[data-md-color-scheme="terra"] .highlight .k,
[data-md-color-scheme="terra"] .highlight .kd,
[data-md-color-scheme="terra"] .highlight .kn,
[data-md-color-scheme="terra"] .highlight .kr,
[data-md-color-scheme="terra"] .highlight .kt  { color: #C792EA; font-weight: 500; }

/* Functions & methods — #82AAFF (DEFAULT_FUNCTION_CALL / DEFAULT_INSTANCE_METHOD) */
[data-md-color-scheme="terra"] .highlight .nf,
[data-md-color-scheme="terra"] .highlight .na,
[data-md-color-scheme="terra"] .highlight .nb  { color: #82AAFF; }

/* Class names — #FFCB6B (CLASS_NAME_ATTRIBUTES) */
[data-md-color-scheme="terra"] .highlight .nc,
[data-md-color-scheme="terra"] .highlight .nn  { color: #FFCB6B; font-weight: 500; }

/* Strings — #C3E88D (DEFAULT_STRING) */
[data-md-color-scheme="terra"] .highlight .s,
[data-md-color-scheme="terra"] .highlight .s1,
[data-md-color-scheme="terra"] .highlight .s2,
[data-md-color-scheme="terra"] .highlight .se,
[data-md-color-scheme="terra"] .highlight .si  { color: #C3E88D; }

/* Numbers — #F78C6C (DEFAULT_NUMBER) */
[data-md-color-scheme="terra"] .highlight .mi,
[data-md-color-scheme="terra"] .highlight .mf,
[data-md-color-scheme="terra"] .highlight .mh  { color: #F78C6C; }

/* Constants & parameters — #F78C6C (DEFAULT_CONSTANT / DEFAULT_PARAMETER) */
[data-md-color-scheme="terra"] .highlight .no,
[data-md-color-scheme="terra"] .highlight .nd  { color: #F78C6C; }

/* Operators — #89DDFF (DEFAULT_OPERATION_SIGN) */
[data-md-color-scheme="terra"] .highlight .o   { color: #89DDFF; }

/* Punctuation — #89DDFF (DEFAULT_BRACES / DEFAULT_DOT / DEFAULT_PARENTHS) */
[data-md-color-scheme="terra"] .highlight .p   { color: #89DDFF; }

/* Plain identifiers & variables — #EEFFFF (DEFAULT_IDENTIFIER / DEFAULT_LOCAL_VARIABLE) */
[data-md-color-scheme="terra"] .highlight .n,
[data-md-color-scheme="terra"] .highlight .nx,
[data-md-color-scheme="terra"] .highlight .nv,
[data-md-color-scheme="terra"] .highlight .ni  { color: #EEFFFF; }

/* Annotations — #FFC07A (ANNOTATION_NAME_ATTRIBUTES) */
[data-md-color-scheme="terra"] .highlight .nd  { color: #FFC07A; }

/* ─── ADMONITIONS ───────────────────────────────────────────── */
[data-md-color-scheme="terra"] .md-typeset .admonition {
  background-color: #292929;
}
[data-md-color-scheme="terra"] .md-typeset .admonition p {
  color: #EEFFFF;
}
[data-md-color-scheme="terra"] .md-typeset .admonition.warning  { border-color: #FFCB6B; }
[data-md-color-scheme="terra"] .md-typeset .admonition.danger,
[data-md-color-scheme="terra"] .md-typeset .admonition.failure  { border-color: #FF5370; }
[data-md-color-scheme="terra"] .md-typeset .admonition.tip      { border-color: #C3E88D; }
[data-md-color-scheme="terra"] .md-typeset .admonition.info,
[data-md-color-scheme="terra"] .md-typeset .admonition.note     { border-color: #82AAFF; }
[data-md-color-scheme="terra"] .md-typeset .admonition.success  { border-color: #C3E88D; }
[data-md-color-scheme="terra"] .md-typeset .admonition.example  { border-color: #C792EA; }
[data-md-color-scheme="terra"] .md-typeset .admonition.quote    { border-color: #89DDFF; }

/* ─── TABLES ────────────────────────────────────────────────── */
[data-md-color-scheme="terra"] .md-typeset table {
  border-collapse: collapse;
  width: 100%;
}
[data-md-color-scheme="terra"] .md-typeset table th,
[data-md-color-scheme="terra"] .md-typeset table td {
  border: 1px solid #424242;
  padding: 8px 16px;
}
[data-md-color-scheme="terra"] .md-typeset table th {
  background-color: #292929;
  color: #EEFFFF;
}
[data-md-color-scheme="terra"] .md-typeset table tr:nth-child(even) {
  background-color: #252525;
}