/* Shared range geometry. Existing adapter owns values, bounds and keyboard events. */
.twoip-slider-field { display:grid;grid-template-columns:minmax(0,1fr) 3ch;align-items:center;gap:var(--twoip-service-field-gap,16px); }
.twoip-slider-field > span { inline-size:3ch;text-align:end;font-variant-numeric:tabular-nums; }
.twoip-slider.slider.slider-horizontal { width:100%;height:44px; }
.twoip-slider.slider.slider-horizontal .slider-track { height:4px;top:50%;margin-top:-2px;background:var(--twoip-primary-container);background-image:none;box-shadow:none;border-radius:2px; }
.twoip-slider .slider-selection { background:var(--twoip-primary);background-image:none;box-shadow:none; }
.twoip-slider.slider.slider-horizontal .slider-handle { width:18px;height:18px;top:50%;margin-top:-9px;margin-left:-9px;background:var(--twoip-primary);background-image:none;border:0;box-shadow:none; }
.twoip-slider .slider-handle:is(:hover,:active) { outline:6px solid color-mix(in srgb,var(--twoip-primary) 12%,transparent); }
.twoip-slider .slider-handle:focus-visible { outline:2px solid var(--twoip-primary);outline-offset:3px;box-shadow:none; }
.twoip-slider.slider-disabled { opacity:.38; }
.twoip-slider.slider-disabled :is(.slider-handle,.slider-selection) { background:var(--twoip-on-surface-variant);background-image:none; }
input.twoip-slider[type=range] { appearance:none;inline-size:100%;min-block-size:44px;background:transparent;accent-color:var(--twoip-primary); }
input.twoip-slider[type=range]::-webkit-slider-runnable-track { height:4px;background:var(--twoip-primary-container);border-radius:2px; }
input.twoip-slider[type=range]::-webkit-slider-thumb { appearance:none;width:18px;height:18px;margin-top:-7px;background:var(--twoip-primary);border:0;border-radius:50%; }
input.twoip-slider[type=range]::-moz-range-track { height:4px;background:var(--twoip-primary-container);border-radius:2px; }
input.twoip-slider[type=range]::-moz-range-progress { height:4px;background:var(--twoip-primary); }
input.twoip-slider[type=range]::-moz-range-thumb { width:18px;height:18px;background:var(--twoip-primary);border:0;border-radius:50%; }
input.twoip-slider[type=range]:focus-visible { outline:2px solid var(--twoip-primary);outline-offset:2px; }
input.twoip-slider[type=range]:disabled { opacity:.38; }
