$fresk-dark-mode: false !default;
$fresk-dark-surface: #343a40 !default;
$fresk-dark-min-contrast: 4.6 !default;

@mixin fresk-dark {
    $fresk-parent: &;
    @if $fresk-dark-mode {
        @at-root #{selector-nest('[data-bs-theme="dark"]', $fresk-parent)} {
            @content;
        }
    }
}

@mixin fresk-dark-root {
    @if $fresk-dark-mode {
        [data-bs-theme="dark"] {
            @content;
        }
    }
}

@function fresk-readable($color, $background: $fresk-dark-surface, $min: $fresk-dark-min-contrast) {
    $readable: $color;
    @for $step from 1 through 20 {
        @if contrast-ratio($background, $readable) < $min {
            $readable: tint-color($color, percentage($step * .05));
        }
    }
    @return $readable;
}
