/* Custom styles. This file is loaded last: after vole.css, everforest.css, and
 * any profile/themes/<id>.css, so it can override every theme.
 *
 * For a palette that appears in Account -> Appearance, add
 * profile/themes/<id>.css; its file name is the id and label. This file is for
 * overrides that apply no matter which theme is selected.
 *
 * Prefer tokens over rules: a token keeps the layout, contrast, and responsive
 * behaviour that the built-in sheets already got right.
 *
 * Use :root[data-theme], not plain :root. Everforest sets its tokens on
 * :root[data-theme^="everforest-"], which is more specific than :root, so a
 * plain :root override can lose even though this file loads later.
 */

:root[data-theme] {
  /* Uncomment one line at a time and reload the page.
   *
   * --accent: #c678dd;
   * --accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);
   * --radius: 4px;
   * --radius-lg: 6px;
   * --page-max: 1200px;
   * --font: ui-sans-serif, system-ui, sans-serif;
   */
}

/* A value that has to differ between dark and light modes belongs in one of
 * these blocks. They match every Everforest variant.
 *
 * :root[data-theme^="everforest-dark"]  { --bg: #101418; }
 * :root[data-theme^="everforest-light"] { --bg: #fffdf7; }
 */

/* Tokens, grouped by what they change:
 *
 *   surfaces  --bg --bg-panel --bg-raised --bg-hover --bg-active
 *             --border --border-strong
 *   text      --fg --fg-muted --fg-faint
 *   identity  --accent --accent-fg --accent-soft
 *   status    --good --good-soft --bad --bad-soft --warn --warn-soft
 *             --running --merged --merged-soft --status-fg
 *   shape     --radius --radius-lg --page-max --page-gutter --search-w
 *   type      --font --mono --fs --lh
 *             (--font-scale is the reader's text-size preset: leave it alone)
 *   syntax    --syn-comment --syn-punctuation --syn-operator --syn-number
 *             --syn-string --syn-keyword --syn-function --syn-type
 *             --syn-variable --syn-added --syn-deleted
 */

/* If a token cannot express the change, these page-level classes cover most
 * re-skins. They are not a public API; an upgrade may move markup, so prefer
 * tokens when one exists.
 *
 *   .panel .readme .md .repo-card .repo-grid .home-grid .home-rail
 *   .repohead .tabs .chip .label .status .config-table .diff .blob
 */
