/* node_modules/@fontsource-variable/google-sans-flex/full.css */
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-canadian-aboriginal-full-normal-O4LWTR2T.woff2") format("woff2-variations");
  unicode-range:
    U+02C7,
    U+02D8-02D9,
    U+02DB,
    U+0307,
    U+1400-167F,
    U+18B0-18F5,
    U+25CC,
    U+11AB0-11ABF;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-cherokee-full-normal-ONCZEYSW.woff2") format("woff2-variations");
  unicode-range:
    U+0300-0302,
    U+0304,
    U+030B-030C,
    U+0323-0324,
    U+0330-0331,
    U+13A0-13FF,
    U+AB70-ABBF;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-math-full-normal-Z2MUHNLJ.woff2") format("woff2-variations");
  unicode-range:
    U+0302-0303,
    U+0305,
    U+0307-0308,
    U+0310,
    U+0312,
    U+0315,
    U+031A,
    U+0326-0327,
    U+032C,
    U+032F-0330,
    U+0332-0333,
    U+0338,
    U+033A,
    U+0346,
    U+034D,
    U+0391-03A1,
    U+03A3-03A9,
    U+03B1-03C9,
    U+03D1,
    U+03D5-03D6,
    U+03F0-03F1,
    U+03F4-03F5,
    U+2016-2017,
    U+2034-2038,
    U+203C,
    U+2040,
    U+2043,
    U+2047,
    U+2050,
    U+2057,
    U+205F,
    U+2070-2071,
    U+2074-208E,
    U+2090-209C,
    U+20D0-20DC,
    U+20E1,
    U+20E5-20EF,
    U+2100-2112,
    U+2114-2115,
    U+2117-2121,
    U+2123-214F,
    U+2190,
    U+2192,
    U+2194-21AE,
    U+21B0-21E5,
    U+21F1-21F2,
    U+21F4-2211,
    U+2213-2214,
    U+2216-22FF,
    U+2308-230B,
    U+2310,
    U+2319,
    U+231C-2321,
    U+2336-237A,
    U+237C,
    U+2395,
    U+239B-23B7,
    U+23D0,
    U+23DC-23E1,
    U+2474-2475,
    U+25AF,
    U+25B3,
    U+25B7,
    U+25BD,
    U+25C1,
    U+25CA,
    U+25CC,
    U+25FB,
    U+266D-266F,
    U+27C0-27FF,
    U+2900-2AFF,
    U+2B0E-2B11,
    U+2B30-2B4C,
    U+2BFE,
    U+3030,
    U+FF5B,
    U+FF5D,
    U+1D400-1D7FF,
    U+1EE00-1EEFF;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-nushu-full-normal-YXPFTLPC.woff2") format("woff2-variations");
  unicode-range:
    U+2003,
    U+3000,
    U+3002,
    U+4E00,
    U+FE12,
    U+16FE1,
    U+1B170-1B2FB;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-symbols-full-normal-2SPZLGYI.woff2") format("woff2-variations");
  unicode-range:
    U+0001-000C,
    U+000E-001F,
    U+007F-009F,
    U+20DD-20E0,
    U+20E2-20E4,
    U+2150-218F,
    U+2190,
    U+2192,
    U+2194-2199,
    U+21AF,
    U+21E6-21F0,
    U+21F3,
    U+2218-2219,
    U+2299,
    U+22C4-22C6,
    U+2300-243F,
    U+2440-244A,
    U+2460-24FF,
    U+25A0-27BF,
    U+2800-28FF,
    U+2921-2922,
    U+2981,
    U+29BF,
    U+29EB,
    U+2B00-2BFF,
    U+4DC0-4DFF,
    U+FFF9-FFFB,
    U+10140-1018E,
    U+10190-1019C,
    U+101A0,
    U+101D0-101FD,
    U+102E0-102FB,
    U+10E60-10E7E,
    U+1D2C0-1D2D3,
    U+1D2E0-1D37F,
    U+1F000-1F0FF,
    U+1F100-1F1AD,
    U+1F1E6-1F1FF,
    U+1F30D-1F30F,
    U+1F315,
    U+1F31C,
    U+1F31E,
    U+1F320-1F32C,
    U+1F336,
    U+1F378,
    U+1F37D,
    U+1F382,
    U+1F393-1F39F,
    U+1F3A7-1F3A8,
    U+1F3AC-1F3AF,
    U+1F3C2,
    U+1F3C4-1F3C6,
    U+1F3CA-1F3CE,
    U+1F3D4-1F3E0,
    U+1F3ED,
    U+1F3F1-1F3F3,
    U+1F3F5-1F3F7,
    U+1F408,
    U+1F415,
    U+1F41F,
    U+1F426,
    U+1F43F,
    U+1F441-1F442,
    U+1F444,
    U+1F446-1F449,
    U+1F44C-1F44E,
    U+1F453,
    U+1F46A,
    U+1F47D,
    U+1F4A3,
    U+1F4B0,
    U+1F4B3,
    U+1F4B9,
    U+1F4BB,
    U+1F4BF,
    U+1F4C8-1F4CB,
    U+1F4D6,
    U+1F4DA,
    U+1F4DF,
    U+1F4E3-1F4E6,
    U+1F4EA-1F4ED,
    U+1F4F7,
    U+1F4F9-1F4FB,
    U+1F4FD-1F4FE,
    U+1F503,
    U+1F507-1F50B,
    U+1F50D,
    U+1F512-1F513,
    U+1F53E-1F54A,
    U+1F54F-1F5FA,
    U+1F610,
    U+1F650-1F67F,
    U+1F687,
    U+1F68D,
    U+1F691,
    U+1F694,
    U+1F698,
    U+1F6AD,
    U+1F6B2,
    U+1F6B9-1F6BA,
    U+1F6BC,
    U+1F6C6-1F6CF,
    U+1F6D3-1F6D7,
    U+1F6E0-1F6EA,
    U+1F6F0-1F6F3,
    U+1F6F7-1F6FC,
    U+1F700-1F7FF,
    U+1F800-1F80B,
    U+1F810-1F847,
    U+1F850-1F859,
    U+1F860-1F887,
    U+1F890-1F8AD,
    U+1F8B0-1F8BB,
    U+1F8C0-1F8C1,
    U+1F900-1F90B,
    U+1F93B,
    U+1F946,
    U+1F984,
    U+1F996,
    U+1F9E9,
    U+1FA00-1FA6F,
    U+1FA70-1FA7C,
    U+1FA80-1FA89,
    U+1FA8F-1FAC6,
    U+1FACE-1FADC,
    U+1FADF-1FAE9,
    U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-syriac-full-normal-3EOZK7DL.woff2") format("woff2-variations");
  unicode-range:
    U+0303-0304,
    U+0307-0308,
    U+030A,
    U+0320,
    U+0323-0325,
    U+032D-032E,
    U+0330-0331,
    U+060C,
    U+061B-061C,
    U+061F,
    U+0621,
    U+0640,
    U+064B-0655,
    U+0660-066C,
    U+0670,
    U+0700-074F,
    U+0860-086A,
    U+1DF8,
    U+1DFA,
    U+200C-200F,
    U+25CC,
    U+2670-2671;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-tifinagh-full-normal-A37CA72G.woff2") format("woff2-variations");
  unicode-range:
    U+02C7,
    U+0301-0302,
    U+0304,
    U+0306-0307,
    U+0309,
    U+0323,
    U+0331,
    U+200C-200D,
    U+202E,
    U+25CC,
    U+2D30-2D7F;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-vietnamese-full-normal-DRB7I5BB.woff2") format("woff2-variations");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-latin-ext-full-normal-2NRNVULD.woff2") format("woff2-variations");
  unicode-range:
    U+0100-02BA,
    U+02BD-02C5,
    U+02C7-02CC,
    U+02CE-02D7,
    U+02DD-02FF,
    U+0304,
    U+0308,
    U+0329,
    U+1D00-1DBF,
    U+1E00-1E9F,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}
@font-face {
  font-family: "Google Sans Flex Variable";
  font-style: oblique 0deg 10deg;
  font-display: swap;
  font-weight: 1 1000;
  font-stretch: 25% 151%;
  src: url("./media/google-sans-flex-latin-full-normal-EO3JV4ED.woff2") format("woff2-variations");
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/* web/src/styles.scss */
html.light-theme {
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #004f4f;
  --mat-sys-on-tertiary-fixed: #002020;
  --mat-sys-on-tertiary-fixed-variant: #004f4f;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: #005cbb;
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #006a6a;
  --mat-sys-tertiary-container: #00fbfb;
  --mat-sys-tertiary-fixed: #00fbfb;
  --mat-sys-tertiary-fixed-dim: #00dddd;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large:
    450 1rem / 1.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-body-medium:
    450 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-body-small:
    450 0.75rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-large:
    450 3.562rem / 4rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-medium:
    450 2.812rem / 3.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-small:
    450 2.25rem / 2.75rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-large:
    450 2rem / 2.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-medium:
    450 1.75rem / 2.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-small:
    450 1.5rem / 2rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-label-large:
    650 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-label-large-weight-prominent: 750;
  --mat-sys-label-medium:
    650 0.75rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-label-medium-weight-prominent: 750;
  --mat-sys-label-small:
    650 0.688rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-title-large:
    450 1.375rem / 1.75rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-title-medium:
    650 1rem / 1.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-title-small:
    650 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --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;
  --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;
  color-scheme: light;
}
html.dark-theme {
  --mat-sys-background: #121316;
  --mat-sys-error: #ffb4ab;
  --mat-sys-error-container: #93000a;
  --mat-sys-inverse-on-surface: #2f3033;
  --mat-sys-inverse-primary: #005cbb;
  --mat-sys-inverse-surface: #e3e2e6;
  --mat-sys-on-background: #e3e2e6;
  --mat-sys-on-error: #690005;
  --mat-sys-on-error-container: #ffdad6;
  --mat-sys-on-primary: #002f65;
  --mat-sys-on-primary-container: #d7e3ff;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #283041;
  --mat-sys-on-secondary-container: #dae2f9;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #e3e2e6;
  --mat-sys-on-surface-variant: #e0e2ec;
  --mat-sys-on-tertiary: #003737;
  --mat-sys-on-tertiary-container: #00fbfb;
  --mat-sys-on-tertiary-fixed: #002020;
  --mat-sys-on-tertiary-fixed-variant: #004f4f;
  --mat-sys-outline: #8e9099;
  --mat-sys-outline-variant: #44474e;
  --mat-sys-primary: #abc7ff;
  --mat-sys-primary-container: #00458f;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #bec6dc;
  --mat-sys-secondary-container: #3e4759;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #121316;
  --mat-sys-surface-bright: #38393c;
  --mat-sys-surface-container: #1f2022;
  --mat-sys-surface-container-high: #292a2c;
  --mat-sys-surface-container-highest: #343537;
  --mat-sys-surface-container-low: #1a1b1f;
  --mat-sys-surface-container-lowest: #0d0e11;
  --mat-sys-surface-dim: #121316;
  --mat-sys-surface-tint: #abc7ff;
  --mat-sys-surface-variant: #44474e;
  --mat-sys-tertiary: #00dddd;
  --mat-sys-tertiary-container: #004f4f;
  --mat-sys-tertiary-fixed: #00fbfb;
  --mat-sys-tertiary-fixed-dim: #00dddd;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large:
    450 1rem / 1.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-body-medium:
    450 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-body-small:
    450 0.75rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-body-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-large:
    450 3.562rem / 4rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-medium:
    450 2.812rem / 3.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-display-small:
    450 2.25rem / 2.75rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-display-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-large:
    450 2rem / 2.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-medium:
    450 1.75rem / 2.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-headline-small:
    450 1.5rem / 2rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-headline-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-label-large:
    650 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-label-large-weight-prominent: 750;
  --mat-sys-label-medium:
    650 0.75rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-label-medium-weight-prominent: 750;
  --mat-sys-label-small:
    650 0.688rem / 1rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-label-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-title-large:
    450 1.375rem / 1.75rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-large-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 450;
  --mat-sys-title-medium:
    650 1rem / 1.5rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-medium-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --mat-sys-title-small:
    650 0.875rem / 1.25rem Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --mat-sys-title-small-font:
    Google Sans Flex Variable,
    Google Sans,
    sans-serif;
  --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: 650;
  --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;
  --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;
  color-scheme: dark;
}
:root {
  --bg: var(--mat-sys-background);
  --surface: var(--mat-sys-surface);
  --surface-soft: var(--mat-sys-surface-container);
  --group-card-surface: var(--mat-sys-surface-container);
  --group-card-surface-hover: var(--mat-sys-surface-container-high);
  --ink: var(--mat-sys-on-background);
  --muted: var(--mat-sys-on-surface-variant);
  --primary: var(--mat-sys-primary);
  --primary-hover: color-mix(in srgb, var(--mat-sys-primary), var(--mat-sys-on-primary) 14%);
  --primary-soft: var(--mat-sys-primary-container);
  --coral: var(--mat-sys-tertiary);
  --green: var(--mat-sys-primary);
  --danger: var(--mat-sys-error);
  --danger-soft: var(--mat-sys-error-container);
  --outline: var(--mat-sys-outline);
  --outline-soft: var(--mat-sys-outline-variant);
  --shadow-low: 0 6px 22px color-mix(in srgb, var(--mat-sys-shadow), transparent 88%);
  --shadow-high: 0 18px 52px color-mix(in srgb, var(--mat-sys-shadow), transparent 72%);
  --font-ui:
    "Google Sans Flex Variable",
    "Google Sans",
    sans-serif;
  --font-brand:
    "Google Sans Flex Variable",
    "Google Sans",
    sans-serif;
}
* {
  box-sizing: border-box;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
*::-webkit-scrollbar {
  display: none;
}
html {
  min-width: 320px;
  min-height: 100%;
  background: var(--mat-sys-background);
  font-family: var(--font-ui);
  font-variation-settings: "ROND" 100;
}
body {
  min-height: 100%;
  margin: 0;
  color: var(--mat-sys-on-background);
  background: var(--mat-sys-background);
  font: 450 15px/1.45 var(--font-ui);
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.2s, color 0.2s;
}
body,
button,
input,
textarea,
select {
  font-family: var(--font-ui);
  font-variation-settings: "ROND" 100;
}
body *:not(mat-icon):not(.material-symbols-rounded):not(.motion-label):not(.motion-label *):not(.motion-symbol):not(.motion-symbol *):not(.avatar):not(.avatar *) {
  font-variation-settings: "ROND" 100 !important;
}
body {
  --mat-sys-surface-container-low: var(--mat-sys-surface-container);
  --mdc-elevated-card-container-elevation: none;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
::selection {
  color: var(--mat-sys-on-primary);
  background: var(--mat-sys-primary);
}
.material-symbols-rounded,
mat-icon {
  font-family: "Material Symbols Rounded" !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  user-select: none;
  -webkit-user-select: none;
}
img[src="/web/app-icon.svg"] {
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.mat-mdc-button,
.mat-mdc-raised-button,
.mat-mdc-unelevated-button,
.mat-mdc-outlined-button {
  letter-spacing: 0 !important;
  font-weight: 690 !important;
}
.mat-mdc-unelevated-button:not(:disabled) {
  --mdc-filled-button-container-color: var(--mat-sys-primary);
  --mdc-filled-button-label-text-color: var(--mat-sys-on-primary);
}
.mat-mdc-outlined-button:not(:disabled) {
  --mdc-outlined-button-outline-color: var(--outline);
  --mdc-outlined-button-label-text-color: var(--primary);
}
.mat-mdc-form-field {
  --mdc-outlined-text-field-container-shape: 16px;
  --mat-form-field-container-text-size: 15px;
}
.mat-mdc-snack-bar-container {
  --mdc-snackbar-container-color: var(--mat-sys-inverse-surface);
  --mdc-snackbar-supporting-text-color: var(--mat-sys-inverse-on-surface);
}
.profile-tooltip .mdc-tooltip__surface {
  color: var(--mat-sys-on-primary) !important;
  background: var(--mat-sys-primary) !important;
  font-weight: 650;
}
mat-card,
.mat-mdc-card {
  color: var(--mat-sys-on-surface);
  background: var(--mat-sys-surface-container);
  box-shadow: none !important;
}
html.dark-theme .form-section,
html.dark-theme .side-form,
html.dark-theme .date-card,
html.dark-theme .attendance button,
html.dark-theme .name-card,
html.dark-theme .calendar-card {
  color: var(--mat-sys-on-surface);
  background: var(--mat-sys-surface-container-low);
}
html.dark-theme .summary,
html.dark-theme .scanner,
html.dark-theme .dialog {
  color: var(--mat-sys-on-surface);
  border-color: var(--mat-sys-outline-variant);
  background: var(--mat-sys-surface-container-high);
}
html.dark-theme input[type=date],
html.dark-theme input[type=time] {
  color: var(--mat-sys-on-surface);
  border-color: var(--mat-sys-outline);
  background: var(--mat-sys-surface-container-highest);
}
.boot-screen {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  color: var(--ink);
  background: var(--bg);
}
.brand-glyph {
  width: 64px;
  height: 64px;
  display: block;
  border-radius: 20px;
  object-fit: cover;
}
.boot-name {
  font: 760 27px var(--font-brand);
}
.boot-bar {
  width: 130px;
  height: 4px;
  overflow: hidden;
  border-radius: 5px;
  background: var(--primary-soft);
}
.boot-bar span {
  display: block;
  width: 55%;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
  animation: boot 1s infinite alternate ease-in-out;
}
.boot-error {
  padding: 30px;
  text-align: center;
}
.boot-error h1 {
  margin-bottom: 0;
}
.boot-error p {
  max-width: 540px;
  color: var(--muted);
}
.boot-error button {
  padding: 12px 18px;
  border: 0;
  border-radius: 14px;
  color: var(--mat-sys-on-primary);
  background: var(--mat-sys-primary);
  cursor: pointer;
}
@keyframes boot {
  to {
    translate: 82%;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* angular:styles/global:styles */
