[role=button], button, input, textarea, select { padding: .5rem .75rem; border-radius: var(--border-radius); outline: none; } input, textarea, select { width: 100%; background: var(--input-background); border: 1px solid var(--input-border); transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; &:hover { background: var(--input-hover-background); } &:focus { border-color: var(--input-focus-border); } } input[type=range] { width: 100%; height: .5rem; padding: .5rem 0; &::-moz-range-track, &::-moz-range-progress { width: 100%; height: .5rem; } } input[type=range], input[type=range][orientation=vertical] { cursor: pointer; appearance: none; background: none; background-color: transparent; &::-moz-range-track, &::-moz-range-progress { border-radius: var(--border-radius); } &::-moz-range-track { background-color: var(--input-background); } &::-moz-range-progress { background-color: var(--accent-hex); } &:active::-moz-range-thumb { transform: scale(1.25); } &::-moz-range-thumb { width: 1.25rem; height: 1.25rem; border: none; border-radius: 50%; background-color: var(--accent-hex); } } input[type=range][orientation=vertical] { appearance: slider-vertical; writing-mode: vertical-lr; vertical-align: bottom; direction: rtl; height: 100%; padding: 0 .5rem; &::-moz-range-track, &::-moz-range-progress { height: 100%; width: .5rem; } } label:has([type=checkbox]) { width: fit-content; cursor: pointer; } [type=checkbox] { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--primary-background); border-color: var(--primary-border); background-position: center; background-size: 0.75em auto; background-color: var(--secondary-background); color: var(--contrast-color); width: 1.25em; height: 2.25em; border: 1px solid var(--secondary-border-color); border-radius: var(--border-radius); background-color: var(--secondary-background); line-height: 1.5rem; transition: 0.1s ease-in-out; &:before { display: block; aspect-ratio: 1; height: 100%; border-radius: 50%; background-color: var(--color); content: ""; } &:focus { background-color: var(--switch-background-color); border-color: var(--switch-background-color); } &:checked { background-color: var(--primary-background); border-color: var(--primary-border); } } button, [role=button] { text-align: center; text-decoration: none; cursor: pointer; margin: .5rem .25rem; border: none; background: none; &.active { color: var(--primary-color); background: var(--primary-hover-background); } &:hover, &.active:hover { background: var(--primary-hover-background); } &.contrast { background: var(--contrast-background); color: var(--contrast-color); } &.contrast:hover { background: var(--contrast-hover-background); color: var(--contrast-color); } } details[open] > summary[role=button] { color: var(--primary-color); background: var(--primary-hover-background); } .playlist-select { background: var(--theme-elevation-1); border-radius: 12px; min-width: 160px; max-width: 90vw; max-height: 200px; overflow-y: auto; scrollbar-color: rgba(0,0,0,0.3) transparent; padding: 8px 0; border: 1px solid var(--theme-elevation-2); box-shadow: 0 2px 10px rgba(0,0,0,0.2); text-align: left; div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; padding: 10px 16px; cursor: pointer; } div:hover { background-color: var(--secondary-background); } }