/* a rethink development — mirror of the rethink Gitea theme
   palette pulled from git.rethinkstudios.io (data-theme="rethink") */

:root {
  --rt-body: #0a0f1f;        /* deep navy page background */
  --rt-nav: #061541;         /* darker header/nav background */
  --rt-surface: #0e1530;     /* cards / code blocks, a touch above body */
  --rt-text: #eef1f6;        /* near-white body text */
  --rt-muted: #aab4c5;       /* secondary text */
  --rt-primary: #569bcc;     /* links / primary blue */
  --rt-primary-dark: #4a8cbb;
  --rt-primary-light: #6ba9d5;
  --rt-accent: #55bbff;      /* bright cyan-blue accent */
  --rt-border: #294274;      /* row dividers / borders */
}

/* Map the rethink palette onto Material's slate scheme. */
[data-md-color-scheme="slate"] {
  --md-hue: 222;

  --md-default-bg-color: var(--rt-body);
  --md-default-fg-color: var(--rt-text);
  --md-default-fg-color--light: var(--rt-muted);
  --md-default-fg-color--lighter: rgba(238, 241, 246, 0.32);
  --md-default-fg-color--lightest: rgba(238, 241, 246, 0.12);

  --md-primary-fg-color: var(--rt-nav);
  --md-primary-fg-color--light: var(--rt-primary-light);
  --md-primary-fg-color--dark: var(--rt-nav);
  --md-primary-bg-color: var(--rt-text);
  --md-primary-bg-color--light: var(--rt-muted);

  --md-accent-fg-color: var(--rt-accent);
  --md-accent-fg-color--transparent: rgba(85, 187, 255, 0.1);

  --md-typeset-color: var(--rt-text);
  --md-typeset-a-color: var(--rt-primary);

  --md-code-bg-color: var(--rt-surface);
  --md-code-fg-color: #d6deeb;

  --md-footer-bg-color: var(--rt-nav);
  --md-footer-bg-color--dark: var(--rt-body);
}

/* Header / top nav: match Gitea's dark-blue bar. */
.md-header,
.md-tabs {
  background-color: var(--rt-nav);
  color: var(--rt-text);
}

/* Links hover to the bright accent, like Gitea. */
.md-typeset a:hover {
  color: var(--rt-accent);
}

/* Sidebar nav active item picks up the blue. */
.md-nav__link--active,
.md-nav__item .md-nav__link--active {
  color: var(--rt-primary);
}

/* Square the corners — Gitea uses radius 0 throughout. */
.md-typeset .admonition,
.md-typeset details,
.md-typeset pre > code,
.md-typeset .highlight,
.md-typeset table:not([class]),
.md-search__form,
.md-typeset .tabbed-set > input:checked + label,
.md-typeset code {
  border-radius: 0;
}

/* Subtle blue row dividers in tables, echoing the repo list. */
.md-typeset table:not([class]) {
  border: 1px solid var(--rt-border);
}
.md-typeset table:not([class]) th {
  background-color: var(--rt-nav);
  color: var(--rt-text);
}
.md-typeset table:not([class]) td {
  border-top: 1px solid rgba(41, 66, 116, 0.5);
}

/* Search field on the dark bar. */
.md-search__input {
  background-color: rgba(255, 255, 255, 0.06);
}
.md-search__input::placeholder {
  color: rgba(238, 241, 246, 0.6);
}

/* Admonitions — Gitea-style: brand-orange warning, blue note, etc.
   The lambda logo's orange (#ffae42 -> #f57c00) drives the warning/danger look. */
.md-typeset .admonition,
.md-typeset details {
  border-width: 0 0 0 .2rem;
  background-color: var(--rt-surface);
}

/* warning / caution: the orange Gitea callout */
.md-typeset .admonition.warning,
.md-typeset details.warning,
.md-typeset .admonition.caution,
.md-typeset details.caution {
  border-color: #f57c00;
}
.md-typeset .warning > .admonition-title,
.md-typeset .warning > summary,
.md-typeset .caution > .admonition-title,
.md-typeset .caution > summary {
  background-color: rgba(245, 124, 0, 0.12);
}
.md-typeset .warning > .admonition-title::before,
.md-typeset .caution > .admonition-title::before {
  background-color: #f57c00;
}

/* danger: a hotter orange-red for true footguns */
.md-typeset .admonition.danger,
.md-typeset details.danger {
  border-color: #e8590c;
}
.md-typeset .danger > .admonition-title,
.md-typeset .danger > summary {
  background-color: rgba(232, 89, 12, 0.14);
}

/* note / info / tip: blue + cyan from the rethink palette */
.md-typeset .admonition.note,
.md-typeset details.note,
.md-typeset .admonition.info,
.md-typeset details.info {
  border-color: var(--rt-primary);
}
.md-typeset .note > .admonition-title,
.md-typeset .info > .admonition-title {
  background-color: rgba(86, 155, 204, 0.12);
}
.md-typeset .admonition.tip,
.md-typeset details.tip,
.md-typeset .admonition.example,
.md-typeset details.example {
  border-color: var(--rt-accent);
}
.md-typeset .tip > .admonition-title,
.md-typeset .example > summary {
  background-color: rgba(85, 187, 255, 0.1);
}

/* Live libraries table — JS-injected, so it needs explicit Material-style rules
   (Material only auto-styles markdown tables, not innerHTML ones). */
.rt-lib-table {
  overflow-x: auto;
  margin: 1em 0;
}
.rt-lib-table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--rt-border);
  font-size: 0.74rem;
}
.rt-lib-table th,
.rt-lib-table td {
  text-align: left;
  padding: 0.7em 1em;
  vertical-align: top;
}
.rt-lib-table td:first-child {
  white-space: nowrap;
}
.rt-lib-table thead th {
  background-color: var(--rt-nav);
  color: var(--rt-text);
  font-weight: 700;
  border-bottom: 1px solid var(--rt-border);
}
.rt-lib-table tbody tr {
  border-top: 1px solid rgba(41, 66, 116, 0.5);
  transition: background-color 0.15s;
}
.rt-lib-table tbody tr:hover {
  background-color: rgba(86, 155, 204, 0.08);
}
.rt-lib-table td code {
  background-color: rgba(85, 187, 255, 0.12);
  color: #cfe6ff;
  padding: 0.2em 0.55em;
  font-size: 0.9em;
  font-weight: 600;
}
.rt-lib-table a {
  color: var(--rt-accent);
  font-weight: 600;
}
.rt-lib-table a:hover code {
  background-color: rgba(85, 187, 255, 0.22);
  color: #ffffff;
}

/* Language badge in the libs table. */
.rt-lang {
  display: inline-block;
  padding: 0.1em 0.5em;
  border: 1px solid var(--rt-border);
  border-radius: 0;
  background-color: rgba(86, 155, 204, 0.1);
  color: var(--rt-primary-light);
  font-size: 0.85em;
  white-space: nowrap;
}
.rt-lang--none {
  border-color: transparent;
  background-color: transparent;
  color: var(--rt-muted);
}

/* Code annotation markers (the (1) callouts) in brand blue. */
.md-typeset .md-annotation__index {
  background-color: var(--rt-primary);
  color: var(--rt-body);
}

/* Landing-page cards: surface tint + blue border like Gitea panels. */
.md-typeset .grid.cards > :is(ul, ol) > li,
.md-typeset .grid > .card {
  background-color: var(--rt-surface);
  border: 1px solid var(--rt-border);
  border-radius: 0;
}
.md-typeset .grid.cards > :is(ul, ol) > li:hover {
  border-color: var(--rt-primary);
}
