/*!
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

// This file was generated by running 'ng generate @angular/material:theme-color'.
// Proceed with caution if making changes to this file.

@use 'sass:map';
@use '@angular/material' as mat;

// Note: Color palettes are generated from primary: 1b1464, secondary: 39b54a, error: b71c1c
$_palettes: (
    primary: (
        0: #000000,
        10: #13095d,
        20: #292572,
        25: #35317d,
        30: #403d8a,
        35: #4c4996,
        40: #5855a3,
        50: #716ebe,
        60: #8b88da,
        70: #a6a2f7,
        80: #c4c0ff,
        90: #e3dfff,
        95: #f2efff,
        98: #fcf8ff,
        99: #fffbff,
        100: #ffffff,
    ),
    secondary: (
        0: #000000,
        10: #002205,
        20: #00390c,
        25: #004611,
        30: #005316,
        35: #00601b,
        40: #006e20,
        50: #008a2a,
        60: #26a63d,
        70: #48c255,
        80: #66df6e,
        90: #82fc87,
        95: #c8ffc1,
        98: #ecffe5,
        99: #f6fff0,
        100: #ffffff,
    ),
    tertiary: (
        0: #000000,
        10: #001d35,
        20: #003256,
        25: #003e68,
        30: #00497a,
        35: #00558d,
        40: #0062a0,
        50: #007bc8,
        60: #1296f0,
        70: #5db0ff,
        80: #9ccaff,
        90: #d0e4ff,
        95: #e9f1ff,
        98: #f8f9ff,
        99: #fdfcff,
        100: #ffffff,
    ),
    neutral: (
        0: #000000,
        10: #171d15,
        20: #2b322a,
        25: #363d34,
        30: #42493f,
        35: #4d544b,
        40: #596056,
        50: #72796e,
        60: #8b9388,
        70: #a6ada2,
        80: #c1c9bc,
        90: #dde5d8,
        95: #ecf3e6,
        98: #f4fcee,
        99: #f7fff1,
        100: #ffffff,
        4: #091009,
        6: #0e150e,
        12: #1b2119,
        17: #252c23,
        22: #30372e,
        24: #343b32,
        87: #d5dccf,
        92: #e3eadd,
        94: #e9f0e3,
        96: #eff6e9,
    ),
    neutral-variant: (
        0: #000000,
        10: #131e12,
        20: #283326,
        25: #333e31,
        30: #3e4a3c,
        35: #4a5647,
        40: #556253,
        50: #6e7b6a,
        60: #879483,
        70: #a2af9d,
        80: #bdcab8,
        90: #d9e6d3,
        95: #e7f5e1,
        98: #f0fde9,
        99: #f6fff0,
        100: #ffffff,
    ),
    error: (
        0: #000000,
        10: #410002,
        20: #690005,
        25: #7e0008,
        30: #93000b,
        35: #a70c12,
        40: #b91d1d,
        50: #dc3932,
        60: #ff544a,
        70: #ff897d,
        80: #ffb4ab,
        90: #ffdad6,
        95: #ffedea,
        98: #fff8f7,
        99: #fffbff,
        100: #ffffff,
    ),
);

$_rest: (
    secondary: map.get($_palettes, secondary),
    neutral: map.get($_palettes, neutral),
    neutral-variant: map.get($_palettes, neutral-variant),
    error: map.get($_palettes, error),
);

$palettes: $_palettes;
$primary-palette: map.merge(map.get($_palettes, primary), $_rest);
$tertiary-palette: map.merge(map.get($_palettes, tertiary), $_rest);

@function _high-contrast-value($light, $dark, $theme-type) {
    @if ($theme-type == light) {
        @return $light;
    }
    @if ($theme-type == dark) {
        @return $dark;
    }
    @if ($theme-type == color-scheme) {
        @return light-dark(#{$light}, #{$dark});
    }

    @error 'Unknown theme-type #{$theme-type}. Expected light, dark, or color-scheme';
}

@mixin high-contrast-overrides($theme-type) {
    @include mat.theme-overrides(
        (
            secondary: _high-contrast-value(#00340a, #c4ffbe, $theme-type),
            on-secondary: _high-contrast-value(#ffffff, #000000, $theme-type),
            secondary-container:
                _high-contrast-value(#005617, #62db6a, $theme-type),
            on-secondary-container:
                _high-contrast-value(#ffffff, #000f01, $theme-type),
            inverse-secondary:
                _high-contrast-value(#66df6e, #005416, $theme-type),
            secondary-fixed: _high-contrast-value(#005617, #82fc87, $theme-type),
            secondary-fixed-dim:
                _high-contrast-value(#003c0d, #66df6e, $theme-type),
            on-secondary-fixed:
                _high-contrast-value(#ffffff, #000000, $theme-type),
            on-secondary-fixed-variant:
                _high-contrast-value(#ffffff, #001602, $theme-type),
            primary: _high-contrast-value(#25206d, #f2eeff, $theme-type),
            on-primary: _high-contrast-value(#ffffff, #000000, $theme-type),
            primary-container:
                _high-contrast-value(#433f8c, #bfbcff, $theme-type),
            on-primary-container:
                _high-contrast-value(#ffffff, #05003a, $theme-type),
            primary-fixed: _high-contrast-value(#433f8c, #e3dfff, $theme-type),
            primary-fixed-dim:
                _high-contrast-value(#2c2774, #c4c0ff, $theme-type),
            on-primary-fixed:
                _high-contrast-value(#ffffff, #000000, $theme-type),
            on-primary-fixed-variant:
                _high-contrast-value(#ffffff, #09004b, $theme-type),
            tertiary: _high-contrast-value(#002e4f, #e8f1ff, $theme-type),
            on-tertiary: _high-contrast-value(#ffffff, #000000, $theme-type),
            tertiary-container:
                _high-contrast-value(#004c7e, #94c7ff, $theme-type),
            on-tertiary-container:
                _high-contrast-value(#ffffff, #000c1a, $theme-type),
            tertiary-fixed: _high-contrast-value(#004c7e, #d0e4ff, $theme-type),
            tertiary-fixed-dim:
                _high-contrast-value(#00355a, #9ccaff, $theme-type),
            on-tertiary-fixed:
                _high-contrast-value(#ffffff, #000000, $theme-type),
            on-tertiary-fixed-variant:
                _high-contrast-value(#ffffff, #001224, $theme-type),
            background: _high-contrast-value(#f4fcee, #0e150e, $theme-type),
            on-background: _high-contrast-value(#171d15, #dde5d8, $theme-type),
            surface: _high-contrast-value(#f4fcee, #0e150e, $theme-type),
            surface-dim: _high-contrast-value(#b4bbaf, #0e150e, $theme-type),
            surface-bright: _high-contrast-value(#f4fcee, #4b5248, $theme-type),
            surface-container-low:
                _high-contrast-value(#ecf3e6, #1b2119, $theme-type),
            surface-container-lowest:
                _high-contrast-value(#ffffff, #000000, $theme-type),
            surface-container:
                _high-contrast-value(#dde5d8, #2b322a, $theme-type),
            surface-container-high:
                _high-contrast-value(#cfd7ca, #363d34, $theme-type),
            surface-container-highest:
                _high-contrast-value(#c1c9bc, #42493f, $theme-type),
            on-surface: _high-contrast-value(#000000, #ffffff, $theme-type),
            shadow: _high-contrast-value(#000000, #000000, $theme-type),
            scrim: _high-contrast-value(#000000, #000000, $theme-type),
            surface-tint: _high-contrast-value(#006e20, #66df6e, $theme-type),
            inverse-surface: _high-contrast-value(#2b322a, #dde5d8, $theme-type),
            inverse-on-surface:
                _high-contrast-value(#ffffff, #000000, $theme-type),
            outline: _high-contrast-value(#242f22, #e7f4e0, $theme-type),
            outline-variant: _high-contrast-value(#404c3e, #b9c6b4, $theme-type),
            error: _high-contrast-value(#600004, #ffece9, $theme-type),
            on-error: _high-contrast-value(#ffffff, #000000, $theme-type),
            error-container: _high-contrast-value(#98000b, #ffaea5, $theme-type),
            on-error-container:
                _high-contrast-value(#ffffff, #220001, $theme-type),
            surface-variant: _high-contrast-value(#d9e6d3, #3e4a3c, $theme-type),
            on-surface-variant:
                _high-contrast-value(#000000, #ffffff, $theme-type),
        )
    );
}
