/* ── 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; }