a { text-decoration: none; } a, label:has(input), button { cursor: pointer; display: flex; gap: 4px; align-items: center; justify-content: center; width: max-content; height: 48px; padding-block: 8px; padding-inline: 16px; font-family: inherit; font-weight: 600; color: currentcolor; background: transparent; border: none; border-radius: 32px; transition: all 250ms ease; &.icon { aspect-ratio: 1; padding-block: 0; padding-inline: 0; font-size: 24px; border-radius: 50%; } &.primary { color: var(--md-sys-color-on-primary); background: var(--md-sys-color-primary); } } label:has(input):hover, .button:hover:not(:active), a:hover:not(:active), button:hover:not(:active) { filter: brightness(70%); transition: filter 250ms ease; &:has(:checked), &.active { filter: brightness(120%); } &:disabled, &.disabled { opacity: 0.5; filter: none; } } .disabled, :disabled { pointer-events: none; opacity: 0.5; }