.ads-schieber { display: flex; align-items: center; gap: var(--sp-4); min-width: 0; } /* 28px hoch, obwohl die Spur nur 4px misst: das ist die Trefferfläche des Daumens. Ein 4px hohes Element wäre auf dem Telefon nicht zu greifen. */ .ads-schieber input[type="range"] { -webkit-appearance: none; appearance: none; flex: 1 1 auto; min-width: 0; height: 28px; margin: 0; padding: 0; background: transparent; cursor: pointer; } .ads-schieber input[type="range"]:disabled { opacity: .4; cursor: default; } /* Die beiden Spur-Regeln lassen sich NICHT zusammenfassen: trifft ein Browser auf einen Selektor, den er nicht kennt, verwirft er die ganze Regel. */ .ads-schieber input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: var(--r-pill); background: linear-gradient( to right, var(--fg) var(--ads-fuell, 0%), var(--ios-fill) var(--ads-fuell, 0%) ); } .ads-schieber input[type="range"]::-moz-range-track { height: 4px; border-radius: var(--r-pill); background: linear-gradient( to right, var(--fg) var(--ads-fuell, 0%), var(--ios-fill) var(--ads-fuell, 0%) ); } /* margin-top zentriert den Daumen auf der 4px-Spur: (4 - 28) / 2 = -12. */ .ads-schieber input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 28px; height: 28px; margin-top: -12px; /* Der Ring ist der Trick fuer den Tagmodus: --line-strong ist dort rgba(0,0,0,.22) und zeichnet den weissen Daumen sauber gegen die helle Kachel ab, im Nachtmodus dagegen rgba(255,255,255,.20) - also auf Weiss unsichtbar, wo er nicht gebraucht wird. Ein Token, zwei Themen. Dazu ein kraeftigerer Schatten: der allein trug im Tagmodus nicht. */ border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .22), 0 4px 10px rgba(0, 0, 0, .16); } .ads-schieber input[type="range"]::-moz-range-thumb { box-sizing: border-box; width: 28px; height: 28px; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .22), 0 4px 10px rgba(0, 0, 0, .16); } .ads-schieber input[type="range"]:focus-visible { outline: none; } .ads-schieber input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px var(--line-strong), 0 3px 8px rgba(0, 0, 0, .16); } .ads-schieber input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px var(--line-strong), 0 3px 8px rgba(0, 0, 0, .16); } /* Feste Mindestbreite und Ziffern gleicher Laufweite: sonst ruckelt der Regler seitlich, sobald der Wert von 9 auf 10 springt. */ .ads-schieber__wert { flex: 0 0 auto; min-width: 62px; text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--fg2); }