def font_color(color: str, dark_option: str, light_option: str) -> str:
    """Return either dark_option or light_option, whichever is higher contrast with color.

    Handles common html color kinds (like transparent), and always returns a hex color.
    """

    # Normalize return options to hex colors
    dark_normalized = _html_color(colors=[dark_option])[0]
    light_normalized = _html_color(colors=[light_option])[0]

    if color == "transparent":
        # With the `transparent` color, the font color should have the same value
        # as the `dark_option` option since the background will be transparent
        return dark_normalized
    if color in ["currentcolor", "currentColor"]:
        # With two variations of `currentColor` value, normalize to `currentcolor`
        return "currentcolor"
    if color in ["inherit", "initial", "unset"]:
        # For the other valid CSS color attribute values, we should pass them through
        return color

    # Normalize the color to a hexadecimal value
    color_normalized = _html_color(colors=[color])

    # Determine the ideal font color given the different background colors
    ideal_font_color = _ideal_fgnd_color(
        bgnd_color=color_normalized[0],
        light=light_normalized,
        dark=dark_normalized,
    )

    return ideal_font_color
Return either dark_option or light_option, whichever is higher contrast with color.

    Handles common html color kinds (like transparent), and always returns a hex color.
    
great_tables/_scss.py