/**
 * ============================================================================
 * Copyright (c) 2026 BAWASLU-M FH ULM. All Rights Reserved.
 * Badan Pengawas Pemilihan Umum Mahasiswa
 * Fakultas Hukum, Universitas Lambung Mangkurat
 *
 * PROPRIETARY & CONFIDENTIAL SOURCE CODE
 * ----------------------------------------------------------------------------
 * This software, web application, source code, scripts, styles, architecture,
 * and associated assets are the exclusive intellectual property of BAWASLU-M FH ULM.
 *
 * Any unauthorized copying, reproduction, distribution, scraping, decompilation,
 * reverse engineering, modification, or appropriation of this source code,
 * in whole or in part, is strictly prohibited and deemed highly unethical under
 * institutional, academic, and applicable intellectual property legal frameworks.
 * ============================================================================
 */

html, * {
  scrollbar-width: thin;
  scrollbar-color: var(--brand-sage, #D4225B) var(--scrollbar-track-bg, rgba(10, 13, 10, 0.75));
}

::-webkit-scrollbar {
  width: var(--scrollbar-width, 9px);
  height: var(--scrollbar-width, 9px);
}

::-webkit-scrollbar-track {
  background: var(--scrollbar-track-bg, rgba(10, 13, 10, 0.75));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-left: var(--scrollbar-track-border, 1px solid rgba(255, 255, 255, 0.05));
}

::-webkit-scrollbar-track:horizontal {
  border-left: none;
  border-top: var(--scrollbar-track-border, 1px solid rgba(255, 255, 255, 0.05));
}

::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-bg);
  border-radius: 9999px;
  border: var(--scrollbar-thumb-border);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), 0 0 6px rgba(0, 0, 0, 0.4);
  min-height: 48px;
  cursor: grab;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  box-shadow: var(--scrollbar-thumb-glow), inset 0 1px 2px rgba(255, 255, 255, 0.6);
  cursor: grab;
}

::-webkit-scrollbar-thumb:active {
  background: var(--scrollbar-thumb-hover);
  box-shadow: var(--scrollbar-thumb-glow), inset 0 0 8px rgba(255, 255, 255, 0.8);
  cursor: grabbing;
}

::-webkit-scrollbar-corner {
  background: transparent;
}

.cinematic-scroll-progress-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 99999;
  pointer-events: none;
  background: transparent;
}

.cinematic-scroll-progress-bar {
  height: 100%;
  width: 0%;
  background: var(--scrollbar-laser-bg);
  box-shadow: var(--scrollbar-laser-glow);
  border-radius: 0 9999px 9999px 0;
  position: relative;
  transition: width 0.08s ease-out;
  will-change: width;
}

.cinematic-scroll-progress-bar::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 0 8px #FFFFFF, 0 0 16px var(--brand-sage, #D4225B);
  pointer-events: none;
}
