.range { /* width: 100%; accent-color: var(--codex-color-primary); height: 1px; outline: none; */ --val: 50; width: 100%; margin: 1.5rem 0; } .range-labels { display: flex; justify-content: space-between; } @property --c { syntax: ""; inherits: true; initial-value: #0000; } .glow { --c: rgb(0, 255, 255, calc(0.25 + var(--val) / 125)); --c: hsl(160deg 80% 50% / calc(0.25 + var(--val) / 125)); -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; cursor: pointer; 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(--c); 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(--c); 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(--c) 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(--c); --d: rgb(from var(--c) 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(--c) 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(--c), 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(--c); --d: rgb(from var(--c) 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(--c) 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(--c), 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%; }