:root  > * {
  /* Primary color shades */
  --md-primary-fg-color:        #18a2c3;
  --md-primary-fg-color--light: #18a2c3;
  --md-primary-fg-color--dark:  #18a2c3;

  /* Accent color shades */
  --md-accent-fg-color:              #18a2c3;
  --md-accent-fg-color--transparent: rgba(254, 24, 23, 0.1);
}

/* High-contrast syntax highlighting aligned with timex theme */
[data-md-color-scheme="default"] {
  --md-code-hl-color:             rgba(254, 24, 23, 0.18);
  --md-code-hl-keyword-color:     #a40e0e;
  --md-code-hl-string-color:      #02491b;
  --md-code-hl-name-color:        #0e1116;
  --md-code-hl-function-color:    #4f0d8a;
  --md-code-hl-number-color:      #022b6b;
  --md-code-hl-constant-color:    #022b6b;
  --md-code-hl-comment-color:     #57606a;
  --md-code-hl-operator-color:    #a40e0e;
  --md-code-hl-punctuation-color: #0e1116;
  --md-code-hl-variable-color:    #7a3700;
  --md-code-hl-generic-color:     #0e1116;
  --md-code-hl-special-color:     #4f0d8a;
}

[data-md-color-scheme="slate"] {
  --md-code-hl-color:             rgba(254, 24, 23, 0.30);
  --md-code-hl-keyword-color:     #ff7b72;
  --md-code-hl-string-color:      #85e89d;
  --md-code-hl-name-color:        #f0f3f6;
  --md-code-hl-function-color:    #d2a8ff;
  --md-code-hl-number-color:      #79c0ff;
  --md-code-hl-constant-color:    #79c0ff;
  --md-code-hl-comment-color:     #9ea7b3;
  --md-code-hl-operator-color:    #ff7b72;
  --md-code-hl-punctuation-color: #f0f3f6;
  --md-code-hl-variable-color:    #ffbd2e;
  --md-code-hl-generic-color:     #f0f3f6;
  --md-code-hl-special-color:     #d2a8ff;
}

/* Light scheme palette aligned with TIMEx docs home override */
[data-md-color-scheme="default"] {
  --md-default-bg-color:           #f7f5f2;
  --md-default-bg-color--light:    #fbfaf7;
  --md-default-bg-color--lighter:  #efece7;
  --md-default-bg-color--lightest: #e6e2dc;

  --md-default-fg-color:           #2a2d31;
  --md-default-fg-color--light:    rgba(42, 45, 49, 0.75);
  --md-default-fg-color--lighter:  rgba(42, 45, 49, 0.45);
  --md-default-fg-color--lightest: rgba(0, 0, 0, 0.08);

  --md-typeset-color:              #2a2d31;
  --md-typeset-a-color:            #18a2c3;

  --md-code-bg-color:              #fbfaf7;
  --md-code-fg-color:              #2a2d31;

  --md-footer-bg-color:            #f7f5f2;
  --md-footer-bg-color--dark:      #efece7;
  --md-footer-fg-color:            #2a2d31;
  --md-footer-fg-color--light:     #6a6a6a;
  --md-footer-fg-color--lighter:   rgba(42, 45, 49, 0.45);

  --md-mermaid-edge-color:                 #57606a;
  --md-mermaid-node-bg-color:              #fbfaf7;
  --md-mermaid-node-fg-color:              #2a2d31;
  --md-mermaid-label-bg-color:             #fbfaf7;
  --md-mermaid-label-fg-color:             #2a2d31;
  --md-mermaid-sequence-actor-bg-color:    #fbfaf7;
  --md-mermaid-sequence-actor-border-color:#2a2d31;
  --md-mermaid-sequence-actor-fg-color:    #2a2d31;
  --md-mermaid-sequence-actor-line-color:  #57606a;
  --md-mermaid-sequence-actorman-bg-color: #fbfaf7;
  --md-mermaid-sequence-actorman-line-color:#57606a;
  --md-mermaid-sequence-box-bg-color:      #f7f5f2;
  --md-mermaid-sequence-box-fg-color:      #2a2d31;
  --md-mermaid-sequence-label-bg-color:    #2a2d31;
  --md-mermaid-sequence-label-fg-color:    #fbfaf7;
  --md-mermaid-sequence-loop-bg-color:     #fbfaf7;
  --md-mermaid-sequence-loop-fg-color:     #2a2d31;
  --md-mermaid-sequence-loop-border-color: #57606a;
  --md-mermaid-sequence-message-fg-color:  #2a2d31;
  --md-mermaid-sequence-message-line-color:#57606a;
  --md-mermaid-sequence-note-bg-color:     #fff8c5;
  --md-mermaid-sequence-note-fg-color:     #2a2d31;
  --md-mermaid-sequence-note-border-color: #d4a72c;
  --md-mermaid-sequence-number-bg-color:   #2a2d31;
  --md-mermaid-sequence-number-fg-color:   #fbfaf7;

  --md-typeset-mark-color:         rgba(254, 24, 23, 0.18);

  --md-typeset-del-color:          rgba(254, 24, 23, 0.15);
  --md-typeset-ins-color:          rgba(40, 200, 64, 0.18);

  --md-typeset-kbd-color:          #ffffff;
  --md-typeset-kbd-accent-color:   #ececec;
  --md-typeset-kbd-border-color:   rgba(0, 0, 0, 0.12);

  --md-typeset-table-color:        rgba(0, 0, 0, 0.12);
  --md-typeset-table-color--light: rgba(0, 0, 0, 0.04);

  --md-admonition-bg-color:        #fbfaf7;
  --md-admonition-fg-color:        #2a2d31;

  --md-warning-bg-color:           #fff8c5;
  --md-warning-fg-color:           #1a1a1a;

  --md-shadow-z1: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 1px rgba(0, 0, 0, 0.04);
  --md-shadow-z2: 0 2px 6px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  --md-shadow-z3: 0 6px 18px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.08);

  --md-tooltip-bg-color:           #1a1a1a;
  --md-tooltip-fg-color:           #ffffff;
}

[data-md-color-scheme="default"] .mermaid,
[data-md-color-scheme="default"] pre.mermaid {
  background: transparent !important;
}

[data-md-color-scheme="default"] .mermaid > svg {
  background-color: transparent !important;
}

/* Dark scheme palette aligned with TIMEx docs home override */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:           #15171a;
  --md-default-bg-color--light:    #1c1f23;
  --md-default-bg-color--lighter:  #23272c;
  --md-default-bg-color--lightest: #2a2e34;

  --md-default-fg-color:           #c2c5ca;
  --md-default-fg-color--light:    rgba(194, 197, 202, 0.75);
  --md-default-fg-color--lighter:  rgba(194, 197, 202, 0.45);
  --md-default-fg-color--lightest: rgba(255, 255, 255, 0.08);

  --md-typeset-color:              #c2c5ca;
  --md-typeset-a-color:            #18a2c3;

  --md-code-bg-color:              #1c1f23;
  --md-code-fg-color:              #c2c5ca;

  --md-footer-bg-color:            #15171a;
  --md-footer-bg-color--dark:      #101216;
  --md-footer-fg-color:            #c2c5ca;
  --md-footer-fg-color--light:     #7a8290;
  --md-footer-fg-color--lighter:   rgba(194, 197, 202, 0.45);

  --md-typeset-mark-color:         rgba(254, 24, 23, 0.30);

  --md-typeset-del-color:          rgba(254, 24, 23, 0.22);
  --md-typeset-ins-color:          rgba(40, 200, 64, 0.22);

  --md-typeset-kbd-color:          #1c1c1c;
  --md-typeset-kbd-accent-color:   #2a2a2a;
  --md-typeset-kbd-border-color:   rgba(255, 255, 255, 0.12);

  --md-typeset-table-color:        rgba(255, 255, 255, 0.12);
  --md-typeset-table-color--light: rgba(255, 255, 255, 0.04);

  --md-admonition-bg-color:        #1c1f23;
  --md-admonition-fg-color:        #c2c5ca;

  --md-warning-bg-color:           #3b2d04;
  --md-warning-fg-color:           #fff8c5;

  --md-shadow-z1: 0 1px 2px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.4);
  --md-shadow-z2: 0 2px 6px rgba(0, 0, 0, 0.55), 0 1px 2px rgba(0, 0, 0, 0.45);
  --md-shadow-z3: 0 6px 18px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0, 0, 0, 0.5);

  --md-tooltip-bg-color:           #1c1c1c;
  --md-tooltip-fg-color:           #d4d4d4;

  --md-mermaid-edge-color:                 #7a8290;
  --md-mermaid-node-bg-color:              #1c1f23;
  --md-mermaid-node-fg-color:              #c2c5ca;
  --md-mermaid-label-bg-color:             #1c1f23;
  --md-mermaid-label-fg-color:             #c2c5ca;
  --md-mermaid-sequence-actor-bg-color:    #1c1f23;
  --md-mermaid-sequence-actor-border-color:#c2c5ca;
  --md-mermaid-sequence-actor-fg-color:    #c2c5ca;
  --md-mermaid-sequence-actor-line-color:  #7a8290;
  --md-mermaid-sequence-actorman-bg-color: #1c1f23;
  --md-mermaid-sequence-actorman-line-color:#7a8290;
  --md-mermaid-sequence-box-bg-color:      #15171a;
  --md-mermaid-sequence-box-fg-color:      #c2c5ca;
  --md-mermaid-sequence-label-bg-color:    #c2c5ca;
  --md-mermaid-sequence-label-fg-color:    #15171a;
  --md-mermaid-sequence-loop-bg-color:     #1c1f23;
  --md-mermaid-sequence-loop-fg-color:     #c2c5ca;
  --md-mermaid-sequence-loop-border-color: #7a8290;
  --md-mermaid-sequence-message-fg-color:  #c2c5ca;
  --md-mermaid-sequence-message-line-color:#7a8290;
  --md-mermaid-sequence-note-bg-color:     #3b2d04;
  --md-mermaid-sequence-note-fg-color:     #f0e9c5;
  --md-mermaid-sequence-note-border-color: #d4a72c;
  --md-mermaid-sequence-number-bg-color:   #ea580c;
  --md-mermaid-sequence-number-fg-color:   #ffffff;
}

/* Inline <code> matches <pre> background */
.md-typeset code,
.md-typeset .highlight,
.md-typeset .highlight > pre {
  background-color: var(--md-code-bg-color);
}

/* Rounded corners + subtle border for code surfaces */
.md-typeset code {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 6px;
}

.md-typeset pre,
.md-typeset .highlight,
.md-typeset .highlight > pre,
.md-typeset .highlighttable,
.md-typeset .highlighttable .linenodiv,
.md-typeset .highlighttable .linenos,
.md-typeset .highlighttable td.code {
  border-radius: 8px;
}

.md-typeset .highlight,
.md-typeset .highlighttable {
  border: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset .highlighttable .highlight,
.md-typeset .highlighttable pre {
  border: none;
}

.md-typeset pre > code {
  background-color: transparent;
  border-radius: 0;
  border: none;
  margin: -10px 0;
}

.md-code__nav {
  border-radius: 8px;
  right: 0;
  top: -0.8rem;
}

.tabbed-block {
  margin-top: 20px;
}

.tabbed-block pre {
  padding: 10px 0;
}

.tabbed-block pre > code {
  margin: 0;
}

.md-typeset .highlighttable .linenodiv,
.md-typeset .highlighttable .linenos {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.md-typeset .highlighttable td.code {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Admonition type colors aligned with timex palette
   note/quote -> slate, abstract/info -> blue, tip/success -> green,
   question -> purple, warning -> amber, failure/danger/bug -> red, example -> violet */

:root {
  --timex-admon-note:     122, 130, 144;
  --timex-admon-abstract: 68, 147, 248;
  --timex-admon-info:     68, 147, 248;
  --timex-admon-tip:      40, 200, 64;
  --timex-admon-success:  40, 200, 64;
  --timex-admon-question: 130, 80, 223;
  --timex-admon-warning:  255, 189, 46;
  --timex-admon-failure:  254, 24, 23;
  --timex-admon-danger:   254, 24, 23;
  --timex-admon-bug:      254, 24, 23;
  --timex-admon-example:  192, 132, 252;
  --timex-admon-quote:    122, 130, 144;
}

.md-typeset .admonition.note,        .md-typeset details.note        { border-color: rgb(var(--timex-admon-note)); }
.md-typeset .admonition.abstract,    .md-typeset details.abstract    { border-color: rgb(var(--timex-admon-abstract)); }
.md-typeset .admonition.info,        .md-typeset details.info        { border-color: rgb(var(--timex-admon-info)); }
.md-typeset .admonition.tip,         .md-typeset details.tip         { border-color: rgb(var(--timex-admon-tip)); }
.md-typeset .admonition.success,     .md-typeset details.success     { border-color: rgb(var(--timex-admon-success)); }
.md-typeset .admonition.question,    .md-typeset details.question    { border-color: rgb(var(--timex-admon-question)); }
.md-typeset .admonition.warning,     .md-typeset details.warning     { border-color: rgb(var(--timex-admon-warning)); }
.md-typeset .admonition.failure,     .md-typeset details.failure     { border-color: rgb(var(--timex-admon-failure)); }
.md-typeset .admonition.danger,      .md-typeset details.danger      { border-color: rgb(var(--timex-admon-danger)); }
.md-typeset .admonition.bug,         .md-typeset details.bug         { border-color: rgb(var(--timex-admon-bug)); }
.md-typeset .admonition.example,     .md-typeset details.example     { border-color: rgb(var(--timex-admon-example)); }
.md-typeset .admonition.quote,       .md-typeset details.quote       { border-color: rgb(var(--timex-admon-quote)); }

.md-typeset .note > .admonition-title,        .md-typeset .note > summary        { background-color: rgba(var(--timex-admon-note), 0.1); }
.md-typeset .abstract > .admonition-title,    .md-typeset .abstract > summary    { background-color: rgba(var(--timex-admon-abstract), 0.1); }
.md-typeset .info > .admonition-title,        .md-typeset .info > summary        { background-color: rgba(var(--timex-admon-info), 0.1); }
.md-typeset .tip > .admonition-title,         .md-typeset .tip > summary         { background-color: rgba(var(--timex-admon-tip), 0.1); }
.md-typeset .success > .admonition-title,     .md-typeset .success > summary     { background-color: rgba(var(--timex-admon-success), 0.1); }
.md-typeset .question > .admonition-title,    .md-typeset .question > summary    { background-color: rgba(var(--timex-admon-question), 0.1); }
.md-typeset .warning > .admonition-title,     .md-typeset .warning > summary     { background-color: rgba(var(--timex-admon-warning), 0.12); }
.md-typeset .failure > .admonition-title,     .md-typeset .failure > summary     { background-color: rgba(var(--timex-admon-failure), 0.1); }
.md-typeset .danger > .admonition-title,      .md-typeset .danger > summary      { background-color: rgba(var(--timex-admon-danger), 0.1); }
.md-typeset .bug > .admonition-title,         .md-typeset .bug > summary         { background-color: rgba(var(--timex-admon-bug), 0.1); }
.md-typeset .example > .admonition-title,     .md-typeset .example > summary     { background-color: rgba(var(--timex-admon-example), 0.1); }
.md-typeset .quote > .admonition-title,       .md-typeset .quote > summary       { background-color: rgba(var(--timex-admon-quote), 0.1); }

.md-typeset .note > .admonition-title::before,        .md-typeset .note > summary::before        { background-color: rgb(var(--timex-admon-note)); }
.md-typeset .abstract > .admonition-title::before,    .md-typeset .abstract > summary::before    { background-color: rgb(var(--timex-admon-abstract)); }
.md-typeset .info > .admonition-title::before,        .md-typeset .info > summary::before        { background-color: rgb(var(--timex-admon-info)); }
.md-typeset .tip > .admonition-title::before,         .md-typeset .tip > summary::before         { background-color: rgb(var(--timex-admon-tip)); }
.md-typeset .success > .admonition-title::before,     .md-typeset .success > summary::before     { background-color: rgb(var(--timex-admon-success)); }
.md-typeset .question > .admonition-title::before,    .md-typeset .question > summary::before    { background-color: rgb(var(--timex-admon-question)); }
.md-typeset .warning > .admonition-title::before,     .md-typeset .warning > summary::before     { background-color: rgb(var(--timex-admon-warning)); }
.md-typeset .failure > .admonition-title::before,     .md-typeset .failure > summary::before     { background-color: rgb(var(--timex-admon-failure)); }
.md-typeset .danger > .admonition-title::before,      .md-typeset .danger > summary::before      { background-color: rgb(var(--timex-admon-danger)); }
.md-typeset .bug > .admonition-title::before,         .md-typeset .bug > summary::before         { background-color: rgb(var(--timex-admon-bug)); }
.md-typeset .example > .admonition-title::before,     .md-typeset .example > summary::before     { background-color: rgb(var(--timex-admon-example)); }
.md-typeset .quote > .admonition-title::before,       .md-typeset .quote > summary::before       { background-color: rgb(var(--timex-admon-quote)); }

/* Light/Dark mode logo switching */
.only-dark,
.only-light { max-width: 240px !important; }
.only-dark { display: none !important; }
.only-light { display: inline !important; }

[data-md-color-scheme="slate"] .only-light { display: none !important; }
[data-md-color-scheme="slate"] .only-dark { display: inline !important; }

/* Tables: full width of article column; grow + scroll when content is wider */
.md-typeset__table {
  width: 100%;
  overflow-x: auto;
}

.md-typeset__table > table:not([class]),
.md-typeset table:not([class]) {
  display: table;
  width: auto;
  min-width: 100%;
  max-width: none;
  table-layout: auto;

}

.md-typeset table:not([class]) th,
.md-typeset table:not([class]) td {
  vertical-align: top;
  padding: 0.6em 0.9em;
  line-height: 1.55;
  word-break: normal;
  overflow-wrap: anywhere;
}

.md-typeset table:not([class]) code {
  white-space: nowrap;
}
