// 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: #003964, secondary: #323F48
$_palettes: (
  primary: (
    0: #000000,
    10: #001d36,
    20: #003259,
    25: #083d68,
    30: #1a4975,
    35: #295581,
    40: #37618e,
    50: #517aa8,
    60: #6b94c4,
    70: #86aee0,
    80: #a1cafd,
    90: #d1e4ff,
    95: #eaf1ff,
    98: #f8f9ff,
    99: #fdfcff,
    100: #ffffff,
  ),
  secondary: (
    0: #000000,
    10: #101d25,
    20: #25323b,
    25: #303d46,
    30: #3b4852,
    35: #47545e,
    40: #53606a,
    50: #6b7983,
    60: #85939d,
    70: #9fadb8,
    80: #bac8d3,
    90: #d6e4f0,
    95: #e5f3fe,
    98: #f5faff,
    99: #fbfcff,
    100: #ffffff,
  ),
  tertiary: (
    0: #000000,
    10: #2d0b3c,
    20: #442252,
    25: #502d5e,
    30: #5d396b,
    35: #694477,
    40: #765084,
    50: #90689e,
    60: #ac82b9,
    70: #c89cd5,
    80: #e4b7f2,
    90: #f8d8ff,
    95: #feebff,
    98: #fff7fb,
    99: #fffbff,
    100: #ffffff,
  ),
  neutral: (
    0: #000000,
    10: #1a1c1f,
    20: #2f3034,
    25: #3a3b3f,
    30: #45474a,
    35: #515256,
    40: #5d5e62,
    50: #76777b,
    60: #909094,
    70: #aaabaf,
    80: #c6c6ca,
    90: #e2e2e6,
    95: #f0f0f5,
    98: #f9f9fd,
    99: #fdfcff,
    100: #ffffff,
    4: #0c0e11,
    6: #121316,
    12: #1e2023,
    17: #282a2d,
    22: #333538,
    24: #37393d,
    87: #dadade,
    92: #e8e8ec,
    94: #eeedf2,
    96: #f3f3f7,
  ),
  neutral-variant: (
    0: #000000,
    10: #171c23,
    20: #2c3138,
    25: #373c43,
    30: #42474f,
    35: #4e535a,
    40: #5a5f67,
    50: #737780,
    60: #8c9199,
    70: #a7abb4,
    80: #c2c7d0,
    90: #dee2ec,
    95: #edf1fa,
    98: #f8f9ff,
    99: #fdfcff,
    100: #ffffff,
  ),
  error: (
    0: #000000,
    10: #410002,
    20: #690005,
    25: #7e0007,
    30: #93000a,
    35: #a80710,
    40: #ba1a1a,
    50: #de3730,
    60: #ff5449,
    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),
);

$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((
    primary: _high-contrast-value(#002341, #e8f0ff, $theme-type),
    on-primary: _high-contrast-value(#ffffff, #000000, $theme-type),
    primary-container: _high-contrast-value(#003964, #9dc6f9, $theme-type),
    on-primary-container: _high-contrast-value(#f5f7ff, #000c1b, $theme-type),
    inverse-primary: _high-contrast-value(#a1cafd, #1c4a76, $theme-type),
    primary-fixed: _high-contrast-value(#1e4b77, #d1e4ff, $theme-type),
    primary-fixed-dim: _high-contrast-value(#00345c, #a1cafd, $theme-type),
    on-primary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
    on-primary-fixed-variant: _high-contrast-value(#ffffff, #001225, $theme-type),
    secondary: _high-contrast-value(#212e36, #e4f2fd, $theme-type),
    on-secondary: _high-contrast-value(#ffffff, #000000, $theme-type),
    secondary-container: _high-contrast-value(#3e4b54, #b7c4d0, $theme-type),
    on-secondary-container: _high-contrast-value(#ffffff, #020d14, $theme-type),
    secondary-fixed: _high-contrast-value(#3e4b54, #d6e4f0, $theme-type),
    secondary-fixed-dim: _high-contrast-value(#27343d, #bac8d3, $theme-type),
    on-secondary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
    on-secondary-fixed-variant: _high-contrast-value(#ffffff, #06131a, $theme-type),
    tertiary: _high-contrast-value(#351243, #feeaff, $theme-type),
    on-tertiary: _high-contrast-value(#ffffff, #000000, $theme-type),
    tertiary-container: _high-contrast-value(#4c295a, #e0b3ee, $theme-type),
    on-tertiary-container: _high-contrast-value(#fff5fc, #190025, $theme-type),
    tertiary-fixed: _high-contrast-value(#5f3b6d, #f8d8ff, $theme-type),
    tertiary-fixed-dim: _high-contrast-value(#472455, #e4b7f2, $theme-type),
    on-tertiary-fixed: _high-contrast-value(#ffffff, #000000, $theme-type),
    on-tertiary-fixed-variant: _high-contrast-value(#ffffff, #220031, $theme-type),
    background: _high-contrast-value(#f9f9fd, #121316, $theme-type),
    on-background: _high-contrast-value(#1a1c1f, #e2e2e6, $theme-type),
    surface: _high-contrast-value(#f9f9fd, #121316, $theme-type),
    surface-dim: _high-contrast-value(#b8b8bd, #121316, $theme-type),
    surface-bright: _high-contrast-value(#f9f9fd, #4e5054, $theme-type),
    surface-container-low: _high-contrast-value(#f0f0f5, #1e2023, $theme-type),
    surface-container-lowest: _high-contrast-value(#ffffff, #000000, $theme-type),
    surface-container: _high-contrast-value(#e2e2e6, #2f3034, $theme-type),
    surface-container-high: _high-contrast-value(#d4d4d8, #3a3b3f, $theme-type),
    surface-container-highest: _high-contrast-value(#c6c6ca, #45474a, $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(#37618e, #a1cafd, $theme-type),
    inverse-surface: _high-contrast-value(#2f3034, #e2e2e6, $theme-type),
    inverse-on-surface: _high-contrast-value(#ffffff, #000000, $theme-type),
    outline: _high-contrast-value(#282c33, #ecf0fa, $theme-type),
    outline-variant: _high-contrast-value(#454951, #bec3cc, $theme-type),
    error: _high-contrast-value(#600004, #ffece9, $theme-type),
    on-error: _high-contrast-value(#ffffff, #000000, $theme-type),
    error-container: _high-contrast-value(#98000a, #ffaea4, $theme-type),
    on-error-container: _high-contrast-value(#ffffff, #220001, $theme-type),
    surface-variant: _high-contrast-value(#dee2ec, #42474f, $theme-type),
    on-surface-variant: _high-contrast-value(#000000, #ffffff, $theme-type),
  ))
 }
