/* Общая тема вертикальной и горизонтальной прокрутки. */
:root {
  --scroll-track: #2D3E50;
  --scroll-thumb: #BBA479;
  --scroll-thumb-hover: #FAFCFD;
  --scroll-line: rgb(187 164 121 / .22);
  --scroll-size: 12px;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

html {
  scrollbar-gutter: stable;
}

/* Там, где доступны псевдоэлементы, сохраняем квадратную форму. */
@supports selector(::-webkit-scrollbar) {
  * {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }

  ::-webkit-scrollbar {
    width: var(--scroll-size);
    height: var(--scroll-size);
  }

  ::-webkit-scrollbar-track {
    background: var(--scroll-track);
    border: 1px solid var(--scroll-line);
    border-radius: 0;
  }

  ::-webkit-scrollbar-thumb {
    min-width: 40px;
    min-height: 40px;
    background: var(--scroll-thumb);
    background-clip: padding-box;
    border: 3px solid var(--scroll-track);
    border-radius: 0;
  }

  ::-webkit-scrollbar-thumb:hover,
  ::-webkit-scrollbar-thumb:active {
    background-color: var(--scroll-thumb-hover);
  }

  ::-webkit-scrollbar-corner {
    background: var(--scroll-track);
  }

  ::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
  }

  ::-webkit-resizer {
    background: var(--scroll-track);
    border: 1px solid var(--scroll-thumb);
  }
}

/* Системные контрастные цвета остаются приоритетными. */
@media (forced-colors: active) {
  * {
    scrollbar-color: auto;
    scrollbar-width: auto;
  }

  ::-webkit-scrollbar-track,
  ::-webkit-scrollbar-corner {
    background: Canvas;
    border-color: Canvas;
  }

  ::-webkit-scrollbar-thumb,
  ::-webkit-scrollbar-thumb:hover,
  ::-webkit-scrollbar-thumb:active {
    background-color: ButtonText;
    border-color: Canvas;
  }

  ::-webkit-resizer {
    background: Canvas;
    border-color: ButtonText;
  }
}
