/*
 * Complete Gruvbox Dark override for Radion.
 */

:root {
  color-scheme: dark;

  --gruvbox-bg0-hard: #1d2021;
  --gruvbox-bg0: #282828;
  --gruvbox-bg1: #3c3836;
  --gruvbox-bg2: #504945;
  --gruvbox-bg3: #665c54;
  --gruvbox-bg4: #7c6f64;

  --gruvbox-fg0: #fbf1c7;
  --gruvbox-fg1: #ebdbb2;
  --gruvbox-fg2: #d5c4a1;
  --gruvbox-fg3: #bdae93;
  --gruvbox-gray: #928374;
  --gruvbox-gray-bright: #a89984;

  --gruvbox-red: #fb4934;
  --gruvbox-green: #b8bb26;
  --gruvbox-yellow: #fabd2f;
  --gruvbox-blue: #83a598;
  --gruvbox-purple: #d3869b;
  --gruvbox-aqua: #8ec07c;
  --gruvbox-orange: #fe8019;

  /* Variables consumed directly by Radion. */
  --bg-primary: var(--gruvbox-bg0);
  --text-color: var(--gruvbox-fg1);
  --accent: var(--gruvbox-orange);
  --search-bg-color: var(--gruvbox-bg0-hard);
  --search-border-color: var(--gruvbox-yellow);
  --note-bg-dark: var(--gruvbox-bg1);
}

/* Page surfaces */

html,
body,
body.dark,
.dark {
  background-color: var(--gruvbox-bg0);
  color: var(--gruvbox-fg1);
}

body.dark,
body.dark main,
body.dark footer,
body.dark article,
body.dark section,
body.dark nav {
  color: var(--gruvbox-fg1);
}

/* Normal and secondary text */

body.dark p,
body.dark li,
body.dark dd,
body.dark dt,
body.dark data,
body.dark time,
body.dark figcaption,
body.dark caption {
  color: var(--gruvbox-fg1);
}

body.dark .muted,
body.dark small,
body.dark .search-results-count,
body.dark .search-modal-footer {
  color: var(--gruvbox-gray-bright);
}

/* Headings */

body.dark h1,
body.dark h2,
body.dark h3,
body.dark h4,
body.dark h5,
body.dark h6,
body.dark h1 a,
body.dark h2 a,
body.dark h3 a,
body.dark h4 a,
body.dark h5 a,
body.dark h6 a {
  color: var(--gruvbox-fg0);
}

body.dark .hack h2::before,
body.dark .hack h3::before,
body.dark .hack h4::before,
body.dark .hack h5::before,
body.dark .hack h6::before {
  color: var(--gruvbox-orange);
}

/* Links */

body.dark a {
  color: var(--gruvbox-yellow);
  border-bottom-color: var(--gruvbox-yellow);
}

body.dark a:visited {
  color: var(--gruvbox-purple);
}

body.dark a:hover,
body.dark a:focus-visible {
  color: var(--gruvbox-bg0-hard);
  background-color: var(--gruvbox-yellow);
}

body.dark nav a.active {
  color: var(--gruvbox-bg0-hard);
  background-color: var(--gruvbox-orange);
}

/* Search field */

body.dark #search {
  background-color: var(--gruvbox-bg0-hard);
  color: var(--gruvbox-fg1);
  border: 1.5px solid var(--gruvbox-bg2);
  caret-color: var(--gruvbox-yellow);
}

body.dark #search::placeholder {
  color: var(--gruvbox-gray-bright);
  opacity: 1;
}

body.dark #search:hover {
  border-color: var(--gruvbox-bg4);
}

body.dark #search:focus {
  background-color: var(--gruvbox-bg0-hard);
  border-color: var(--gruvbox-yellow);
  box-shadow: 0 0 0 1px var(--gruvbox-yellow);
}

body.dark .search-icon {
  stroke: var(--gruvbox-gray-bright);
}

/*
 * slash-square.svg is an external image, so its color comes from the SVG file,
 * not from the CSS stroke property.
 */
body.dark .slash-icon {
  display: block;
  opacity: 0.9;
  visibility: visible;
  filter: none;
}

body.dark .slash-icon.hidden {
  opacity: 0;
  visibility: hidden;
}

/* Expanded search window */

body.dark .search-backdrop {
  background-color: rgb(29 32 33 / 78%);
}

body.dark .search-results {
  background-color: var(--gruvbox-bg0-hard);
  border-color: var(--gruvbox-bg2);
  box-shadow: 0 20px 60px rgb(0 0 0 / 60%);
}

body.dark .search-modal-header,
body.dark .search-results-count,
body.dark .search-modal-footer {
  border-color: var(--gruvbox-bg2);
}

body.dark .search-modal-icon {
  stroke: var(--gruvbox-gray-bright);
}

body.dark #search-modal {
  color: var(--gruvbox-fg1);
  caret-color: var(--gruvbox-yellow);
}

body.dark #search-modal::placeholder {
  color: var(--gruvbox-gray);
}

body.dark #search-modal:-webkit-autofill,
body.dark #search-modal:-webkit-autofill:hover,
body.dark #search-modal:-webkit-autofill:focus,
body.dark #search-modal:-webkit-autofill:active {
  -webkit-box-shadow:
    0 0 0 1000px var(--gruvbox-bg0-hard) inset !important;
  -webkit-text-fill-color: var(--gruvbox-fg1) !important;
}

body.dark .search-results__item {
  color: var(--gruvbox-fg1);
}

body.dark .search-results__item:hover,
body.dark .search-results__item.selected {
  background-color: var(--gruvbox-bg1);
}

body.dark .search-results__item a {
  color: var(--gruvbox-yellow);
}

body.dark .search-results__item section {
  color: var(--gruvbox-fg3);
}

body.dark .search-results__item section b {
  color: var(--gruvbox-orange);
}

body.dark .search-results__no-results {
  color: var(--gruvbox-gray-bright);
}

body.dark .search-modal-footer kbd {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg1);
  border-color: var(--gruvbox-bg3);
}

/* Code */

body.dark code {
  color: var(--gruvbox-green);
  background-color: var(--gruvbox-bg1);
}

body.dark pre {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg0-hard);
  border-color: var(--gruvbox-bg2);
}

body.dark pre code {
  background-color: transparent;
}

/* Blockquotes and Radion notes */

body.dark blockquote {
  color: var(--gruvbox-fg2);
  background-color: var(--gruvbox-bg0-hard);
  border-left-color: var(--gruvbox-aqua);
}

body.dark .note-container,
body.dark .note-details {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg1);
  border-color: var(--gruvbox-bg3);
}

body.dark .note-header {
  color: var(--gruvbox-yellow);
  background-color: var(--gruvbox-bg2);
}

body.dark .note-content {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg1);
}

/* Tables */

body.dark table {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg0);
}

body.dark table th {
  color: var(--gruvbox-fg0);
  background-color: var(--gruvbox-bg1);
}

body.dark table td,
body.dark table th {
  border-color: var(--gruvbox-bg3);
}

body.dark table tr:nth-child(even) {
  background-color: var(--gruvbox-bg0-hard);
}

/* Forms and controls */

body.dark input,
body.dark textarea,
body.dark select,
body.dark button {
  color: var(--gruvbox-fg1);
  background-color: var(--gruvbox-bg0-hard);
  border-color: var(--gruvbox-bg3);
}

body.dark button:hover {
  color: var(--gruvbox-bg0-hard);
  background-color: var(--gruvbox-yellow);
}

/* Separators, marks and footnotes */

body.dark hr {
  border-color: var(--gruvbox-bg3);
}

body.dark mark {
  color: var(--gruvbox-bg0-hard);
  background-color: var(--gruvbox-yellow);
}

body.dark .footnote-reference,
body.dark .footnote-definition sup {
  color: var(--gruvbox-orange);
}

/* Table of contents */

body.dark .toc,
body.dark #toc,
body.dark .toc-container {
  color: var(--gruvbox-fg2);
  background-color: var(--gruvbox-bg0-hard);
  border-color: var(--gruvbox-bg2);
}

/* Icons */

body.dark .social-icon,
body.dark #sun-icon,
body.dark #moon-icon {
  opacity: 0.85;
}

/* Selection */

body.dark ::selection {
  color: var(--gruvbox-bg0-hard);
  background-color: var(--gruvbox-yellow);
}

/* Scrollbars */

body.dark {
  scrollbar-color: var(--gruvbox-bg4) var(--gruvbox-bg0-hard);
}

body.dark ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

body.dark ::-webkit-scrollbar-track {
  background: var(--gruvbox-bg0-hard);
}

body.dark ::-webkit-scrollbar-thumb {
  background: var(--gruvbox-bg3);
  border: 2px solid var(--gruvbox-bg0-hard);
}

body.dark ::-webkit-scrollbar-thumb:hover {
  background: var(--gruvbox-bg4);
}


article[itemprop="articleBody"] img {
  display: block;

  width: auto !important;
  max-width: 100% !important;

  height: auto !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: center !important;

  margin: 1.5rem auto;
}