@property --cSlider {
  syntax: '<color>';
  inherits: true;
  initial-value: #0000;
}

.glow {
  --cSlider: rgb(0, 255, 255, calc(0.25 + var(--val) / 125));
  --cSlider: hsl(24deg 300% 50% / calc(0.25 + var(--val) / 125));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  width: 100%;
  position: relative;
}

.glow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc((var(--val) - 1) * 1%);
  min-width: 0.5em;
  height: 100%;
  background: var(--cSlider);
  box-shadow: 
    0 0 0.2em 0 hsl(0 0% 0%) inset, 
    -0.1em 0.1em 0.1em -0.1em hsl(0 0% 100% / 0.5),
    0 0 calc(1em + 0.001em * var(--val)) calc(0.1em + 0.00025em * var(--val)) var(--cSlider)
    ;
  border-radius: 1em 0 0 1em;
  aopacity: calc(20% + var(--val) * 1%);
}

/***** Track Styles *****/
/***** Chrome, Safari, Opera, and Edge Chromium *****/
.glow::-webkit-slider-runnable-track {
  box-shadow: 
    0 0 0.2em 0 hsl(0 0% 0%) inset, 
    -0.1em 0.1em 0.1em -0.1em hsl(0 0% 100% / 0.5);
  background: 
    linear-gradient(to bottom right, #0001, #0000),
    #343133;
  border-radius: 1em;
  height: 1em;
}

/******** Firefox ********/
.glow::-moz-range-track {
  box-shadow: 0 0 2px 0 hsl(0 0% 0%) inset, -1px 1px 1px -1px hsl(0 0% 100% / 0.5);
  background: 
    linear-gradient(var(--cSlider) 0 0) 0 0 / calc(var(--val) * 1%) 100% no-repeat,
    linear-gradient(to bottom right, #0001, #0000),
    #343133;
  border-radius: 1em;
  height: 1em;
}


/***** Thumb Styles *****/
/***** Chrome, Safari, Opera, and Edge Chromium *****/
.glow::-webkit-slider-thumb {
  --d: var(--cSlider);
  --d: rgb(from var(--cSlider) r g b / calc(0.35 * var(--val) * 1%));
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  background-color: #5cd5eb;
  transform: translateY(calc(-50% + 0.5em));
  width: 4em;
  aspect-ratio: 1;
  background: red;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side, #0000 22.5%, var(--d) 0, #0000 calc(var(--val) * 0.75%)) 50% 50% / 100% 100% no-repeat,
    radial-gradient(#0000  15%, #343133 16%, #545153 20%),
    repeating-linear-gradient(#0000 0 10%, #0002 0 20%) 50% 50% / 25% 25% no-repeat,
    repeating-linear-gradient(90deg, #0000 0 10%, #0002 0 20%) 50% 50% / 25% 25% no-repeat,
    radial-gradient(var(--cSlider) 17%, #0000 0),
    #545153;
  box-shadow:
    inset -0.15em -0.15em 0.2em #0008,
    inset 0.15em 0.15em 0.2em #ffffff22,
    inset calc(var(--val) * 1em / 500) 0em calc(var(--val) * 1em / 500) calc(var(--val) * -1em / 700) var(--cSlider),
    0.25em 0.25em 0.5em #0006,
    calc(0.0125em * var(--val)) calc(0.005em * var(--val)) calc(0.02em * var(--val)) calc(-0.01em * var(--val)) #000a;
  border-radius: 50%;
    
}

/***** Firefox *****/
.glow::-moz-range-thumb {
/*   --d: var(--cSlider);
  --d: rgb(from var(--cSlider) r g b / calc(0.35 * var(--val) * 1%)); */
  border: none; /*Removes extra border that FF applies*/
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  background-color: #5cd5eb;
  width: 4em;
  height: 4em;
  aspect-ratio: 1;
  background: red;
  border-radius: 50%;
  background: 
/*     radial-gradient(farthest-side, #0000 22.5%, var(--d) 0, #0000 calc(var(--val) * 0.75%)) 50% 50% / 100% 100% no-repeat, */
    radial-gradient(#0000  15%, #343133 16%, #545153 20%),
    repeating-linear-gradient(#0000 0 10%, #0002 0 20%) 50% 50% / 25% 25% no-repeat,
    repeating-linear-gradient(90deg, #0000 0 10%, #0002 0 20%) 50% 50% / 25% 25% no-repeat,
    radial-gradient(var(--cSlider) 17%, #0000 0),
    #545153;
  box-shadow:
    inset -0.15em -0.15em 0.2em #0008,
    inset 0.15em 0.15em 0.2em #ffffff22,
    inset calc(var(--val) * 1em / 500) 0em calc(var(--val) * 1em / 500) calc(var(--val) * -1em / 700) var(--cSlider),
    0.25em 0.25em 0.5em #0006,
    calc(0.015em * var(--val)) calc(0.005em * var(--val)) calc(0.02em * var(--val)) calc(-0.01em * var(--val)) #0008;
  border-radius: 50%;
}
