/* Note: Color palettes are generated from primary: #3f51b5, tertiary: #4CAF50 */
html,
.main {
  /* Primary palette variables */
  --mat-sys-primary: light-dark(#4355b9, #bac3ff);
  --mat-sys-on-primary: light-dark(#fff, #08218a);
  --mat-sys-primary-container: light-dark(#dee0ff, #293ca0);
  --mat-sys-on-primary-container: light-dark(#00105c, #dee0ff);
  --mat-sys-inverse-primary: light-dark(#bac3ff, #4355b9);
  --mat-sys-primary-fixed: light-dark(#dee0ff, #dee0ff);
  --mat-sys-primary-fixed-dim: light-dark(#bac3ff, #bac3ff);
  --mat-sys-on-primary-fixed: light-dark(#00105c, #00105c);
  --mat-sys-on-primary-fixed-variant: light-dark(#293ca0, #293ca0);

  /* Secondary palette variables */
  --mat-sys-secondary: light-dark(#565c84, #bec4f2);
  --mat-sys-on-secondary: light-dark(#fff, #272e53);
  --mat-sys-secondary-container: light-dark(#dee0ff, #3e446b);
  --mat-sys-on-secondary-container: light-dark(#12183d, #dee0ff);
  --mat-sys-secondary-fixed: light-dark(#dee0ff, #dee0ff);
  --mat-sys-secondary-fixed-dim: light-dark(#bec4f2, #bec4f2);
  --mat-sys-on-secondary-fixed: light-dark(#12183d, #12183d);
  --mat-sys-on-secondary-fixed-variant: light-dark(#3e446b, #3e446b);

  /* Tertiary palette variables */
  --mat-sys-tertiary: light-dark(#006e1c, #78dc77);
  --mat-sys-on-tertiary: light-dark(#fff, #00390a);
  --mat-sys-tertiary-container: light-dark(#94f990, #005313);
  --mat-sys-on-tertiary-container: light-dark(#002204, #94f990);
  --mat-sys-tertiary-fixed: light-dark(#94f990, #94f990);
  --mat-sys-tertiary-fixed-dim: light-dark(#78dc77, #78dc77);
  --mat-sys-on-tertiary-fixed: light-dark(#002204, #002204);
  --mat-sys-on-tertiary-fixed-variant: light-dark(#005313, #005313);

  /* Neutral palette variables */
  --mat-sys-background: light-dark(#fbf8ff, #121319);
  --mat-sys-on-background: light-dark(#1a1b22, #e3e1ea);
  --mat-sys-surface: light-dark(#fbf8ff, #121319);
  --mat-sys-surface-dim: light-dark(#dbd9e2, #121319);
  --mat-sys-surface-bright: light-dark(#fbf8ff, #383940);
  --mat-sys-surface-container-low: light-dark(#f4f2fc, #1a1b22);
  --mat-sys-surface-container-lowest: light-dark(#fff, #0d0e14);
  --mat-sys-surface-container: light-dark(#efedf6, #1f1f26);
  --mat-sys-surface-container-high: light-dark(#e9e7f0, #292930);
  --mat-sys-surface-container-highest: light-dark(#e3e1ea, #34343b);
  --mat-sys-on-surface: light-dark(#1a1b22, #e3e1ea);
  --mat-sys-shadow: light-dark(#000, #000);
  --mat-sys-scrim: light-dark(#000, #000);
  --mat-sys-surface-tint: light-dark(#4355b9, #bac3ff);
  --mat-sys-inverse-surface: light-dark(#2f3037, #e3e1ea);
  --mat-sys-inverse-on-surface: light-dark(#f2eff9, #2f3037);
  --mat-sys-outline: light-dark(#757684, #8f909e);
  --mat-sys-outline-variant: light-dark(#c5c5d4, #454652);
  --mat-sys-neutral10: light-dark(#1a1b22, #1a1b22); /* Variable used for the form field native select option text color */

  /* Error palette variables */
  --mat-sys-error: light-dark(#ba1a1a, #ffb4ab);
  --mat-sys-on-error: light-dark(#fff, #690005);
  --mat-sys-error-container: light-dark(#ffdad6, #93000a);
  --mat-sys-on-error-container: light-dark(#410002, #ffdad6);

  /* Neutral variant palette variables */
  --mat-sys-surface-variant: light-dark(#e2e1f1, #454652);
  --mat-sys-on-surface-variant: light-dark(#454652, #c5c5d4);
  --mat-sys-neutral-variant20: light-dark(#2e303b, #2e303b); /* Variable used for the sidenav scrim (container background shadow when opened) */

  /* TYPOGRAPHY SYSTEM VARIABLES */

  /* Typography variables. Only used in the different typescale system variables. */
  --mat-sys-brand-font-family: 'Gabarito'; /* The font-family to use for brand text. */
  --mat-sys-plain-font-family: 'Roboto'; /* The font-family to use for plain text. */
  --mat-sys-bold-font-weight: 700; /* The font-weight to use for bold text. */
  --mat-sys-medium-font-weight: 500; /* The font-weight to use for medium text. */
  --mat-sys-regular-font-weight: 400; /* The font-weight to use for regular text. */

  /* Typescale variables. */

  /* Warning: Risk of reduced fidelity from using the composite typography tokens (ex. --mat-sys-body-large) since
     tracking cannot be represented in the "font" property shorthand. Consider using the discrete properties instead. */
  --mat-sys-body-large: var(--mat-sys-body-large-weight) var(--mat-sys-body-large-size) / var(--mat-sys-body-large-line-height) var(--mat-sys-body-large-font);
  --mat-sys-body-large-font: var(--mat-sys-plain-font-family);
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: var(--mat-sys-regular-font-weight);

  /* Body medium typescale */
  --mat-sys-body-medium: var(--mat-sys-body-medium-weight) var(--mat-sys-body-medium-size) / var(--mat-sys-body-medium-line-height) var(--mat-sys-body-medium-font);
  --mat-sys-body-medium-font: var(--mat-sys-plain-font-family);
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: var(--mat-sys-regular-font-weight);

  /* Body small typescale */
  --mat-sys-body-small: var(--mat-sys-body-small-weight) var(--mat-sys-body-small-size) / var(--mat-sys-body-small-line-height) var(--mat-sys-body-small-font);
  --mat-sys-body-small-font: var(--mat-sys-plain-font-family);
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: var(--mat-sys-regular-font-weight);

  /* Display large typescale */
  --mat-sys-display-large: var(--mat-sys-display-large-weight) var(--mat-sys-display-large-size) / var(--mat-sys-display-large-line-height) var(--mat-sys-display-large-font);
  --mat-sys-display-large-font: var(--mat-sys-brand-font-family);
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: var(--mat-sys-regular-font-weight);

  /* Display medium typescale */
  --mat-sys-display-medium: var(--mat-sys-display-medium-weight) var(--mat-sys-display-medium-size) / var(--mat-sys-display-medium-line-height) var(--mat-sys-display-medium-font);
  --mat-sys-display-medium-font: var(--mat-sys-brand-font-family);
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: var(--mat-sys-regular-font-weight);

  /* Display small typescale */
  --mat-sys-display-small: var(--mat-sys-display-small-weight) var(--mat-sys-display-small-size) / var(--mat-sys-display-small-line-height) var(--mat-sys-display-small-font);
  --mat-sys-display-small-font: var(--mat-sys-brand-font-family);
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: var(--mat-sys-regular-font-weight);

  /* Headline large typescale */
  --mat-sys-headline-large: var(--mat-sys-headline-large-weight) var(--mat-sys-headline-large-size) / var(--mat-sys-headline-large-line-height) var(--mat-sys-headline-large-font);
  --mat-sys-headline-large-font: var(--mat-sys-brand-font-family);
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: var(--mat-sys-regular-font-weight);

  /* Headline medium typescale */
  --mat-sys-headline-medium: var(--mat-sys-headline-medium-weight) var(--mat-sys-headline-medium-size) / var(--mat-sys-headline-medium-line-height) var(--mat-sys-headline-medium-font);
  --mat-sys-headline-medium-font: var(--mat-sys-brand-font-family);
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: var(--mat-sys-regular-font-weight);

  /* Headline small typescale */
  --mat-sys-headline-small: var(--mat-sys-headline-small-weight) var(--mat-sys-headline-small-size) / var(--mat-sys-headline-small-line-height) var(--mat-sys-headline-small-font);
  --mat-sys-headline-small-font: var(--mat-sys-brand-font-family);
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: var(--mat-sys-regular-font-weight);

  /* Label large typescale */
  --mat-sys-label-large: var(--mat-sys-label-large-weight) var(--mat-sys-label-large-size) / var(--mat-sys-label-large-line-height) var(--mat-sys-label-large-font);
  --mat-sys-label-large-font: var(--mat-sys-plain-font-family);
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: var(--mat-sys-medium-font-weight);
  --mat-sys-label-large-weight-prominent: var(--mat-sys-bold-font-weight);

  /* Label medium typescale */
  --mat-sys-label-medium: var(--mat-sys-label-medium-weight) var(--mat-sys-label-medium-size) / var(--mat-sys-label-medium-line-height) var(--mat-sys-label-medium-font);
  --mat-sys-label-medium-font: var(--mat-sys-plain-font-family);
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: var(--mat-sys-medium-font-weight);
  --mat-sys-label-medium-weight-prominent: var(--mat-sys-bold-font-weight);

  /* Label small typescale */
  --mat-sys-label-small: var(--mat-sys-label-small-weight) var(--mat-sys-label-small-size) / var(--mat-sys-label-small-line-height) var(--mat-sys-label-small-font);
  --mat-sys-label-small-font: var(--mat-sys-plain-font-family);
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: var(--mat-sys-medium-font-weight);

  /* Title large typescale */
  --mat-sys-title-large: var(--mat-sys-title-large-weight) var(--mat-sys-title-large-size) / var(--mat-sys-title-large-line-height) var(--mat-sys-title-large-font);
  --mat-sys-title-large-font: var(--mat-sys-brand-font-family);
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: var(--mat-sys-regular-font-weight);

  /* Title medium typescale */
  --mat-sys-title-medium: var(--mat-sys-title-medium-weight) var(--mat-sys-title-medium-size) / var(--mat-sys-title-medium-line-height) var(--mat-sys-title-medium-font);
  --mat-sys-title-medium-font: var(--mat-sys-plain-font-family);
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: var(--mat-sys-medium-font-weight);

  /* Title small typescale */
  --mat-sys-title-small: var(--mat-sys-title-small-weight) var(--mat-sys-title-small-size) / var(--mat-sys-title-small-line-height) var(--mat-sys-title-small-font);
  --mat-sys-title-small-font: var(--mat-sys-plain-font-family);
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: var(--mat-sys-medium-font-weight);

  /* ELEVATION SYSTEM VARIABLES */

  /* Box shadow colors. Only used in the elevation level system variables. */
  --mat-sys-umbra-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 80%);
  --mat-sys-penumbra-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 86%);
  --mat-sys-ambient-color: color-mix(in srgb, var(--mat-sys-shadow), transparent 88%);

  /* Elevation level system variables. These are used as the value for box-shadow CSS property. */
  --mat-sys-level0: 0px 0px 0px 0px var(--mat-sys-umbra-color), 0px 0px 0px 0px var(--mat-sys-penumbra-color), 0px 0px 0px 0px var(--mat-sys-ambient-color);
  --mat-sys-level1: 0px 2px 1px -1px var(--mat-sys-umbra-color), 0px 1px 1px 0px var(--mat-sys-penumbra-color), 0px 1px 3px 0px var(--mat-sys-ambient-color);
  --mat-sys-level2: 0px 3px 3px -2px var(--mat-sys-umbra-color), 0px 3px 4px 0px var(--mat-sys-penumbra-color), 0px 1px 8px 0px var(--mat-sys-ambient-color);
  --mat-sys-level3: 0px 3px 5px -1px var(--mat-sys-umbra-color), 0px 6px 10px 0px var(--mat-sys-penumbra-color), 0px 1px 18px 0px var(--mat-sys-ambient-color);
  --mat-sys-level4: 0px 5px 5px -3px var(--mat-sys-umbra-color), 0px 8px 10px 1px var(--mat-sys-penumbra-color), 0px 3px 14px 2px var(--mat-sys-ambient-color);
  --mat-sys-level5: 0px 7px 8px -4px var(--mat-sys-umbra-color), 0px 12px 17px 2px var(--mat-sys-penumbra-color), 0px 5px 22px 4px var(--mat-sys-ambient-color);

  /* SHAPE SYSTEM VARIABLES */
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;

  /* STATE SYSTEM VARIABLES */
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;

  @media (prefers-contrast: more) {
    /* Primary palette variables */
    --mat-sys-primary: light-dark(#001b86, #efeeff);
    --mat-sys-on-primary: light-dark(#fff, #000);
    --mat-sys-primary-container: light-dark(#2c3fa3, #b5bfff);
    --mat-sys-on-primary-container: light-dark(#fff, #000532);
    --mat-sys-inverse-primary: light-dark(#bac3ff, #2a3da1);
    --mat-sys-primary-fixed: light-dark(#2c3fa3, #dee0ff);
    --mat-sys-primary-fixed-dim: light-dark(#0d248c, #bac3ff);
    --mat-sys-on-primary-fixed: light-dark(#fff, #000);
    --mat-sys-on-primary-fixed-variant: light-dark(#fff, #000841);

    /* Secondary palette variables */
    --mat-sys-secondary: light-dark(#23294e, #efeeff);
    --mat-sys-on-secondary: light-dark(#fff, #000);
    --mat-sys-secondary-container: light-dark(#40476d, #bac0ee);
    --mat-sys-on-secondary-container: light-dark(#fff, #02072c);
    --mat-sys-secondary-fixed: light-dark(#40476d, #dee0ff);
    --mat-sys-secondary-fixed-dim: light-dark(#2a3055, #bec4f2);
    --mat-sys-on-secondary-fixed: light-dark(#fff, #000);
    --mat-sys-on-secondary-fixed-variant: light-dark(#fff, #070d32);

    /* Tertiary palette variables */
    --mat-sys-tertiary: light-dark(#003509, #c5ffbc);
    --mat-sys-on-tertiary: light-dark(#fff, #000);
    --mat-sys-tertiary-container: light-dark(#005614, #74d873);
    --mat-sys-on-tertiary-container: light-dark(#fff, #000f01);
    --mat-sys-tertiary-fixed: light-dark(#005614, #94f990);
    --mat-sys-tertiary-fixed-dim: light-dark(#003c0b, #78dc77);
    --mat-sys-on-tertiary-fixed: light-dark(#fff, #000);
    --mat-sys-on-tertiary-fixed-variant: light-dark(#fff, #001602);

    /* Neutral palette variables */
    --mat-sys-background: light-dark(#fbf8ff, #121319);
    --mat-sys-on-background: light-dark(#1a1b22, #e3e1ea);
    --mat-sys-surface: light-dark(#fbf8ff, #121319);
    --mat-sys-surface-dim: light-dark(#b9b8c0, #121319);
    --mat-sys-surface-bright: light-dark(#fbf8ff, #4f4f57);
    --mat-sys-surface-container-low: light-dark(#f2eff9, #1f1f26);
    --mat-sys-surface-container-lowest: light-dark(#fff, #000);
    --mat-sys-surface-container: light-dark(#e3e1ea, #2f3037);
    --mat-sys-surface-container-high: light-dark(#d5d3dc, #3b3b42);
    --mat-sys-surface-container-highest: light-dark(#c7c5ce, #46464d);
    --mat-sys-on-surface: light-dark(#000, #fff);
    --mat-sys-shadow: light-dark(#000, #000);
    --mat-sys-scrim: light-dark(#000, #000);
    --mat-sys-surface-tint: light-dark(#4355b9, #bac3ff);
    --mat-sys-inverse-surface: light-dark(#2f3037, #e3e1ea);
    --mat-sys-inverse-on-surface: light-dark(#fff, #000);
    --mat-sys-outline: light-dark(#2a2b37, #efeefe);
    --mat-sys-outline-variant: light-dark(#474855, #c1c1d0);
    --mat-sys-neutral10: light-dark(#1a1b22, #1a1b22); /* Variable used for the form field native select option text color */

    /* Error palette variables */
    --mat-sys-error: light-dark(#600004, #ffece9);
    --mat-sys-on-error: light-dark(#fff, #000);
    --mat-sys-error-container: light-dark(#98000a, #ffaea4);
    --mat-sys-on-error-container: light-dark(#fff, #220001);

    /* Neutral variant palette variables */
    --mat-sys-surface-variant: light-dark(#e2e1f1, #454652);
    --mat-sys-on-surface-variant: light-dark(#000, #fff);
    --mat-sys-neutral-variant20: light-dark(#2e303b, #2e303b); /* Variable used for the sidenav scrim (container background shadow when opened) */
  }
}
