:root {
  --root-font-size: 12px;
  --icon-color: rgb(255, 255, 255);

  --primary-color: rgb(34, 104, 255);
  --secondary-color: rgb(255, 120, 120);
  --success-color: green;
  --warning-color: orange;
  --danger-color: rgb(204, 50, 50);
  --generic-border-color: rgba(50, 50, 50, 0.3);

  --main-bg: rgb(18, 18, 18);
  --main-fg: rgb(245, 245, 245);
  --main-fg-secondary: rgb(150, 150, 150);

  --titlebar-fg: rgb(255, 255, 255);
  --titlebar-bg: rgb(7, 7, 7);
  --titlebar-controls-bg: rgba(7, 7, 7, 0.4);

  --sidebar-bg: rgb(0, 0, 0);
  --sidebar-fg: rgb(210, 210, 210);
  --sidebar-fg-hover: rgb(255, 255, 255);
  --sidebar-handle-bg: #4d4d4d;
  --sidebar-border: none;

  --playerbar-bg: rgb(24, 24, 24);
  --playerbar-btn-main-fg: rgb(0, 0, 0);
  --playerbar-btn-main-fg-hover: rgb(0, 0, 0);
  --playerbar-btn-main-bg: rgb(230, 230, 230);
  --playerbar-btn-main-bg-hover: rgb(255, 255, 255);
  --playerbar-btn-fg: rgba(200, 200, 200, 0.8);
  --playerbar-btn-fg-hover: rgba(255, 255, 255, 1);
  --playerbar-btn-bg: #c5c5c5;
  --playerbar-btn-bg-hover: transparent;
  --playerbar-border-top: 1px rgba(50, 50, 50, 0.7) solid;
  --playerbar-slider-track-bg: #3c3f43;
  --playerbar-slider-track-progress-bg: #cccccc;

  --tooltip-bg: #ffffff;
  --tooltip-fg: #000000;

  --scrollbar-track-bg: transparent;
  --scrollbar-thumb-bg: rgba(90, 90, 90, 0.5);

  --btn-primary-bg: var(--primary-color);
  --btn-primary-bg-hover: rgb(0, 71, 252);
  --btn-primary-fg: #ffffff;
  --btn-primary-fg-hover: #ffffff;

  --btn-default-bg: rgb(31, 31, 32);
  --btn-default-bg-hover: rgb(63, 63, 63);
  --btn-default-fg: rgb(193, 193, 193);
  --btn-default-fg-hover: rgb(193, 193, 193);

  --btn-subtle-bg: transparent;
  --btn-subtle-bg-hover: transparent;
  --btn-subtle-fg: rgb(220, 220, 220);
  --btn-subtle-fg-hover: rgb(255, 255, 255);

  --input-bg: rgb(35, 35, 35);
  --input-fg: rgb(193, 193, 193);
  --input-placeholder-fg: rgb(119, 126, 139);
  --input-active-fg: rgb(193, 193, 193);
  --input-active-bg: rgba(255, 255, 255, 0.1);

  --dropdown-menu-bg: rgb(36, 36, 36);
  --dropdown-menu-fg: rgb(220, 220, 220);
  --dropdown-menu-bg-hover: rgb(46, 46, 46);
  --dropdown-menu-border: none;
  --dropdown-menu-border-radius: 4px;

  --switch-track-bg: rgb(50, 50, 50);
  --switch-track-enabled-bg: var(--primary-color);
  --switch-thumb-bg: rgb(255, 255, 255);

  --slider-track-bg: rgb(50, 50, 50);
  --slider-thumb-bg: rgb(255, 255, 255);

  --skeleton-bg: rgba(255, 255, 255, 8%);

  --toast-title-fg: rgb(255, 255, 255);
  --toast-description-fg: rgb(193, 194, 197);
  --toast-bg: rgb(16, 16, 16);

  --modal-bg: rgb(22, 22, 22);

  --badge-bg: rgb(0, 0, 0);
  --badge-fg: rgb(255, 255, 255);

  --paper-bg: rgb(30, 30, 30);

  --placeholder-bg: rgba(53, 53, 53, 0.5);
  --placeholder-fg: rgba(126, 126, 126);

  --card-default-bg: rgb(32, 32, 32);
  --card-default-bg-hover: rgb(44, 44, 44);
  --card-default-radius: 5px;
  --card-poster-bg: transparent;
  --card-poster-bg-hover: transparent;
  --card-poster-radius: 3px;

  --background-noise: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIiB4PSIwIiB5PSIwIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iLjc1IiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxwYXRoIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iLjA1IiBkPSJNMCAwaDMwMHYzMDBIMHoiLz48L3N2Zz4=');

  --table-header-bg: rgb(24, 24, 24);
  --table-header-fg: rgb(179, 179, 179);
  --table-border: none;
  --table-border-color: hsla(0, 0%, 100%, 0.1);
  --table-bg: var(--main-bg);
  --table-alt-bg: var(--main-bg);
  --table-fg: rgb(179, 179, 179);
  --table-row-hover-bg: rgba(100, 100, 100, 0.2);
  --table-row-selected-bg: rgba(100, 100, 100, 0.4);

  .ag-theme-alpine-dark {
    --ag-font-family: var(--content-font-family);

    --ag-borders: var(--table-border);
    --ag-border-color: var(--table-border-color);

    --ag-header-background-color: var(--table-header-bg);
    --ag-header-foreground-color: var(--table-header-fg);

    --ag-background-color: var(--table-bg);
    --ag-odd-row-background-color: var(--table-alt-bg);
    --ag-foreground-color: var(--table-fg);

    --ag-row-hover-color: var(--table-row-hover-bg);
    --ag-selected-row-background-color: var(--table-row-selected-bg);
  }

  .ag-header {
    border-bottom: 1px solid var(--table-border-color);
    margin-bottom: 1rem;
  }

  .ag-header:hover .ag-header-cell-resize {
    position: absolute;
    top: 25%;
    border-left: 1px var(--table-border-color) solid;
    height: 50%;
    width: 0.5em;
  }

  .ag-header-cell-label {
    font-family: var(--content-font-family);
    font-weight: 500;
    text-transform: uppercase;
  }

  .ag-cell-focus {
    border: 1px var(--table-border-color) solid !important;
  }

  .current-song {
    background: rgba(96, 144, 240, 0.3) !important;
  }

  .mantine-Modal-modal {
    background: var(--modal-bg);
    border-radius: 10px;
    backdrop-filter: blur(8px);
  }

  .mantine-Modal-header {
    font-weight: bold;
    font-size: medium;
    padding-bottom: 1rem;
    margin-right: 0.5rem;
    border-bottom: 1px solid var(--generic-border-color);
  }
}
