Spaces:
Running
Running
| /* ββ Slider primitive (Radix UI) ββββββββββββββββββββββββββββββββ */ | |
| .ui-slider { width: 100%; display: flex; flex-direction: column; gap: var(--space-1); } | |
| .ui-slider__label { | |
| font-size: var(--text-xs); | |
| color: var(--color-fg-muted); | |
| font-weight: var(--weight-semibold); | |
| letter-spacing: 0.02em; | |
| } | |
| .ui-slider__row { | |
| display: flex; | |
| align-items: center; | |
| gap: var(--space-3); | |
| } | |
| /* Radix Slider Root */ | |
| .ui-slider__root { | |
| position: relative; | |
| display: flex; | |
| align-items: center; | |
| flex: 1; | |
| height: 20px; | |
| cursor: pointer; | |
| touch-action: none; | |
| user-select: none; | |
| } | |
| /* Track */ | |
| .ui-slider__track { | |
| position: relative; | |
| flex-grow: 1; | |
| height: 3px; | |
| border-radius: 2px; | |
| background: rgba(255, 255, 255, 0.08); | |
| } | |
| /* Filled range */ | |
| .ui-slider__range { | |
| position: absolute; | |
| height: 100%; | |
| border-radius: inherit; | |
| background: var(--color-brand); | |
| } | |
| /* Thumb */ | |
| .ui-slider__thumb { | |
| display: block; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| background: var(--color-fg); | |
| cursor: pointer; | |
| border: 2px solid var(--color-bg); | |
| box-shadow: var(--shadow-sm); | |
| transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-fast); | |
| outline: none; | |
| } | |
| .ui-slider__thumb:hover { transform: scale(1.25); } | |
| .ui-slider__thumb:active { transform: scale(1.1); background: var(--color-brand); } | |
| .ui-slider__thumb:focus-visible { box-shadow: var(--focus-ring); } | |
| .ui-slider__value { | |
| font-size: var(--text-xs); | |
| background: var(--color-bg-elev-2); | |
| padding: 1px 5px; | |
| border-radius: var(--radius-sm); | |
| border: 1px solid var(--color-border); | |
| color: var(--color-fg); | |
| font-variant-numeric: tabular-nums; | |
| min-width: 2em; | |
| text-align: center; | |
| font-family: var(--font-mono); | |
| flex-shrink: 0; | |
| } | |
| /* size sm: shorter */ | |
| .ui-slider--size-sm .ui-slider__track { height: 2px; } | |
| .ui-slider--size-sm .ui-slider__value { font-size: var(--text-2xs); padding: 0 4px; } | |