/* [next]/internal/font/google/inter_2fcf6573.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Inter;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_2fcf6573-module__qf7wrG__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_2fcf6573-module__qf7wrG__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_38865a85.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/13bf9871fe164e7f-s.f2220059.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/cc545e633e20c56d-s.f6f1950f.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/71b036adf157cdcf-s.bd5f4d11.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/89b21bb081cb7469-s.51c18f09.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/3fe682a82f50d426-s.23358719.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/70bc3e132a0a741e-s.p.15008bfb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_38865a85-module__uXxy6G__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_38865a85-module__uXxy6G__variable {
  --font-jetbrains-mono: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [next]/internal/font/google/instrument_sans_a33f093d.module.css [app-client] (css) */
@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.088ba3ed.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/f06bf9da926bae75-s.p.c68a79fb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.088ba3ed.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/f06bf9da926bae75-s.p.c68a79fb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.088ba3ed.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/f06bf9da926bae75-s.p.c68a79fb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.088ba3ed.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, 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: Instrument Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/f06bf9da926bae75-s.p.c68a79fb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Sans Fallback;
  src: local(Arial);
  ascent-override: 94.42%;
  descent-override: 24.33%;
  line-gap-override: 0.0%;
  size-adjust: 102.74%;
}

.instrument_sans_a33f093d-module__ZK0abq__className {
  font-family: Instrument Sans, Instrument Sans Fallback;
  font-style: normal;
}

.instrument_sans_a33f093d-module__ZK0abq__variable {
  --font-display: "Instrument Sans", "Instrument Sans Fallback";
}

/* [project]/Projects/EdgeWARN-Website/node_modules/leaflet/dist/leaflet.css [app-client] (css) */
.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer {
  position: absolute;
  top: 0;
  left: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.leaflet-tile::selection {
  background: none;
}

.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

.leaflet-safari .leaflet-tile-container {
  -webkit-transform-origin: 0 0;
  width: 1600px;
  height: 1600px;
}

.leaflet-marker-icon, .leaflet-marker-shadow {
  display: block;
}

.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile {
  width: auto;
  padding: 0;
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container img.leaflet-tile {
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: #33b5e566;
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  box-sizing: border-box;
  z-index: 800;
  width: 0;
  height: 0;
}

.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url("#default#VML");
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  position: relative;
}

.leaflet-top, .leaflet-bottom {
  z-index: 1000;
  pointer-events: none;
  position: absolute;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity .2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0, 0, .25, 1);
  transition: transform .25s cubic-bezier(0, 0, .25, 1);
}

.leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair, .leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane, .leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  outline-offset: 1px;
  background: #ddd;
}

.leaflet-container a {
  color: #0078a8;
}

.leaflet-zoom-box {
  background: #ffffff80;
  border: 2px dotted #38f;
}

.leaflet-container {
  font-family: Helvetica Neue, Arial, Helvetica, sans-serif;
  font-size: .75rem;
  line-height: 1.5;
}

.leaflet-bar {
  border-radius: 4px;
  box-shadow: 0 1px 5px #000000a6;
}

.leaflet-bar a {
  text-align: center;
  color: #000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-decoration: none;
  display: block;
}

.leaflet-bar a, .leaflet-control-layers-toggle {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover, .leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom: none;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  color: #bbb;
  background-color: #f4f4f4;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
  text-indent: 1px;
  font: bold 18px Lucida Console, Monaco, monospace;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

.leaflet-control-layers {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 1px 5px #0006;
}

.leaflet-control-layers-toggle {
  background-image: url("../media/layers.78ca0acf.png");
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("../media/layers-2x.793209de.png");
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  color: #333;
  background: #fff;
  padding: 6px 10px 6px 6px;
}

.leaflet-control-layers-scrollbar {
  padding-right: 5px;
  overflow: hidden scroll;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  font-size: 1.08333em;
  display: block;
}

.leaflet-control-layers-separator {
  border-top: 1px solid #ddd;
  height: 0;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url("../media/marker-icon.b9f7ac13.png");
}

.leaflet-container .leaflet-control-attribution {
  background: #fffc;
  margin: 0;
}

.leaflet-control-attribution, .leaflet-control-scale-line {
  color: #333;
  padding: 0 5px;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  width: 1em;
  height: .6669em;
  vertical-align: baseline !important;
  display: inline !important;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  white-space: nowrap;
  box-sizing: border-box;
  text-shadow: 1px 1px #fff;
  background: #fffc;
  border: 2px solid #777;
  border-top: none;
  padding: 2px 5px 1px;
  line-height: 1.1;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  background-clip: padding-box;
  border: 2px solid #0003;
}

.leaflet-popup {
  text-align: center;
  margin-bottom: 20px;
  position: absolute;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 12px;
  padding: 1px;
}

.leaflet-popup-content {
  min-height: 1px;
  margin: 13px 24px 13px 20px;
  font-size: 1.08333em;
  line-height: 1.3;
}

.leaflet-popup-content p {
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  pointer-events: none;
  width: 40px;
  height: 20px;
  margin-top: -1px;
  margin-left: -20px;
  position: absolute;
  left: 50%;
  overflow: hidden;
}

.leaflet-popup-tip {
  pointer-events: auto;
  width: 17px;
  height: 17px;
  margin: -10px auto 0;
  padding: 1px;
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  color: #333;
  background: #fff;
  box-shadow: 0 3px 14px #0006;
}

.leaflet-container a.leaflet-popup-close-button {
  text-align: center;
  color: #757575;
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  font: 16px / 24px Tahoma, Verdana, sans-serif;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 0;
}

.leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  width: 24px;
  filter: progid:DXImageTransform. Microsoft. Matrix(M11= .707107, M12= .707107, M21= -.707107, M22= .707107);
  margin: 0 auto;
}

.leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 6px;
  position: absolute;
  box-shadow: 0 1px 3px #0006;
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  pointer-events: none;
  content: "";
  background: none;
  border: 6px solid #0000;
  position: absolute;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  margin-left: -6px;
  left: 50%;
}

.leaflet-tooltip-top:before {
  border-top-color: #fff;
  margin-bottom: -12px;
  bottom: 0;
}

.leaflet-tooltip-bottom:before {
  border-bottom-color: #fff;
  margin-top: -12px;
  margin-left: -6px;
  top: 0;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  margin-top: -6px;
  top: 50%;
}

.leaflet-tooltip-left:before {
  border-left-color: #fff;
  margin-right: -12px;
  right: 0;
}

.leaflet-tooltip-right:before {
  border-right-color: #fff;
  margin-left: -12px;
  left: 0;
}

@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* [project]/Projects/EdgeWARN-Website/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-inter);
    --font-mono: var(--font-jetbrains-mono);
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-red-900: #82181a;
    --color-orange-400: #ff8b1a;
    --color-orange-500: #fe6e00;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-300: #ffd236;
    --color-amber-400: #fcbb00;
    --color-amber-500: #f99c00;
    --color-amber-950: #461901;
    --color-yellow-100: #fef9c2;
    --color-yellow-300: #ffe02a;
    --color-yellow-400: #fac800;
    --color-yellow-500: #edb200;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-emerald-200: #a4f4cf;
    --color-emerald-300: #5ee9b5;
    --color-emerald-400: #00d294;
    --color-emerald-500: #00bb7f;
    --color-emerald-950: #002c22;
    --color-teal-400: #00d3bd;
    --color-teal-500: #00baa7;
    --color-cyan-300: #53eafd;
    --color-cyan-400: #00d2ef;
    --color-cyan-500: #00b7d7;
    --color-sky-300: #77d4ff;
    --color-sky-400: #00bcfe;
    --color-sky-500: #00a5ef;
    --color-sky-950: #052f4a;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-900: #1c398e;
    --color-indigo-300: #a4b3ff;
    --color-indigo-400: #7d87ff;
    --color-indigo-500: #625fff;
    --color-indigo-600: #4f39f6;
    --color-indigo-900: #312c85;
    --color-violet-400: #a685ff;
    --color-violet-500: #8d54ff;
    --color-purple-100: #f3e8ff;
    --color-purple-300: #d9b3ff;
    --color-purple-400: #c07eff;
    --color-purple-500: #ac4bff;
    --color-purple-600: #9810fa;
    --color-fuchsia-500: #e12afb;
    --color-pink-500: #f6339a;
    --color-rose-400: #ff667f;
    --color-rose-500: #ff2357;
    --color-slate-50: #f8fafc;
    --color-slate-100: #f1f5f9;
    --color-slate-200: #e2e8f0;
    --color-slate-300: #cad5e2;
    --color-slate-400: #90a1b9;
    --color-slate-500: #62748e;
    --color-slate-600: #45556c;
    --color-slate-700: #314158;
    --color-slate-800: #1d293d;
    --color-slate-900: #0f172b;
    --color-slate-950: #020618;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5dc;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-700: #364153;
    --color-gray-800: #1e2939;
    --color-gray-900: #101828;
    --color-zinc-300: #d4d4d8;
    --color-zinc-400: #9f9fa9;
    --color-zinc-500: #71717b;
    --color-zinc-600: #52525c;
    --color-zinc-700: #3f3f46;
    --color-zinc-800: #27272a;
    --color-zinc-900: #18181b;
    --color-zinc-950: #09090b;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-4xl: 56rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --drop-shadow-lg: 0 4px 4px #00000026;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-inter);
    --default-mono-font-family: var(--font-jetbrains-mono);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-900: lab(28.5139% 44.5539 29.0463);
      --color-orange-400: lab(70.0429% 42.5156 75.8207);
      --color-orange-500: lab(64.272% 57.1788 90.3583);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-300: lab(86.4156% 6.13147 78.3961);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-950: lab(15.8111% 20.9107 23.3752);
      --color-yellow-100: lab(97.3564% -4.51407 27.344);
      --color-yellow-300: lab(89.7033% -.480294 84.4917);
      --color-yellow-400: lab(83.2664% 8.65132 106.895);
      --color-yellow-500: lab(76.3898% 14.5258 98.4589);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-300: lab(83.9203% -48.7124 13.8849);
      --color-emerald-400: lab(75.0771% -60.7313 19.4147);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-950: lab(15.0582% -17.9507 2.38369);
      --color-teal-400: lab(76.0109% -53.3483 -2.27906);
      --color-teal-500: lab(67.3859% -49.0983 -2.63511);
      --color-cyan-300: lab(85.3886% -36.7636 -21.5716);
      --color-cyan-400: lab(76.6045% -40.9406 -29.6231);
      --color-cyan-500: lab(67.805% -35.3952 -30.2018);
      --color-sky-300: lab(80.3307% -20.2945 -31.385);
      --color-sky-400: lab(70.687% -23.6078 -45.9483);
      --color-sky-500: lab(63.3038% -18.433 -51.0407);
      --color-sky-950: lab(17.8299% -5.31271 -21.1584);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-indigo-300: lab(74.0235% 8.54138 -41.6075);
      --color-indigo-400: lab(59.866% 22.4834 -64.4485);
      --color-indigo-500: lab(48.295% 38.3129 -81.9673);
      --color-indigo-600: lab(38.4009% 52.6132 -92.3857);
      --color-indigo-900: lab(23.3911% 24.6978 -50.4718);
      --color-violet-400: lab(62.8239% 34.9159 -60.0512);
      --color-violet-500: lab(49.9355% 55.1776 -81.8963);
      --color-purple-100: lab(93.3333% 6.97437 -9.83434);
      --color-purple-300: lab(78.3298% 26.2195 -34.9499);
      --color-purple-400: lab(63.6946% 47.6127 -59.2066);
      --color-purple-500: lab(52.0183% 66.11 -78.2316);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-fuchsia-500: lab(56.4256% 83.132 -64.639);
      --color-pink-500: lab(56.9303% 76.8162 -8.07021);
      --color-rose-400: lab(64.4125% 63.0291 19.2068);
      --color-rose-500: lab(56.101% 79.4328 31.4532);
      --color-slate-50: lab(98.1434% -.369519 -1.05966);
      --color-slate-100: lab(96.286% -.852436 -2.46847);
      --color-slate-200: lab(91.7353% -.998765 -4.76968);
      --color-slate-300: lab(84.7652% -1.94535 -7.93337);
      --color-slate-400: lab(65.5349% -2.25151 -14.5072);
      --color-slate-500: lab(48.0876% -2.03595 -16.5814);
      --color-slate-600: lab(35.5623% -1.74978 -15.4316);
      --color-slate-700: lab(26.9569% -1.47016 -15.6993);
      --color-slate-800: lab(16.132% -.318035 -14.6672);
      --color-slate-900: lab(7.78673% 1.82345 -15.0537);
      --color-slate-950: lab(1.76974% 1.32743 -9.28855);
      --color-gray-100: lab(96.1596% -.0823438 -1.13575);
      --color-gray-200: lab(91.6229% -.159115 -2.26791);
      --color-gray-300: lab(85.1236% -.612259 -3.7138);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-700: lab(27.1134% -.956401 -12.3224);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
      --color-gray-900: lab(8.11897% .811279 -12.254);
      --color-zinc-300: lab(84.9837% .601262 -2.17986);
      --color-zinc-400: lab(65.6464% 1.53497 -5.42429);
      --color-zinc-500: lab(47.8878% 1.65477 -5.77283);
      --color-zinc-600: lab(35.1166% 1.78212 -6.1173);
      --color-zinc-700: lab(26.8019% 1.35387 -4.68303);
      --color-zinc-800: lab(15.7305% .613764 -2.16959);
      --color-zinc-900: lab(8.30603% .618205 -2.16572);
      --color-zinc-950: lab(2.51107% .242703 -.886115);
    }
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-4 {
    inset: calc(var(--spacing) * 4);
  }

  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }

  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-10 {
    top: calc(var(--spacing) * 10);
  }

  .top-16 {
    top: calc(var(--spacing) * 16);
  }

  .top-28 {
    top: calc(var(--spacing) * 28);
  }

  .top-40 {
    top: calc(var(--spacing) * 40);
  }

  .top-\[-20\%\] {
    top: -20%;
  }

  .top-\[3px\] {
    top: 3px;
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-3\.5 {
    right: calc(var(--spacing) * 3.5);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .right-10 {
    right: calc(var(--spacing) * 10);
  }

  .right-\[-10\%\] {
    right: -10%;
  }

  .right-full {
    right: 100%;
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .bottom-10 {
    bottom: calc(var(--spacing) * 10);
  }

  .bottom-20 {
    bottom: calc(var(--spacing) * 20);
  }

  .bottom-\[-20\%\] {
    bottom: -20%;
  }

  .bottom-\[0\.3rem\] {
    bottom: .3rem;
  }

  .bottom-\[228px\] {
    bottom: 228px;
  }

  .bottom-full {
    bottom: 100%;
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-3\.5 {
    left: calc(var(--spacing) * 3.5);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .left-10 {
    left: calc(var(--spacing) * 10);
  }

  .left-\[-10\%\] {
    left: -10%;
  }

  .left-\[0\.3rem\] {
    left: .3rem;
  }

  .left-\[3px\] {
    left: 3px;
  }

  .left-\[350px\] {
    left: 350px;
  }

  .isolate {
    isolation: isolate;
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[400\] {
    z-index: 400;
  }

  .z-\[500\] {
    z-index: 500;
  }

  .z-\[520\] {
    z-index: 520;
  }

  .z-\[540\] {
    z-index: 540;
  }

  .z-\[580\] {
    z-index: 580;
  }

  .z-\[600\] {
    z-index: 600;
  }

  .z-\[699\] {
    z-index: 699;
  }

  .z-\[700\] {
    z-index: 700;
  }

  .z-\[1000\] {
    z-index: 1000;
  }

  .z-\[2000\] {
    z-index: 2000;
  }

  .z-\[3000\] {
    z-index: 3000;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-4 {
    margin: calc(var(--spacing) * 4);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-5 {
    margin-inline: calc(var(--spacing) * 5);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-\[38px\] {
    margin-left: 38px;
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-4 {
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-1\/2 {
    height: 50%;
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-\[1px\] {
    height: 1px;
  }

  .h-\[22px\] {
    height: 22px;
  }

  .h-\[50\%\] {
    height: 50%;
  }

  .h-\[100px\] {
    height: 100px;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-0 {
    max-height: calc(var(--spacing) * 0);
  }

  .max-h-44 {
    max-height: calc(var(--spacing) * 44);
  }

  .max-h-52 {
    max-height: calc(var(--spacing) * 52);
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .max-h-\[240px\] {
    max-height: 240px;
  }

  .max-h-\[calc\(100dvh-2rem\)\] {
    max-height: calc(100dvh - 2rem);
  }

  .max-h-\[min\(60vh\,26rem\)\] {
    max-height: min(60vh, 26rem);
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-\[44px\] {
    min-height: 44px;
  }

  .min-h-\[160px\] {
    min-height: 160px;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-1\/2 {
    width: 50%;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-2\/3 {
    width: 66.6667%;
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-3\/4 {
    width: 75%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-\[23\.5rem\] {
    width: 23.5rem;
  }

  .w-\[38px\] {
    width: 38px;
  }

  .w-\[45\%\] {
    width: 45%;
  }

  .w-\[50\%\] {
    width: 50%;
  }

  .w-\[85vw\] {
    width: 85vw;
  }

  .w-\[300px\] {
    width: 300px;
  }

  .w-\[min\(22rem\,calc\(100vw-1rem\)\)\] {
    width: min(22rem, 100vw - 1rem);
  }

  .w-\[min\(23\.5rem\,calc\(100vw-2rem\)\)\] {
    width: min(23.5rem, 100vw - 2rem);
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .max-w-64 {
    max-width: calc(var(--spacing) * 64);
  }

  .max-w-\[95vw\] {
    max-width: 95vw;
  }

  .max-w-\[160px\] {
    max-width: 160px;
  }

  .max-w-\[180px\] {
    max-width: 180px;
  }

  .max-w-\[360px\] {
    max-width: 360px;
  }

  .max-w-\[500px\] {
    max-width: 500px;
  }

  .max-w-\[min\(100\%\,46rem\)\] {
    max-width: min(100%, 46rem);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-\[7\.25rem\] {
    min-width: 7.25rem;
  }

  .min-w-\[10\.5rem\] {
    min-width: 10.5rem;
  }

  .min-w-\[18px\] {
    min-width: 18px;
  }

  .min-w-\[44px\] {
    min-width: 44px;
  }

  .min-w-\[110px\] {
    min-width: 110px;
  }

  .min-w-\[260px\] {
    min-width: 260px;
  }

  .min-w-\[280px\] {
    min-width: 280px;
  }

  .min-w-\[300px\] {
    min-width: 300px;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .flex-grow {
    flex-grow: 1;
  }

  .origin-left {
    transform-origin: 0;
  }

  .origin-top-left {
    transform-origin: 0 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-3 {
    --tw-translate-x: calc(var(--spacing) * -3);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-\[calc\(100\%\+2px\)\] {
    --tw-translate-x: calc(calc(100% + 2px) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1 {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-5 {
    --tw-translate-x: calc(var(--spacing) * 5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[1px\] {
    --tw-translate-x: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[2px\] {
    --tw-translate-x: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[18px\] {
    --tw-translate-x: 18px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-2 {
    --tw-translate-y: calc(var(--spacing) * -2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-3 {
    --tw-translate-y: calc(var(--spacing) * 3);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-4 {
    --tw-translate-y: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-\[shrink_2s_linear\] {
    animation: 2s linear shrink;
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .animate-spin-slow {
    animation: 3s linear infinite spin;
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-wait {
    cursor: wait;
  }

  .resize {
    resize: both;
  }

  .appearance-none {
    appearance: none;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-items-center {
    justify-items: center;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }

  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }

  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-slate-800\/40 > :not(:last-child)) {
    border-color: #1d293d66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-slate-800\/40 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
    }
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-\[2rem\] {
    border-radius: 2rem;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-tl-full {
    border-top-left-radius: 3.40282e38px;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-amber-300\/20 {
    border-color: #ffd23633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-300\/20 {
      border-color: color-mix(in oklab, var(--color-amber-300) 20%, transparent);
    }
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/30 {
      border-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent);
    }
  }

  .border-blue-400\/30 {
    border-color: #54a2ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-400\/30 {
      border-color: color-mix(in oklab, var(--color-blue-400) 30%, transparent);
    }
  }

  .border-blue-500\/20 {
    border-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/20 {
      border-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .border-blue-500\/30 {
    border-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/30 {
      border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

  .border-blue-500\/40 {
    border-color: #3080ff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/40 {
      border-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);
    }
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-current {
    border-color: currentColor;
  }

  .border-cyan-400\/20 {
    border-color: #00d2ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/20 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
    }
  }

  .border-cyan-500\/30 {
    border-color: #00b7d74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/30 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 30%, transparent);
    }
  }

  .border-emerald-500\/20 {
    border-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/20 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .border-gray-600 {
    border-color: var(--color-gray-600);
  }

  .border-gray-700 {
    border-color: var(--color-gray-700);
  }

  .border-gray-700\/50 {
    border-color: #36415380;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-gray-700\/50 {
      border-color: color-mix(in oklab, var(--color-gray-700) 50%, transparent);
    }
  }

  .border-gray-800 {
    border-color: var(--color-gray-800);
  }

  .border-gray-900 {
    border-color: var(--color-gray-900);
  }

  .border-indigo-500\/20 {
    border-color: #625fff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-indigo-500\/20 {
      border-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);
    }
  }

  .border-red-400\/30 {
    border-color: #ff65684d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-400\/30 {
      border-color: color-mix(in oklab, var(--color-red-400) 30%, transparent);
    }
  }

  .border-red-400\/50 {
    border-color: #ff656880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-400\/50 {
      border-color: color-mix(in oklab, var(--color-red-400) 50%, transparent);
    }
  }

  .border-red-500\/20 {
    border-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/20 {
      border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .border-slate-500 {
    border-color: var(--color-slate-500);
  }

  .border-slate-600\/30 {
    border-color: #45556c4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-600\/30 {
      border-color: color-mix(in oklab, var(--color-slate-600) 30%, transparent);
    }
  }

  .border-slate-700 {
    border-color: var(--color-slate-700);
  }

  .border-slate-700\/50 {
    border-color: #31415880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-700\/50 {
      border-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
    }
  }

  .border-slate-700\/70 {
    border-color: #314158b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-700\/70 {
      border-color: color-mix(in oklab, var(--color-slate-700) 70%, transparent);
    }
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .border-slate-800\/30 {
    border-color: #1d293d4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/30 {
      border-color: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
    }
  }

  .border-slate-800\/40 {
    border-color: #1d293d66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/40 {
      border-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
    }
  }

  .border-slate-800\/50 {
    border-color: #1d293d80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/50 {
      border-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
    }
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-white\/5 {
    border-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/5 {
      border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-white\/20 {
    border-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/20 {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .border-white\/30 {
    border-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/30 {
      border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .border-white\/\[0\.1\] {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/\[0\.1\] {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/\[0\.04\] {
    border-color: #ffffff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/\[0\.04\] {
      border-color: color-mix(in oklab, var(--color-white) 4%, transparent);
    }
  }

  .border-white\/\[0\.06\] {
    border-color: #ffffff0f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/\[0\.06\] {
      border-color: color-mix(in oklab, var(--color-white) 6%, transparent);
    }
  }

  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }

  .border-zinc-800 {
    border-color: var(--color-zinc-800);
  }

  .border-t-blue-500 {
    border-top-color: var(--color-blue-500);
  }

  .border-t-gray-400 {
    border-top-color: var(--color-gray-400);
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .border-t-white {
    border-top-color: var(--color-white);
  }

  .bg-\[\#0c0e12\] {
    background-color: #0c0e12;
  }

  .bg-\[\#0c1218\] {
    background-color: #0c1218;
  }

  .bg-\[\#09090b\] {
    background-color: #09090b;
  }

  .bg-\[\#09090b\]\/80 {
    background-color: #09090bcc;
    background-color: lab(2.50124% .210062 -.770628 / .8);
  }

  .bg-amber-400\/10 {
    background-color: #fcbb001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-400\/10 {
      background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);
    }
  }

  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }

  .bg-amber-500\/10 {
    background-color: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/10 {
      background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .bg-amber-500\/20 {
    background-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/20 {
      background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/20 {
    background-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/20 {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .bg-black\/30 {
    background-color: #0000004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/30 {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }

  .bg-black\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-black\/80 {
    background-color: #000c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/80 {
      background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }

  .bg-black\/90 {
    background-color: #000000e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/90 {
      background-color: color-mix(in oklab, var(--color-black) 90%, transparent);
    }
  }

  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }

  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }

  .bg-blue-500\/5 {
    background-color: #3080ff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/5 {
      background-color: color-mix(in oklab, var(--color-blue-500) 5%, transparent);
    }
  }

  .bg-blue-500\/10 {
    background-color: #3080ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/10 {
      background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }

  .bg-blue-500\/20 {
    background-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/20 {
      background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-blue-600\/10 {
    background-color: #155dfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-600\/10 {
      background-color: color-mix(in oklab, var(--color-blue-600) 10%, transparent);
    }
  }

  .bg-cyan-400 {
    background-color: var(--color-cyan-400);
  }

  .bg-cyan-500 {
    background-color: var(--color-cyan-500);
  }

  .bg-cyan-500\/10 {
    background-color: #00b7d71a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 10%, transparent);
    }
  }

  .bg-cyan-500\/15 {
    background-color: #00b7d726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/15 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 15%, transparent);
    }
  }

  .bg-cyan-500\/20 {
    background-color: #00b7d733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/20 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 20%, transparent);
    }
  }

  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }

  .bg-emerald-500\/5 {
    background-color: #00bb7f0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/5 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 5%, transparent);
    }
  }

  .bg-emerald-500\/10 {
    background-color: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/10 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
    }
  }

  .bg-emerald-500\/20 {
    background-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/20 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .bg-fuchsia-500 {
    background-color: var(--color-fuchsia-500);
  }

  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }

  .bg-gray-900\/90 {
    background-color: #101828e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-900\/90 {
      background-color: color-mix(in oklab, var(--color-gray-900) 90%, transparent);
    }
  }

  .bg-gray-900\/95 {
    background-color: #101828f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-900\/95 {
      background-color: color-mix(in oklab, var(--color-gray-900) 95%, transparent);
    }
  }

  .bg-green-500 {
    background-color: var(--color-green-500);
  }

  .bg-indigo-500 {
    background-color: var(--color-indigo-500);
  }

  .bg-indigo-500\/20 {
    background-color: #625fff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-indigo-500\/20 {
      background-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);
    }
  }

  .bg-orange-500 {
    background-color: var(--color-orange-500);
  }

  .bg-orange-500\/20 {
    background-color: #fe6e0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-orange-500\/20 {
      background-color: color-mix(in oklab, var(--color-orange-500) 20%, transparent);
    }
  }

  .bg-purple-500 {
    background-color: var(--color-purple-500);
  }

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/20 {
      background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .bg-purple-600\/10 {
    background-color: #9810fa1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-600\/10 {
      background-color: color-mix(in oklab, var(--color-purple-600) 10%, transparent);
    }
  }

  .bg-red-500 {
    background-color: var(--color-red-500);
  }

  .bg-red-500\/5 {
    background-color: #fb2c360d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/5 {
      background-color: color-mix(in oklab, var(--color-red-500) 5%, transparent);
    }
  }

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/10 {
      background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
    }
  }

  .bg-red-500\/15 {
    background-color: #fb2c3626;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/15 {
      background-color: color-mix(in oklab, var(--color-red-500) 15%, transparent);
    }
  }

  .bg-red-500\/20 {
    background-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/20 {
      background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .bg-red-900\/60 {
    background-color: #82181a99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-900\/60 {
      background-color: color-mix(in oklab, var(--color-red-900) 60%, transparent);
    }
  }

  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }

  .bg-rose-500\/10 {
    background-color: #ff23571a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/10 {
      background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
    }
  }

  .bg-rose-500\/20 {
    background-color: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/20 {
      background-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }

  .bg-sky-500 {
    background-color: var(--color-sky-500);
  }

  .bg-sky-500\/20 {
    background-color: #00a5ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-500\/20 {
      background-color: color-mix(in oklab, var(--color-sky-500) 20%, transparent);
    }
  }

  .bg-slate-400 {
    background-color: var(--color-slate-400);
  }

  .bg-slate-500\/10 {
    background-color: #62748e1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-500\/10 {
      background-color: color-mix(in oklab, var(--color-slate-500) 10%, transparent);
    }
  }

  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }

  .bg-slate-700\/30 {
    background-color: #3141584d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/30 {
      background-color: color-mix(in oklab, var(--color-slate-700) 30%, transparent);
    }
  }

  .bg-slate-700\/40 {
    background-color: #31415866;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/40 {
      background-color: color-mix(in oklab, var(--color-slate-700) 40%, transparent);
    }
  }

  .bg-slate-700\/50 {
    background-color: #31415880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/50 {
      background-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
    }
  }

  .bg-slate-700\/60 {
    background-color: #31415899;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/60 {
      background-color: color-mix(in oklab, var(--color-slate-700) 60%, transparent);
    }
  }

  .bg-slate-700\/80 {
    background-color: #314158cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/80 {
      background-color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
    }
  }

  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }

  .bg-slate-800\/30 {
    background-color: #1d293d4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/30 {
      background-color: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
    }
  }

  .bg-slate-800\/50 {
    background-color: #1d293d80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/50 {
      background-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
    }
  }

  .bg-slate-800\/60 {
    background-color: #1d293d99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/60 {
      background-color: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
    }
  }

  .bg-slate-800\/80 {
    background-color: #1d293dcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/80 {
      background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
    }
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-900\/30 {
    background-color: #0f172b4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/30 {
      background-color: color-mix(in oklab, var(--color-slate-900) 30%, transparent);
    }
  }

  .bg-slate-900\/40 {
    background-color: #0f172b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/40 {
      background-color: color-mix(in oklab, var(--color-slate-900) 40%, transparent);
    }
  }

  .bg-slate-900\/50 {
    background-color: #0f172b80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/50 {
      background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);
    }
  }

  .bg-slate-900\/60 {
    background-color: #0f172b99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/60 {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }

  .bg-slate-900\/95 {
    background-color: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/95 {
      background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .bg-slate-950\/30 {
    background-color: #0206184d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/30 {
      background-color: color-mix(in oklab, var(--color-slate-950) 30%, transparent);
    }
  }

  .bg-slate-950\/50 {
    background-color: #02061880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/50 {
      background-color: color-mix(in oklab, var(--color-slate-950) 50%, transparent);
    }
  }

  .bg-slate-950\/88 {
    background-color: #020618e0;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/88 {
      background-color: color-mix(in oklab, var(--color-slate-950) 88%, transparent);
    }
  }

  .bg-slate-950\/95 {
    background-color: #020618f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/95 {
      background-color: color-mix(in oklab, var(--color-slate-950) 95%, transparent);
    }
  }

  .bg-teal-500 {
    background-color: var(--color-teal-500);
  }

  .bg-teal-500\/20 {
    background-color: #00baa733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-teal-500\/20 {
      background-color: color-mix(in oklab, var(--color-teal-500) 20%, transparent);
    }
  }

  .bg-violet-500 {
    background-color: var(--color-violet-500);
  }

  .bg-violet-500\/10 {
    background-color: #8d54ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-500\/10 {
      background-color: color-mix(in oklab, var(--color-violet-500) 10%, transparent);
    }
  }

  .bg-violet-500\/20 {
    background-color: #8d54ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-500\/20 {
      background-color: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-white\/20 {
    background-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .bg-white\/30 {
    background-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/30 {
      background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .bg-white\/\[0\.02\] {
    background-color: #ffffff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.02\] {
      background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
    }
  }

  .bg-white\/\[0\.03\] {
    background-color: #ffffff08;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.03\] {
      background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
    }
  }

  .bg-white\/\[0\.04\] {
    background-color: #ffffff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.04\] {
      background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
    }
  }

  .bg-white\/\[0\.05\] {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.05\] {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/\[0\.08\] {
    background-color: #ffffff14;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.08\] {
      background-color: color-mix(in oklab, var(--color-white) 8%, transparent);
    }
  }

  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }

  .bg-zinc-900 {
    background-color: var(--color-zinc-900);
  }

  .bg-zinc-900\/80 {
    background-color: #18181bcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/80 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 80%, transparent);
    }
  }

  .bg-zinc-900\/95 {
    background-color: #18181bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/95 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 95%, transparent);
    }
  }

  .bg-zinc-950 {
    background-color: var(--color-zinc-950);
  }

  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-\[radial-gradient\(circle_at_center\,rgba\(6\,182\,212\,0\.05\)\,transparent_70\%\)\] {
    background-image: radial-gradient(circle, #06b6d40d, #0000 70%);
  }

  .bg-\[url\(\'\/grid\.svg\'\)\] {
    background-image: url("/grid.svg");
  }

  .bg-\[url\(\'\/noise\.png\'\)\] {
    background-image: url("/noise.png");
  }

  .from-\[\#1a1f2e\] {
    --tw-gradient-from: #1a1f2e;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-400 {
    --tw-gradient-from: var(--color-amber-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-500\/20 {
    --tw-gradient-from: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .from-amber-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-400 {
    --tw-gradient-from: var(--color-blue-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-500\/10 {
    --tw-gradient-from: #3080ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-blue-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }

  .from-blue-500\/10 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-600 {
    --tw-gradient-from: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-400 {
    --tw-gradient-from: var(--color-cyan-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-400\/10 {
    --tw-gradient-from: #00d2ef1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-cyan-400\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
    }
  }

  .from-cyan-400\/10 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-500\/20 {
    --tw-gradient-from: #00b7d733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-cyan-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-cyan-500) 20%, transparent);
    }
  }

  .from-cyan-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-500\/40 {
    --tw-gradient-from: #00b7d766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-cyan-500\/40 {
      --tw-gradient-from: color-mix(in oklab, var(--color-cyan-500) 40%, transparent);
    }
  }

  .from-cyan-500\/40 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-500\/20 {
    --tw-gradient-from: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .from-emerald-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-indigo-400 {
    --tw-gradient-from: var(--color-indigo-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-indigo-900\/50 {
    --tw-gradient-from: #312c8580;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-indigo-900\/50 {
      --tw-gradient-from: color-mix(in oklab, var(--color-indigo-900) 50%, transparent);
    }
  }

  .from-indigo-900\/50 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-orange-500\/20 {
    --tw-gradient-from: #fe6e0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-orange-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-orange-500) 20%, transparent);
    }
  }

  .from-orange-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-500\/5 {
    --tw-gradient-from: #ac4bff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-purple-500\/5 {
      --tw-gradient-from: color-mix(in oklab, var(--color-purple-500) 5%, transparent);
    }
  }

  .from-purple-500\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-500\/20 {
    --tw-gradient-from: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-purple-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .from-purple-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-600\/30 {
    --tw-gradient-from: #9810fa4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-purple-600\/30 {
      --tw-gradient-from: color-mix(in oklab, var(--color-purple-600) 30%, transparent);
    }
  }

  .from-purple-600\/30 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-red-500\/20 {
    --tw-gradient-from: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-red-500\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .from-red-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-800 {
    --tw-gradient-from: var(--color-slate-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-900\/60 {
    --tw-gradient-from: #0f172b99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-900\/60 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }

  .from-slate-900\/60 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-950 {
    --tw-gradient-from: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-white {
    --tw-gradient-from: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-white\/10 {
    --tw-gradient-from: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-white\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .from-white\/10 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-blue-400 {
    --tw-gradient-via: var(--color-blue-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-blue-500\/20 {
    --tw-gradient-via: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-blue-500\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .via-blue-500\/20 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-blue-500\/30 {
    --tw-gradient-via: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-blue-500\/30 {
      --tw-gradient-via: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

  .via-blue-500\/30 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-indigo-600 {
    --tw-gradient-via: var(--color-indigo-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-900\/95 {
    --tw-gradient-via: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-900\/95 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .via-slate-900\/95 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white\/50 {
    --tw-gradient-via: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-white\/50 {
      --tw-gradient-via: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .via-white\/50 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white\/\[0\.08\] {
    --tw-gradient-via: #ffffff14;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-white\/\[0\.08\] {
      --tw-gradient-via: color-mix(in oklab, var(--color-white) 8%, transparent);
    }
  }

  .via-white\/\[0\.08\] {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-\[\#0d1016\] {
    --tw-gradient-to: #0d1016;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-400 {
    --tw-gradient-to: var(--color-blue-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-500 {
    --tw-gradient-to: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-500\/5 {
    --tw-gradient-to: #3080ff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-500\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 5%, transparent);
    }
  }

  .to-blue-500\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-500\/20 {
    --tw-gradient-to: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .to-blue-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-900\/30 {
    --tw-gradient-to: #1c398e4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-blue-900\/30 {
      --tw-gradient-to: color-mix(in oklab, var(--color-blue-900) 30%, transparent);
    }
  }

  .to-blue-900\/30 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-400 {
    --tw-gradient-to: var(--color-cyan-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-500\/30 {
    --tw-gradient-to: #00b7d74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-cyan-500\/30 {
      --tw-gradient-to: color-mix(in oklab, var(--color-cyan-500) 30%, transparent);
    }
  }

  .to-cyan-500\/30 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-400 {
    --tw-gradient-to: var(--color-indigo-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-500\/20 {
    --tw-gradient-to: #625fff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-indigo-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);
    }
  }

  .to-indigo-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-pink-500\/20 {
    --tw-gradient-to: #f6339a33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-pink-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-pink-500) 20%, transparent);
    }
  }

  .to-pink-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-purple-500 {
    --tw-gradient-to: var(--color-purple-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-red-500\/20 {
    --tw-gradient-to: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-red-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .to-red-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-rose-400 {
    --tw-gradient-to: var(--color-rose-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-rose-500\/20 {
    --tw-gradient-to: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-rose-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }

  .to-rose-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-700 {
    --tw-gradient-to: var(--color-slate-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-800\/30 {
    --tw-gradient-to: #1d293d4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-slate-800\/30 {
      --tw-gradient-to: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
    }
  }

  .to-slate-800\/30 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-950 {
    --tw-gradient-to: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-500\/20 {
    --tw-gradient-to: #00baa733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-teal-500\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-teal-500) 20%, transparent);
    }
  }

  .to-teal-500\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-white\/50 {
    --tw-gradient-to: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-white\/50 {
      --tw-gradient-to: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .to-white\/50 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .\[mask-image\:linear-gradient\(180deg\,white\,rgba\(255\,255\,255\,0\)\)\] {
    -webkit-mask-image: linear-gradient(#fff, #fff0);
    mask-image: linear-gradient(#fff, #fff0);
  }

  .bg-\[length\:200\%_auto\] {
    background-size: 200%;
  }

  .bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
  }

  .bg-center {
    background-position: center;
  }

  .object-contain {
    object-fit: contain;
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-12 {
    padding: calc(var(--spacing) * 12);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-2\.5 {
    padding-top: calc(var(--spacing) * 2.5);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }

  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pl-1 {
    padding-left: calc(var(--spacing) * 1);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .pl-11 {
    padding-left: calc(var(--spacing) * 11);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

  .pl-14 {
    padding-left: calc(var(--spacing) * 14);
  }

  .pl-\[38px\] {
    padding-left: 38px;
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-jetbrains-mono);
  }

  .font-sans {
    font-family: var(--font-inter);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.62rem\] {
    font-size: .62rem;
  }

  .text-\[0\.65rem\] {
    font-size: .65rem;
  }

  .text-\[0\.68rem\] {
    font-size: .68rem;
  }

  .text-\[0\.82rem\] {
    font-size: .82rem;
  }

  .text-\[8px\] {
    font-size: 8px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[12px\] {
    font-size: 12px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[15px\] {
    font-size: 15px;
  }

  .text-\[24px\] {
    font-size: 24px;
  }

  .text-\[52px\] {
    font-size: 52px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-\[var\(--font-display\)\] {
    --tw-font-weight: var(--font-display);
    font-weight: var(--font-display);
  }

  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

  .tracking-\[0\.3em\] {
    --tw-tracking: .3em;
    letter-spacing: .3em;
  }

  .tracking-\[0\.15em\] {
    --tw-tracking: .15em;
    letter-spacing: .15em;
  }

  .tracking-\[0\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-amber-50 {
    color: var(--color-amber-50);
  }

  .text-amber-100\/90 {
    color: #fef3c6e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-100\/90 {
      color: color-mix(in oklab, var(--color-amber-100) 90%, transparent);
    }
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-200\/80 {
    color: #fee685cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-200\/80 {
      color: color-mix(in oklab, var(--color-amber-200) 80%, transparent);
    }
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-amber-400\/70 {
    color: #fcbb00b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-400\/70 {
      color: color-mix(in oklab, var(--color-amber-400) 70%, transparent);
    }
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-950 {
    color: var(--color-amber-950);
  }

  .text-black {
    color: var(--color-black);
  }

  .text-blue-100 {
    color: var(--color-blue-100);
  }

  .text-blue-200 {
    color: var(--color-blue-200);
  }

  .text-blue-200\/40 {
    color: #bedbff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-blue-200\/40 {
      color: color-mix(in oklab, var(--color-blue-200) 40%, transparent);
    }
  }

  .text-blue-300 {
    color: var(--color-blue-300);
  }

  .text-blue-300\/60 {
    color: #90c5ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-blue-300\/60 {
      color: color-mix(in oklab, var(--color-blue-300) 60%, transparent);
    }
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-400\/70 {
    color: #54a2ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-blue-400\/70 {
      color: color-mix(in oklab, var(--color-blue-400) 70%, transparent);
    }
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-cyan-400 {
    color: var(--color-cyan-400);
  }

  .text-emerald-200\/50 {
    color: #a4f4cf80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-200\/50 {
      color: color-mix(in oklab, var(--color-emerald-200) 50%, transparent);
    }
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-emerald-950 {
    color: var(--color-emerald-950);
  }

  .text-gray-100 {
    color: var(--color-gray-100);
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-indigo-300 {
    color: var(--color-indigo-300);
  }

  .text-indigo-300\/70 {
    color: #a4b3ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-indigo-300\/70 {
      color: color-mix(in oklab, var(--color-indigo-300) 70%, transparent);
    }
  }

  .text-indigo-400 {
    color: var(--color-indigo-400);
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-purple-100 {
    color: var(--color-purple-100);
  }

  .text-purple-300 {
    color: var(--color-purple-300);
  }

  .text-purple-300\/60 {
    color: #d9b3ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-purple-300\/60 {
      color: color-mix(in oklab, var(--color-purple-300) 60%, transparent);
    }
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-red-200 {
    color: var(--color-red-200);
  }

  .text-red-300 {
    color: var(--color-red-300);
  }

  .text-red-300\/80 {
    color: #ffa3a3cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-300\/80 {
      color: color-mix(in oklab, var(--color-red-300) 80%, transparent);
    }
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-sky-300 {
    color: var(--color-sky-300);
  }

  .text-sky-300\/70 {
    color: #77d4ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-sky-300\/70 {
      color: color-mix(in oklab, var(--color-sky-300) 70%, transparent);
    }
  }

  .text-sky-400 {
    color: var(--color-sky-400);
  }

  .text-sky-950 {
    color: var(--color-sky-950);
  }

  .text-slate-50 {
    color: var(--color-slate-50);
  }

  .text-slate-100 {
    color: var(--color-slate-100);
  }

  .text-slate-100\/90 {
    color: #f1f5f9e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-100\/90 {
      color: color-mix(in oklab, var(--color-slate-100) 90%, transparent);
    }
  }

  .text-slate-200 {
    color: var(--color-slate-200);
  }

  .text-slate-200\/90 {
    color: #e2e8f0e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-200\/90 {
      color: color-mix(in oklab, var(--color-slate-200) 90%, transparent);
    }
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

  .text-slate-300\/80 {
    color: #cad5e2cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-300\/80 {
      color: color-mix(in oklab, var(--color-slate-300) 80%, transparent);
    }
  }

  .text-slate-300\/90 {
    color: #cad5e2e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-300\/90 {
      color: color-mix(in oklab, var(--color-slate-300) 90%, transparent);
    }
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .text-slate-400\/70 {
    color: #90a1b9b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-400\/70 {
      color: color-mix(in oklab, var(--color-slate-400) 70%, transparent);
    }
  }

  .text-slate-500 {
    color: var(--color-slate-500);
  }

  .text-slate-500\/70 {
    color: #62748eb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-500\/70 {
      color: color-mix(in oklab, var(--color-slate-500) 70%, transparent);
    }
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-700 {
    color: var(--color-slate-700);
  }

  .text-teal-400 {
    color: var(--color-teal-400);
  }

  .text-transparent {
    color: #0000;
  }

  .text-violet-400 {
    color: var(--color-violet-400);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/20 {
    color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/20 {
      color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .text-white\/25 {
    color: #ffffff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/25 {
      color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }

  .text-white\/30 {
    color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/30 {
      color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-white\/90 {
    color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/90 {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .text-white\/95 {
    color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/95 {
      color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .text-yellow-100\/90 {
    color: #fef9c2e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-yellow-100\/90 {
      color: color-mix(in oklab, var(--color-yellow-100) 90%, transparent);
    }
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .text-yellow-400\/70 {
    color: #fac800b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-yellow-400\/70 {
      color: color-mix(in oklab, var(--color-yellow-400) 70%, transparent);
    }
  }

  .text-yellow-500\/80 {
    color: #edb200cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-yellow-500\/80 {
      color: color-mix(in oklab, var(--color-yellow-500) 80%, transparent);
    }
  }

  .text-zinc-300 {
    color: var(--color-zinc-300);
  }

  .text-zinc-400 {
    color: var(--color-zinc-400);
  }

  .text-zinc-500 {
    color: var(--color-zinc-500);
  }

  .text-zinc-600 {
    color: var(--color-zinc-600);
  }

  .text-zinc-700 {
    color: var(--color-zinc-700);
  }

  .text-zinc-800 {
    color: var(--color-zinc-800);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .decoration-white\/30 {
    text-decoration-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .decoration-white\/30 {
      -webkit-text-decoration-color: color-mix(in oklab, var(--color-white) 30%, transparent);
      text-decoration-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .placeholder-slate-500::placeholder {
    color: var(--color-slate-500);
  }

  .placeholder-slate-600::placeholder {
    color: var(--color-slate-600);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .opacity-\[0\.03\] {
    opacity: .03;
  }

  .mix-blend-overlay {
    mix-blend-mode: overlay;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_10px_rgba\(16\,185\,129\,0\.5\)\] {
    --tw-shadow: 0 0 10px var(--tw-shadow-color, #10b98180);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_10px_rgba\(59\,130\,246\,0\.5\)\] {
    --tw-shadow: 0 0 10px var(--tw-shadow-color, #3b82f680);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_10px_white\] {
    --tw-shadow: 0 0 10px var(--tw-shadow-color, white);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_15px_-3px_rgba\(16\,185\,129\,0\.3\)\] {
    --tw-shadow: 0 0 15px -3px var(--tw-shadow-color, #10b9814d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_15px_-3px_rgba\(239\,68\,68\,0\.3\)\] {
    --tw-shadow: 0 0 15px -3px var(--tw-shadow-color, #ef44444d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_15px_rgba\(59\,130\,246\,0\.15\)\] {
    --tw-shadow: 0 0 15px var(--tw-shadow-color, #3b82f626);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(34\,211\,238\,0\.15\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #22d3ee26);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(245\,158\,11\,0\.15\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #f59e0b26);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_-5px_rgba\(16\,185\,129\,0\.3\)\] {
    --tw-shadow: 0 0 30px -5px var(--tw-shadow-color, #10b9814d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_-5px_rgba\(59\,130\,246\,0\.3\)\] {
    --tw-shadow: 0 0 30px -5px var(--tw-shadow-color, #3b82f64d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_-5px_rgba\(168\,85\,247\,0\.3\)\] {
    --tw-shadow: 0 0 30px -5px var(--tw-shadow-color, #a855f74d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_rgba\(34\,211\,238\,0\.2\)\] {
    --tw-shadow: 0 0 30px var(--tw-shadow-color, #22d3ee33);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_100px_-20px_rgba\(59\,130\,246\,0\.3\)\] {
    --tw-shadow: 0 0 100px -20px var(--tw-shadow-color, #3b82f64d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_18px_40px_rgba\(2\,6\,23\,0\.55\)\] {
    --tw-shadow: 0 18px 40px var(--tw-shadow-color, #0206178c);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0_0_100px_rgba\(0\,0\,0\,0\.8\)\] {
    --tw-shadow: inset 0 0 100px var(--tw-shadow-color, #000c);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring, .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-amber-500\/20 {
    --tw-shadow-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-amber-500\/25 {
    --tw-shadow-color: #f99c0040;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-500\/25 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-amber-500\/30 {
    --tw-shadow-color: #f99c004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-500\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-amber-500\/40 {
    --tw-shadow-color: #f99c0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black\/20 {
    --tw-shadow-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-500\/20 {
    --tw-shadow-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-500\/30 {
    --tw-shadow-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-500\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-500\/40 {
    --tw-shadow-color: #3080ff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-500\/30 {
    --tw-shadow-color: #00b7d74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-500\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-500\/40 {
    --tw-shadow-color: #00b7d766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/30 {
    --tw-shadow-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/40 {
    --tw-shadow-color: #00bb7f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-indigo-500\/10 {
    --tw-shadow-color: #625fff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-indigo-500\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-indigo-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-indigo-500\/40 {
    --tw-shadow-color: #625fff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-indigo-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-indigo-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-orange-500\/40 {
    --tw-shadow-color: #fe6e0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-orange-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-orange-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-purple-500\/20 {
    --tw-shadow-color: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-purple-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-purple-500\/40 {
    --tw-shadow-color: #ac4bff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-purple-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-red-500\/20 {
    --tw-shadow-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-red-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-red-500\/40 {
    --tw-shadow-color: #fb2c3666;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-red-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-rose-500\/40 {
    --tw-shadow-color: #ff235766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-rose-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-sky-500\/30 {
    --tw-shadow-color: #00a5ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-sky-500\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-sky-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-sky-500\/40 {
    --tw-shadow-color: #00a5ef66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-sky-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-sky-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-teal-500\/20 {
    --tw-shadow-color: #00baa733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-teal-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-teal-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-teal-500\/40 {
    --tw-shadow-color: #00baa766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-teal-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-teal-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-violet-500\/20 {
    --tw-shadow-color: #8d54ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-violet-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-violet-500\/40 {
    --tw-shadow-color: #8d54ff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-violet-500\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-blue-500\/30 {
    --tw-ring-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-blue-500\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

  .ring-blue-500\/50 {
    --tw-ring-color: #3080ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-blue-500\/50 {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }

  .ring-emerald-500\/30 {
    --tw-ring-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-500\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .ring-emerald-500\/50 {
    --tw-ring-color: #00bb7f80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-500\/50 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
    }
  }

  .ring-purple-500\/30 {
    --tw-ring-color: #ac4bff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-purple-500\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
    }
  }

  .ring-purple-500\/50 {
    --tw-ring-color: #ac4bff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-purple-500\/50 {
      --tw-ring-color: color-mix(in oklab, var(--color-purple-500) 50%, transparent);
    }
  }

  .ring-white\/5 {
    --tw-ring-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/5 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .ring-white\/10 {
    --tw-ring-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/10 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-\[2px\] {
    --tw-blur: blur(2px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-\[120px\] {
    --tw-blur: blur(120px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-xl {
    --tw-blur: blur(var(--blur-xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .brightness-75 {
    --tw-brightness: brightness(75%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .contrast-125 {
    --tw-contrast: contrast(125%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_8px_rgba\(96\,165\,250\,0\.4\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, #60a5fa66));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_8px_rgba\(125\,211\,252\,0\.4\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, #7dd3fc66));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_8px_rgba\(165\,180\,252\,0\.4\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, #a5b4fc66));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_8px_rgba\(250\,204\,21\,0\.4\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, #facc1566));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_10px_rgba\(34\,211\,238\,0\.5\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 10px var(--tw-drop-shadow-color, #22d3ee80));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_10px_rgba\(96\,165\,250\,0\.5\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 10px var(--tw-drop-shadow-color, #60a5fa80));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_0_10px_rgba\(251\,191\,36\,0\.5\)\] {
    --tw-drop-shadow-size: drop-shadow(0 0 10px var(--tw-drop-shadow-color, #fbbf2480));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-lg {
    --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, #00000026));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .invert-0 {
    --tw-invert: invert(0%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .saturate-0 {
    --tw-saturate: saturate(0%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur-2xl {
    --tw-backdrop-blur: blur(var(--blur-2xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-3xl {
    --tw-backdrop-blur: blur(var(--blur-3xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .delay-75 {
    transition-delay: 75ms;
  }

  .delay-150 {
    transition-delay: .15s;
  }

  .delay-300 {
    transition-delay: .3s;
  }

  .delay-1000 {
    transition-delay: 1s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .select-text {
    -webkit-user-select: text;
    user-select: text;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-0\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (hover: hover) {
    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (hover: hover) {
    .group-hover\:border-indigo-500\/40:is(:where(.group):hover *) {
      border-color: #625fff66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:border-indigo-500\/40:is(:where(.group):hover *) {
        border-color: color-mix(in oklab, var(--color-indigo-500) 40%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-hover\:border-slate-500\/50:is(:where(.group):hover *) {
      border-color: #62748e80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:border-slate-500\/50:is(:where(.group):hover *) {
        border-color: color-mix(in oklab, var(--color-slate-500) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-hover\:bg-slate-700\/50:is(:where(.group):hover *) {
      background-color: #31415880;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-slate-700\/50:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-hover\:bg-\[length\:200\%_auto\]:is(:where(.group):hover *) {
      background-size: 200%;
    }
  }

  @media (hover: hover) {
    .group-hover\:text-blue-300:is(:where(.group):hover *) {
      color: var(--color-blue-300);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-blue-400:is(:where(.group):hover *) {
      color: var(--color-blue-400);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-indigo-300:is(:where(.group):hover *) {
      color: var(--color-indigo-300);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-slate-200:is(:where(.group):hover *) {
      color: var(--color-slate-200);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-slate-300:is(:where(.group):hover *) {
      color: var(--color-slate-300);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-slate-400:is(:where(.group):hover *) {
      color: var(--color-slate-400);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-yellow-300:is(:where(.group):hover *) {
      color: var(--color-yellow-300);
    }
  }

  @media (hover: hover) {
    .group-hover\:underline:is(:where(.group):hover *) {
      text-decoration-line: underline;
    }
  }

  @media (hover: hover) {
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  @media (hover: hover) {
    .group-hover\:shadow-purple-500\/40:is(:where(.group):hover *) {
      --tw-shadow-color: #ac4bff66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:shadow-purple-500\/40:is(:where(.group):hover *) {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 40%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-hover\/item\:bg-slate-700\/30:is(:where(.group\/item):hover *) {
      background-color: #3141584d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\/item\:bg-slate-700\/30:is(:where(.group\/item):hover *) {
        background-color: color-mix(in oklab, var(--color-slate-700) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .group-hover\/item\:text-slate-300:is(:where(.group\/item):hover *) {
      color: var(--color-slate-300);
    }
  }

  @media (hover: hover) {
    .group-hover\/item\:text-slate-400:is(:where(.group\/item):hover *) {
      color: var(--color-slate-400);
    }
  }

  @media (hover: hover) {
    .group-hover\/link\:text-purple-300:is(:where(.group\/link):hover *) {
      color: var(--color-purple-300);
    }
  }

  @media (hover: hover) {
    .group-hover\/link\:opacity-100:is(:where(.group\/link):hover *) {
      opacity: 1;
    }
  }

  .placeholder\:text-gray-700::placeholder {
    color: var(--color-gray-700);
  }

  .placeholder\:text-slate-600::placeholder {
    color: var(--color-slate-600);
  }

  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  @media (hover: hover) {
    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (hover: hover) {
    .hover\:scale-\[1\.02\]:hover {
      scale: 1.02;
    }
  }

  @media (hover: hover) {
    .hover\:transform:hover {
      transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
    }
  }

  @media (hover: hover) {
    .hover\:border-blue-500\/30:hover {
      border-color: #3080ff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-blue-500\/30:hover {
        border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:border-red-500\/30:hover {
      border-color: #fb2c364d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-red-500\/30:hover {
        border-color: color-mix(in oklab, var(--color-red-500) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-600:hover {
      border-color: var(--color-slate-600);
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-600\/50:hover {
      border-color: #45556c80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-slate-600\/50:hover {
        border-color: color-mix(in oklab, var(--color-slate-600) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-700:hover {
      border-color: var(--color-slate-700);
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-700\/50:hover {
      border-color: #31415880;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-slate-700\/50:hover {
        border-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:border-white\/20:hover {
      border-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/20:hover {
        border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-amber-400:hover {
      background-color: var(--color-amber-400);
    }
  }

  @media (hover: hover) {
    .hover\:bg-black\/80:hover {
      background-color: #000c;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/80:hover {
        background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-500:hover {
      background-color: var(--color-blue-500);
    }
  }

  @media (hover: hover) {
    .hover\:bg-cyan-500\/10:hover {
      background-color: #00b7d71a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-cyan-500) 10%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-red-500\/10:hover {
      background-color: #fb2c361a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-700:hover {
      background-color: var(--color-slate-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-700\/50:hover {
      background-color: #31415880;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-700\/50:hover {
        background-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-800:hover {
      background-color: var(--color-slate-800);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-800\/40:hover {
      background-color: #1d293d66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/40:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-800\/60:hover {
      background-color: #1d293d99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/60:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-800\/80:hover {
      background-color: #1d293dcc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/80:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-900:hover {
      background-color: var(--color-slate-900);
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/5:hover {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/5:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/50:hover {
      background-color: #ffffff80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/50:hover {
        background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/\[0\.1\]:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.1\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/\[0\.02\]:hover {
      background-color: #ffffff05;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.02\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/\[0\.05\]:hover {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.05\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/\[0\.06\]:hover {
      background-color: #ffffff0f;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.06\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 6%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:from-slate-800\/60:hover {
      --tw-gradient-from: #1d293d99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:from-slate-800\/60:hover {
        --tw-gradient-from: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
      }
    }

    .hover\:from-slate-800\/60:hover {
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }

  @media (hover: hover) {
    .hover\:to-slate-700\/40:hover {
      --tw-gradient-to: #31415866;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:to-slate-700\/40:hover {
        --tw-gradient-to: color-mix(in oklab, var(--color-slate-700) 40%, transparent);
      }
    }

    .hover\:to-slate-700\/40:hover {
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }

  @media (hover: hover) {
    .hover\:text-amber-400:hover {
      color: var(--color-amber-400);
    }
  }

  @media (hover: hover) {
    .hover\:text-blue-300:hover {
      color: var(--color-blue-300);
    }
  }

  @media (hover: hover) {
    .hover\:text-cyan-400:hover {
      color: var(--color-cyan-400);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-400:hover {
      color: var(--color-red-400);
    }
  }

  @media (hover: hover) {
    .hover\:text-slate-200:hover {
      color: var(--color-slate-200);
    }
  }

  @media (hover: hover) {
    .hover\:text-slate-300:hover {
      color: var(--color-slate-300);
    }
  }

  @media (hover: hover) {
    .hover\:text-white:hover {
      color: var(--color-white);
    }
  }

  @media (hover: hover) {
    .hover\:opacity-90:hover {
      opacity: .9;
    }
  }

  @media (hover: hover) {
    .hover\:shadow-2xl:hover {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-\[0_0_30px_-10px_rgba\(59\,130\,246\,0\.2\)\]:hover {
      --tw-shadow: 0 0 30px -10px var(--tw-shadow-color, #3b82f633);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-\[0_0_40px_rgba\(59\,130\,246\,0\.3\)\]:hover {
      --tw-shadow: 0 0 40px var(--tw-shadow-color, #3b82f64d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-\[0_0_120px_-20px_rgba\(59\,130\,246\,0\.4\)\]:hover {
      --tw-shadow: 0 0 120px -20px var(--tw-shadow-color, #3b82f666);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:ring-1:hover {
      --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-blue-500\/25:hover {
      --tw-shadow-color: #3080ff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-blue-500\/25:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:ring-white\/10:hover {
      --tw-ring-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:ring-white\/10:hover {
        --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:brightness-125:hover {
      --tw-brightness: brightness(125%);
      filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
    }
  }

  .focus\:border-amber-500\/50:focus {
    border-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-amber-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .focus\:border-blue-500\/30:focus {
    border-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-blue-500\/30:focus {
      border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

  .focus\:border-blue-500\/40:focus {
    border-color: #3080ff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-blue-500\/40:focus {
      border-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);
    }
  }

  .focus\:border-blue-500\/50:focus {
    border-color: #3080ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-blue-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }

  .focus\:border-cyan-500\/50:focus {
    border-color: #00b7d780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-cyan-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
    }
  }

  .focus\:border-fuchsia-500:focus {
    border-color: var(--color-fuchsia-500);
  }

  .focus\:border-purple-500:focus {
    border-color: var(--color-purple-500);
  }

  .focus\:border-purple-500\/30:focus {
    border-color: #ac4bff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-purple-500\/30:focus {
      border-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
    }
  }

  .focus\:border-purple-500\/40:focus {
    border-color: #ac4bff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-purple-500\/40:focus {
      border-color: color-mix(in oklab, var(--color-purple-500) 40%, transparent);
    }
  }

  .focus\:bg-blue-500\/\[0\.02\]:focus {
    background-color: #3080ff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-blue-500\/\[0\.02\]:focus {
      background-color: color-mix(in oklab, var(--color-blue-500) 2%, transparent);
    }
  }

  .focus\:bg-blue-500\/\[0\.05\]:focus {
    background-color: #3080ff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-blue-500\/\[0\.05\]:focus {
      background-color: color-mix(in oklab, var(--color-blue-500) 5%, transparent);
    }
  }

  .focus\:bg-purple-500\/\[0\.02\]:focus {
    background-color: #ac4bff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-purple-500\/\[0\.02\]:focus {
      background-color: color-mix(in oklab, var(--color-purple-500) 2%, transparent);
    }
  }

  .focus\:bg-purple-500\/\[0\.05\]:focus {
    background-color: #ac4bff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-purple-500\/\[0\.05\]:focus {
      background-color: color-mix(in oklab, var(--color-purple-500) 5%, transparent);
    }
  }

  .focus\:bg-slate-900\/80:focus {
    background-color: #0f172bcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-slate-900\/80:focus {
      background-color: color-mix(in oklab, var(--color-slate-900) 80%, transparent);
    }
  }

  .focus\:shadow-lg:focus {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:shadow-cyan-500\/10:focus {
    --tw-shadow-color: #00b7d71a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:shadow-cyan-500\/10:focus {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .focus\:ring-amber-500\/50:focus {
    --tw-ring-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-amber-500\/50:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .focus\:ring-blue-500\/50:focus {
    --tw-ring-color: #3080ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-blue-500\/50:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
    }
  }

  .focus\:ring-fuchsia-500:focus {
    --tw-ring-color: var(--color-fuchsia-500);
  }

  .focus\:ring-purple-500:focus {
    --tw-ring-color: var(--color-purple-500);
  }

  .focus\:ring-rose-500\/50:focus {
    --tw-ring-color: #ff235780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-rose-500\/50:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-rose-500) 50%, transparent);
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-blue-500:focus-visible {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  @media (hover: hover) {
    .enabled\:hover\:bg-white\/15:enabled:hover {
      background-color: #ffffff26;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .enabled\:hover\:bg-white\/15:enabled:hover {
        background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
      }
    }
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:border-slate-800:disabled {
    border-color: var(--color-slate-800);
  }

  .disabled\:bg-slate-900\/70:disabled {
    background-color: #0f172bb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .disabled\:bg-slate-900\/70:disabled {
      background-color: color-mix(in oklab, var(--color-slate-900) 70%, transparent);
    }
  }

  .disabled\:text-slate-500:disabled {
    color: var(--color-slate-500);
  }

  .disabled\:opacity-35:disabled {
    opacity: .35;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  @media (prefers-reduced-motion: reduce) {
    .motion-reduce\:transition-none {
      transition-property: none;
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-h-\[85vh\] {
      max-height: 85vh;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-64 {
      width: calc(var(--spacing) * 64);
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-4xl {
      max-width: var(--container-4xl);
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 40rem) {
    .sm\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 40rem) {
    :where(.sm\:space-y-6 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-2 {
      padding: calc(var(--spacing) * 2);
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:static {
      position: static;
    }
  }

  @media (min-width: 48rem) {
    .md\:right-auto {
      right: auto;
    }
  }

  @media (min-width: 48rem) {
    .md\:bottom-4 {
      bottom: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 48rem) {
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }
  }

  @media (min-width: 48rem) {
    .md\:block {
      display: block;
    }
  }

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }
  }

  @media (min-width: 48rem) {
    .md\:hidden {
      display: none;
    }
  }

  @media (min-width: 48rem) {
    .md\:w-full {
      width: 100%;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-\[8\.5rem\] {
      max-width: 8.5rem;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-w-\[13rem\] {
      max-width: 13rem;
    }
  }

  @media (min-width: 48rem) {
    .md\:flex-none {
      flex: none;
    }
  }

  @media (min-width: 48rem) {
    .md\:cursor-pointer {
      cursor: pointer;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:flex-nowrap {
      flex-wrap: nowrap;
    }
  }

  @media (min-width: 48rem) {
    .md\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
  }

  @media (min-width: 48rem) {
    .md\:pb-0 {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  @media (orientation: landscape) {
    .landscape\:h-4 {
      height: calc(var(--spacing) * 4);
    }
  }

  @media (orientation: landscape) {
    .landscape\:h-6 {
      height: calc(var(--spacing) * 6);
    }
  }

  @media (orientation: landscape) {
    .landscape\:w-4 {
      width: calc(var(--spacing) * 4);
    }
  }

  @media (orientation: landscape) {
    .landscape\:w-6 {
      width: calc(var(--spacing) * 6);
    }
  }

  @media (orientation: landscape) {
    .landscape\:w-12 {
      width: calc(var(--spacing) * 12);
    }
  }

  @media (orientation: landscape) {
    .landscape\:gap-1 {
      gap: calc(var(--spacing) * 1);
    }
  }

  @media (orientation: landscape) {
    .landscape\:p-2 {
      padding: calc(var(--spacing) * 2);
    }
  }

  @media (orientation: landscape) {
    .landscape\:py-2 {
      padding-block: calc(var(--spacing) * 2);
    }
  }

  @media (orientation: landscape) {
    .landscape\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  .\[\&\:\:-webkit-slider-thumb\]\:h-3\.5::-webkit-slider-thumb {
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:w-3\.5::-webkit-slider-thumb {
    width: calc(var(--spacing) * 3.5);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb {
    appearance: none;
  }

  .\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb {
    border-radius: 3.40282e38px;
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-amber-400::-webkit-slider-thumb {
    background-color: var(--color-amber-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-blue-400::-webkit-slider-thumb {
    background-color: var(--color-blue-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-cyan-400::-webkit-slider-thumb {
    background-color: var(--color-cyan-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-emerald-400::-webkit-slider-thumb {
    background-color: var(--color-emerald-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-indigo-400::-webkit-slider-thumb {
    background-color: var(--color-indigo-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-orange-400::-webkit-slider-thumb {
    background-color: var(--color-orange-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-purple-400::-webkit-slider-thumb {
    background-color: var(--color-purple-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-red-400::-webkit-slider-thumb {
    background-color: var(--color-red-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-rose-400::-webkit-slider-thumb {
    background-color: var(--color-rose-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-sky-400::-webkit-slider-thumb {
    background-color: var(--color-sky-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-teal-400::-webkit-slider-thumb {
    background-color: var(--color-teal-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:bg-violet-400::-webkit-slider-thumb {
    background-color: var(--color-violet-400);
  }

  .\[\&\:\:-webkit-slider-thumb\]\:shadow-md::-webkit-slider-thumb {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}

:root {
  --background: #fff;
  --foreground: #171717;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}

:root {
  --bg-1: #07112a;
  --bg-2: #09203f;
  --gradient-a: #0366d6;
  --gradient-b: #00c2ff;
  --glass: #ffffff0f;
  --glass-2: #ffffff0a;
  --white: #fff;
}

* {
  box-sizing: border-box;
}

html, body {
  overscroll-behavior: none;
  height: 100%;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: #ffffff1a padding-box content-box;
  border: 1px solid #0000;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #fff3;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #ffffff1a transparent;
}

body {
  background: linear-gradient(180deg, var(--bg-1), var(--bg-2));
  color: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial;
}

.leaflet-popup.nexrad-station-popup .leaflet-popup-content-wrapper {
  color: #e2e8f0;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  background: linear-gradient(#020617f5, #0f172af5);
  border: 1px solid #38bdf82e;
  border-radius: 18px;
  box-shadow: 0 18px 40px #0206178c, inset 0 0 0 1px #ffffff0a;
}

.leaflet-popup.nexrad-station-popup .leaflet-popup-content {
  margin: 0;
}

.leaflet-popup.nexrad-station-popup .leaflet-popup-tip {
  background: #0f172af5;
  border: 1px solid #38bdf82e;
}

.nexrad-product-popup {
  flex-direction: column;
  gap: 10px;
  min-width: 240px;
  padding: 14px;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  display: flex;
}

.nexrad-product-popup__title {
  letter-spacing: .01em;
  color: #f8fafc;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.nexrad-product-popup__label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 700;
}

.nexrad-product-popup__select {
  color: #e2e8f0;
  appearance: none;
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  background: linear-gradient(#0f172af2, #020617f2);
  border: 1px solid #7dd3fc38;
  border-radius: 12px;
  outline: none;
  width: 100%;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 500;
  box-shadow: inset 0 1px #ffffff0a, 0 0 0 1px #0f172a66;
}

.nexrad-product-popup__select:focus {
  border-color: #38bdf88c;
  box-shadow: 0 0 0 3px #0ea5e92e;
}

.nexrad-product-popup__select option, .nexrad-product-popup__option {
  color: #e2e8f0;
  background: #020617;
}

.lsr-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  color: #e2e8f0;
  box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 36px var(--lsr-accent-glow, #3b82f624);
  background: linear-gradient(165deg, #080f1cfa, #020617fc);
  border: 1px solid #94a3b824;
  border-radius: 20px;
  padding: 0;
  overflow: hidden;
}

.lsr-popup-wrapper .leaflet-popup-content {
  width: 300px !important;
  max-width: min(300px, 82vw) !important;
  margin: 0 !important;
}

.lsr-popup-wrapper .leaflet-popup-tip {
  background: #080f1cfa;
  border: 1px solid #94a3b824;
  box-shadow: 0 12px 28px #02061761;
}

.lsr-popup-wrapper .leaflet-popup-close-button {
  color: #e2e8f08c;
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.lsr-popup-wrapper .leaflet-popup-close-button:hover {
  color: #f8fafc;
  background: #ffffff14;
  border-color: #ffffff1f;
}

.lsr-popup {
  color: #e2e8f0;
  min-width: 280px;
  max-width: 300px;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  position: relative;
  overflow: hidden;
}

.lsr-popup:before {
  content: "";
  background: radial-gradient(circle at top right, var(--lsr-accent, #3b82f6), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 28%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup:before {
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--lsr-accent, #3b82f6) 12%, transparent), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 28%);
  }
}

.lsr-popup:before {
  pointer-events: none;
}

.lsr-popup__header {
  background: linear-gradient(135deg, var(--lsr-accent, #3b82f6), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  align-items: center;
  gap: 10px;
  padding: 16px 20px 14px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--lsr-accent, #3b82f6) 16%, transparent), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.lsr-popup__header {
  z-index: 1;
  border-bottom: 1px solid #94a3b824;
  position: relative;
}

.lsr-popup__header:before {
  content: "";
  background: linear-gradient(90deg, var(--lsr-accent, #3b82f6), transparent 82%);
  opacity: .9;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.lsr-popup__badge {
  background: var(--lsr-accent, #3b82f6);
  border: 1px solid var(--lsr-accent-border, #fff3);
  min-width: 42px;
  height: 24px;
  box-shadow: 0 0 0 1px #0f172a73, 0 10px 24px var(--lsr-accent-glow, #3b82f640);
  color: #fff;
  letter-spacing: .08em;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
}

.lsr-popup__title-wrap {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.lsr-popup__title {
  letter-spacing: -.02em;
  color: #f8fafc;
  text-shadow: 0 2px 10px #0f172a59;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}

.lsr-popup__subtitle {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #94a3b8eb;
  font-size: .72rem;
  font-weight: 600;
}

.lsr-popup__meta {
  z-index: 1;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 0;
  display: flex;
  position: relative;
}

.lsr-popup__meta-pill {
  background: var(--lsr-accent, #3b82f6);
  border-radius: 9999px;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__meta-pill {
    background: color-mix(in srgb, var(--lsr-accent, #3b82f6) 14%, #0f172adb);
  }
}

.lsr-popup__meta-pill {
  border: 1px solid var(--lsr-accent-border, #93c5fd);
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__meta-pill {
    border: 1px solid color-mix(in srgb, var(--lsr-accent-border, #93c5fd) 55%, #ffffff14);
  }
}

.lsr-popup__meta-pill {
  color: #eaf2ff;
  letter-spacing: .05em;
  font-size: .68rem;
  font-weight: 700;
}

.lsr-popup__meta-pill--muted {
  color: #cbd5e1e0;
  background: #0f172ab8;
  border-color: #94a3b824;
}

.lsr-popup__grid {
  z-index: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 20px;
  display: grid;
  position: relative;
}

.lsr-popup__grid--single {
  grid-template-columns: 1fr;
}

.lsr-popup__card {
  -webkit-backdrop-filter: blur(18px);
  background: linear-gradient(#0f172ab3, #020617bd);
  border: 1px solid #94a3b81f;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px 14px 13px;
  display: flex;
  box-shadow: inset 0 1px #ffffff08, 0 14px 28px #0206172e;
}

.lsr-popup__card--accent {
  background: linear-gradient(135deg, var(--lsr-accent, #3b82f6), #020617cc 75%), linear-gradient(180deg, #ffffff08, transparent);
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__card--accent {
    background: linear-gradient(135deg, color-mix(in srgb, var(--lsr-accent, #3b82f6) 18%, #0f172ac7), #020617cc 75%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.lsr-popup__card--accent {
  border-color: var(--lsr-accent-border, #93c5fd);
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__card--accent {
    border-color: color-mix(in srgb, var(--lsr-accent-border, #93c5fd) 45%, #94a3b81f);
  }
}

.lsr-popup__card--accent {
  box-shadow: inset 0 1px 0 #ffffff0d, 0 18px 34px var(--lsr-accent-glow, #3b82f633);
}

@supports (color: color-mix(in lab, red, red)) {
  .lsr-popup__card--accent {
    box-shadow: inset 0 1px 0 #ffffff0d, 0 18px 34px color-mix(in srgb, var(--lsr-accent-glow, #3b82f633) 60%, transparent);
  }
}

.lsr-popup__card--wide {
  grid-column: 1 / -1;
}

.lsr-popup__card-label {
  color: #94a3b8cc;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 800;
}

.lsr-popup__card-value {
  color: #f8fafc;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.35;
}

.lsr-popup__remark {
  color: #cbd5e1;
  white-space: normal;
  z-index: 1;
  background: #0f172a6b;
  border: 1px solid #94a3b81f;
  border-radius: 14px;
  margin: 0 20px 18px;
  padding: 12px 14px;
  font-size: .78rem;
  line-height: 1.55;
  position: relative;
  box-shadow: inset 0 1px #ffffff08;
}

.cocorahs-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  color: #e2e8f0;
  background: linear-gradient(165deg, #080f1cfa, #020617fc);
  border: 1px solid #7dd3fc24;
  border-radius: 20px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 34px #38bdf81f;
}

.cocorahs-popup-wrapper .leaflet-popup-content {
  width: 304px !important;
  max-width: min(304px, 84vw) !important;
  margin: 0 !important;
}

.cocorahs-popup-wrapper .leaflet-popup-tip {
  background: #080f1cfa;
  border: 1px solid #7dd3fc24;
  box-shadow: 0 12px 28px #02061761;
}

.cocorahs-popup-wrapper .leaflet-popup-close-button {
  color: #e2e8f08c;
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.cocorahs-popup-wrapper .leaflet-popup-close-button:hover {
  color: #f8fafc;
  background: #ffffff14;
  border-color: #ffffff1f;
}

.cocorahs-popup {
  color: #e2e8f0;
  min-width: 280px;
  max-width: 304px;
  position: relative;
  overflow: hidden;
}

.cocorahs-popup:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 100% 0, #38bdf81f, #0000 34%), radial-gradient(circle at 0 100%, #22c55e0f, #0000 30%);
  position: absolute;
  inset: 0;
}

.cocorahs-popup__header, .cocorahs-popup__meta, .cocorahs-popup__grid {
  z-index: 1;
  position: relative;
}

.cocorahs-popup__header {
  background: linear-gradient(#ffffff08, #0000);
  border-bottom: 1px solid #94a3b824;
  padding: 16px 20px 14px;
}

.cocorahs-popup__eyebrow {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7dd3fc;
  font-size: .68rem;
  font-weight: 800;
}

.cocorahs-popup__title {
  color: #f8fafc;
  margin-top: 8px;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}

.cocorahs-popup__subtitle {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #94a3b8e6;
  margin-top: 3px;
  font-size: .74rem;
  font-weight: 600;
}

.cocorahs-popup__meta {
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 0;
  display: flex;
}

.cocorahs-popup__pill {
  color: #e0f2fe;
  letter-spacing: .04em;
  background: #0e74902e;
  border: 1px solid #7dd3fc2e;
  border-radius: 9999px;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  font-size: .68rem;
  font-weight: 700;
  display: inline-flex;
}

.cocorahs-popup__pill--muted {
  color: #cbd5e1e0;
  background: #0f172ab8;
  border-color: #94a3b824;
}

.cocorahs-popup__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 20px 18px;
  display: grid;
}

.cocorahs-popup__card {
  background: linear-gradient(#0f172ab3, #020617bd);
  border: 1px solid #94a3b81f;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  display: flex;
  box-shadow: inset 0 1px #ffffff08, 0 14px 28px #0206172e;
}

.cocorahs-popup__card--accent {
  background: linear-gradient(135deg, #0e74903d, #020617d1);
  border-color: #7dd3fc33;
}

.cocorahs-popup__card--wide {
  grid-column: 1 / -1;
}

.cocorahs-popup__label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #94a3b8cc;
  font-size: .64rem;
  font-weight: 800;
}

.cocorahs-popup__value {
  color: #f8fafc;
  letter-spacing: -.015em;
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.35;
}

.mesocyclone-marker-icon {
  background: none;
  border: 0;
}

.mesocyclone-marker {
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  display: flex;
  position: relative;
}

.mesocyclone-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  color: #e2e8f0;
  box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 30px var(--mesocyclone-popup-accent, #f59e0b);
  background: linear-gradient(165deg, #080f1cfa, #020617fc);
  border: 1px solid #94a3b824;
  border-radius: 20px;
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup-wrapper .leaflet-popup-content-wrapper {
    box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 30px color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 18%, transparent);
  }
}

.mesocyclone-popup-wrapper .leaflet-popup-content-wrapper {
  padding: 0;
  overflow: hidden;
}

.mesocyclone-popup-wrapper .leaflet-popup-content {
  width: 304px !important;
  max-width: min(304px, 84vw) !important;
  margin: 0 !important;
}

.mesocyclone-popup-wrapper .leaflet-popup-tip {
  background: #080f1cfa;
  border: 1px solid #94a3b824;
  box-shadow: 0 12px 28px #02061761;
}

.mesocyclone-popup-wrapper .leaflet-popup-close-button {
  color: #e2e8f08c;
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.mesocyclone-popup-wrapper .leaflet-popup-close-button:hover {
  color: #f8fafc;
  background: #ffffff14;
  border-color: #ffffff1f;
}

.mesocyclone-popup {
  color: #e2e8f0;
  min-width: 280px;
  max-width: 304px;
  position: relative;
  overflow: hidden;
}

.mesocyclone-popup:before {
  content: "";
  background: radial-gradient(circle at top right, var(--mesocyclone-popup-accent, #f59e0b), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup:before {
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 16%, transparent), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  }
}

.mesocyclone-popup:before {
  pointer-events: none;
}

.mesocyclone-popup__header, .mesocyclone-popup__grid {
  z-index: 1;
  position: relative;
}

.mesocyclone-popup__header {
  background: linear-gradient(135deg, var(--mesocyclone-popup-accent, #f59e0b), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  border-bottom: 1px solid #94a3b824;
  padding: 16px 20px 14px;
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 14%, transparent), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.mesocyclone-popup__header:before {
  content: "";
  background: linear-gradient(90deg, var(--mesocyclone-popup-accent, #f59e0b), transparent 82%);
  opacity: .9;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.mesocyclone-popup__eyebrow {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mesocyclone-popup-accent, #f59e0b);
  font-size: .68rem;
  font-weight: 800;
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__eyebrow {
    color: color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 70%, white);
  }
}

.mesocyclone-popup__title {
  color: #f8fafc;
  margin-top: 8px;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}

.mesocyclone-popup__badges {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.mesocyclone-popup__badge {
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 9999px;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  font-size: .68rem;
  font-weight: 700;
  display: inline-flex;
}

.mesocyclone-popup__badge--strength {
  background: var(--mesocyclone-popup-accent, #f59e0b);
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__badge--strength {
    background: color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 18%, #0f172aad);
  }
}

.mesocyclone-popup__badge--strength {
  border: 1px solid var(--mesocyclone-popup-accent, #f59e0b);
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__badge--strength {
    border: 1px solid color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 24%, #ffffff0f);
  }
}

.mesocyclone-popup__badge--strength {
  color: var(--mesocyclone-popup-accent, #f59e0b);
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__badge--strength {
    color: color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 72%, white);
  }
}

.mesocyclone-popup__badge--depth {
  color: #cbd5e1e0;
  background: #0f172ab8;
  border: 1px solid #94a3b824;
}

.mesocyclone-popup__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 20px 18px;
  display: grid;
}

.mesocyclone-popup__card {
  background: linear-gradient(#0f172ab3, #020617bd);
  border: 1px solid #94a3b81f;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  display: flex;
  box-shadow: inset 0 1px #ffffff08, 0 14px 28px #0206172e;
}

.mesocyclone-popup__card:first-child {
  background: linear-gradient(135deg, var(--mesocyclone-popup-accent, #f59e0b), #020617d1);
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__card:first-child {
    background: linear-gradient(135deg, color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 18%, #0f172aa3), #020617d1);
  }
}

.mesocyclone-popup__card:first-child {
  border-color: var(--mesocyclone-popup-accent, #f59e0b);
}

@supports (color: color-mix(in lab, red, red)) {
  .mesocyclone-popup__card:first-child {
    border-color: color-mix(in srgb, var(--mesocyclone-popup-accent, #f59e0b) 22%, #94a3b824);
  }
}

.mesocyclone-popup__label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #94a3b8cc;
  font-size: .64rem;
  font-weight: 800;
}

.mesocyclone-popup__value {
  color: #f8fafc;
  letter-spacing: -.015em;
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 480px) {
  .lsr-popup-wrapper .leaflet-popup-content {
    width: min(300px, 84vw) !important;
  }

  .lsr-popup {
    min-width: 0;
  }

  .lsr-popup__grid {
    grid-template-columns: 1fr;
  }

  .lsr-popup__card--wide {
    grid-column: auto;
  }

  .cocorahs-popup-wrapper .leaflet-popup-content {
    width: min(304px, 84vw) !important;
  }

  .cocorahs-popup {
    min-width: 0;
  }

  .cocorahs-popup__grid {
    grid-template-columns: 1fr;
  }

  .cocorahs-popup__card--wide {
    grid-column: auto;
  }

  .mesocyclone-popup-wrapper .leaflet-popup-content {
    width: min(304px, 84vw) !important;
  }

  .mesocyclone-popup {
    min-width: 0;
  }

  .mesocyclone-popup__grid {
    grid-template-columns: 1fr;
  }
}

.leaflet-container {
  touch-action: none;
}

.leaflet-container img.leaflet-tile, .leaflet-container .leaflet-pane img {
  max-width: none !important;
}

.leaflet-container .leaflet-tile {
  outline: 1px solid #0000;
  display: block;
}

.leaflet-container img.leaflet-image-layer.ewmrs-image-overlay {
  outline: 1px solid #0000;
  max-width: none !important;
}

.leaflet-pane.leaflet-popup-pane {
  z-index: 800;
}

.smooth-scroll {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.no-select {
  -webkit-user-select: none;
  user-select: none;
}

@media (hover: none) {
  button, a {
    -webkit-tap-highlight-color: #3b82f633;
  }
}

.safe-area-inset-bottom {
  padding-bottom: env(safe-area-inset-bottom);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: none;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #ffffff1a;
  border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #fff3;
}

.touch-target {
  justify-content: center;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  display: flex;
}

.touch-target-lg {
  justify-content: center;
  align-items: center;
  min-width: 52px;
  min-height: 52px;
  display: flex;
}

.hero {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 48px;
  display: flex;
  position: relative;
}

.bg-orb {
  pointer-events: none;
  filter: blur(40px);
  z-index: 0;
  background: radial-gradient(circle at 10% 20%, #00c2ff1f, #0000 10%), radial-gradient(circle at 85% 70%, #0366d61f, #0000 12%);
  animation: 12s linear infinite move;
  position: absolute;
  inset: 0;
}

.content {
  z-index: 5;
  width: 100%;
  max-width: 1040px;
  padding: 36px;
  position: relative;
}

.card {
  background: linear-gradient(180deg, var(--glass), var(--glass-2));
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  text-align: center;
  border-radius: 20px;
  padding: 64px;
  box-shadow: 0 25px 50px -12px #000000b3, 0 0 0 1px #ffffff1a;
}

.brand-container {
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin-bottom: 24px;
  display: flex;
}

.logo-wrapper {
  background: radial-gradient(circle, #0366d626, #0000 70%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 160px;
  height: 160px;
  display: flex;
  position: relative;
  box-shadow: 0 0 50px #0366d640;
}

.logo-img {
  filter: drop-shadow(0 4px 12px #0366d666);
  border-radius: 24px;
  width: auto;
  height: 120px;
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1);
}

.logo-wrapper:hover .logo-img {
  transform: scale(1.1)rotate(-3deg);
}

.brand-text {
  text-align: left;
}

.brand {
  background: linear-gradient(90deg, var(--gradient-a), var(--gradient-b));
  color: #0000;
  letter-spacing: -2px;
  text-shadow: 0 4px 12px #0366d633;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  padding-bottom: 10px;
  font-size: 5.5rem;
  font-weight: 800;
  line-height: 1.15;
}

.tagline {
  color: #fffffff2;
  letter-spacing: .5px;
  margin: 8px 0 0;
  font-size: 1.35rem;
  font-weight: 500;
}

.sub {
  color: #fffc;
  max-width: 600px;
  margin: 12px auto 32px;
  font-size: 1.1rem;
}

.actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 32px;
  display: flex;
}

.socials {
  border-top: 1px solid #ffffff1a;
  justify-content: center;
  gap: 24px;
  margin-top: 16px;
  padding-top: 24px;
  display: flex;
}

.social-link {
  color: #fff9;
  justify-content: center;
  align-items: center;
  transition: all .2s;
  display: flex;
}

.social-link:hover {
  color: var(--white);
  transform: translateY(-2px);
}

.social-icon {
  width: 24px;
  height: 24px;
}

.btn {
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.btn-primary {
  background: linear-gradient(135deg, var(--gradient-a), var(--gradient-b));
  color: #051626;
  border-color: #0000;
  box-shadow: 0 4px 20px #0366d640;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px #0366d659;
}

.btn-ghost {
  color: var(--white);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #ffffff08;
  border-color: #ffffff1f;
}

.btn-ghost:hover {
  background: #ffffff14;
  border-color: #ffffff40;
}

@keyframes move {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translate(0)scale(1);
  }

  50% {
    transform: translate(30px, -30px)scale(1.1);
  }
}

@keyframes float-reverse {
  0%, 100% {
    transform: translate(0)scale(1);
  }

  50% {
    transform: translate(-30px, 30px)scale(1.1);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: .8s ease-out forwards fade-in;
}

.fade-in-delay-1 {
  animation: .8s ease-out .1s forwards fade-in;
}

.fade-in-delay-2 {
  animation: .8s ease-out .2s forwards fade-in;
}

.fade-in-delay-3 {
  animation: .8s ease-out .3s forwards fade-in;
}

.fade-in-delay-4 {
  animation: .8s ease-out .4s forwards fade-in;
}

.fade-in-delay-5 {
  animation: .8s ease-out .5s forwards fade-in;
}

.alert-fade-in, .alert-fade-in-delay-0 {
  animation: .5s ease-out forwards fade-in;
}

.alert-fade-in-delay-1 {
  animation: .5s ease-out .1s forwards fade-in;
}

.alert-fade-in-delay-2 {
  animation: .5s ease-out .2s forwards fade-in;
}

.alert-fade-in-delay-3 {
  animation: .5s ease-out .3s forwards fade-in;
}

.animate-on-scroll {
  opacity: 0;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 880px) {
  .brand-container {
    text-align: center;
    flex-direction: column;
    gap: 16px;
  }

  .brand-text {
    text-align: center;
  }

  .card {
    padding: 40px;
  }

  .brand {
    font-size: 4rem;
  }

  .logo-wrapper {
    width: 130px;
    height: 130px;
    margin: 0 auto;
  }

  .logo-img {
    height: 95px;
  }
}

@media (max-width: 420px) {
  .card {
    padding: 24px;
  }

  .brand {
    font-size: 3rem;
  }

  .tagline {
    font-size: 1.1rem;
  }
}

#lightning-container {
  z-index: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lightning-flash {
  mix-blend-mode: screen;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle, #fffc 0%, #c8e6ff66 40%, #0000 70%);
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.lightning-bolt {
  pointer-events: none;
  opacity: 0;
  filter: drop-shadow(0 0 8px #c8e6ffcc);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.metar-marker {
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  display: flex !important;
}

.metar-dot {
  z-index: 2;
  border: 1px solid #fff6;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 4px #000c;
}

.metar-glow {
  opacity: .3;
  z-index: 1;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  animation: 3s infinite pulse-glow;
  position: absolute;
  box-shadow: 0 0 8px;
}

@keyframes pulse-glow {
  0% {
    opacity: .1;
    transform: scale(.9);
  }

  50% {
    opacity: .4;
    transform: scale(1.1);
  }

  100% {
    opacity: .1;
    transform: scale(.9);
  }
}

.nws-tooltip {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  color: #fff;
  background: #141419e6;
  border: 1px solid #ffffff26;
  border-radius: 12px;
  max-width: 300px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  box-shadow: 0 10px 30px #0006, 0 0 0 1px #ffffff0d;
}

.nws-tooltip .leaflet-tooltip-tip {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #141419e6;
  border-top: 1px solid #ffffff26;
  border-left: 1px solid #ffffff26;
}

.metar-popup .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  color: #fff;
  background: #141419bf;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 20px 40px #0006, 0 0 0 1px #ffffff0d;
}

.metar-popup .leaflet-popup-tip {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #141419bf;
  border-top: 1px solid #ffffff1a;
  border-left: 1px solid #ffffff1a;
}

.metar-popup-content {
  min-width: 240px;
  width: auto !important;
  margin: 0 !important;
}

.weather-popup .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  color: #fff;
  background: #0c0c12e0;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 24px 48px #00000080, 0 0 0 1px #ffffff0a, inset 0 1px #ffffff0f;
}

.weather-popup .leaflet-popup-content {
  width: auto !important;
  margin: 0 !important;
}

.weather-popup .leaflet-popup-tip {
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  box-shadow: none;
  background: #0c0c12e0;
  border: none;
}

.weather-popup .leaflet-popup-close-button {
  z-index: 10;
  transition: color .2s;
  color: #fff6 !important;
  font-size: 20px !important;
  top: 8px !important;
  right: 10px !important;
}

.weather-popup .leaflet-popup-close-button:hover {
  color: #ffffffe6 !important;
}

.popup-header {
  background: linear-gradient(#ffffff08, #0000);
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px 12px;
  display: flex;
}

.popup-station {
  color: #0000;
  letter-spacing: -.02em;
  background: linear-gradient(to right, #fff, #fffc);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: Inter, system-ui, -apple-system, sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
}

.popup-time-badge {
  color: #ffffffe6;
  letter-spacing: .5px;
  background: #ffffff1a;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: .7rem;
  font-weight: 600;
}

.popup-body {
  flex-direction: column;
  gap: 16px;
  padding: 0 20px 20px;
  display: flex;
}

.metrics-grid {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.popup-metric {
  background: #ffffff08;
  border: 1px solid #ffffff0d;
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 12px;
  transition: background .2s;
  display: flex;
}

.popup-metric:hover {
  background: #ffffff0f;
}

.metric-label {
  text-transform: uppercase;
  color: #ffffff80;
  letter-spacing: .05em;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: .65rem;
  font-weight: 600;
  display: flex;
}

.metric-value {
  color: #fff;
  font-feature-settings: "tnum";
  letter-spacing: -.02em;
  font-size: 1.1rem;
  font-weight: 700;
}

.metric-unit {
  color: #ffffff80;
  margin-left: 2px;
  font-size: .8rem;
  font-weight: 500;
}

.metar-metrics-row {
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.metar-metric-box {
  background: #ffffff08;
  border-top: 2px solid #ffffff1a;
  border-radius: 8px;
  flex-direction: column;
  flex: 1;
  align-items: center;
  padding: 12px 8px;
  display: flex;
}

.metar-metric-label {
  color: #fff6;
  letter-spacing: .1em;
  margin-bottom: 4px;
  font-size: .6rem;
  font-weight: 700;
}

.metar-metric-value {
  font-feature-settings: "tnum";
  letter-spacing: -.02em;
  font-size: 1.5rem;
  font-weight: 800;
}

.metar-wind-row {
  background: #1e3a8a1a;
  border: 1px solid #1e3a8a33;
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  display: flex;
}

.metar-wind-arrow {
  color: #60a5fa;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: transform .2s;
  display: flex;
}

.metar-wind-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.metar-wind-label {
  color: #fff6;
  letter-spacing: .1em;
  font-size: .6rem;
  font-weight: 700;
}

.metar-wind-value {
  color: #f8fafc;
  font-feature-settings: "tnum";
  font-size: .95rem;
  font-weight: 600;
}

@keyframes popupFade {
  from {
    opacity: 0;
    transform: scale(.98);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.cell-popup-wrapper .leaflet-popup-tip {
  box-shadow: none;
  background: #0a0a0fd9;
  border: 1px solid #ffffff1a;
}

.cell-popup-wrapper .leaflet-popup-content {
  margin: 0;
  width: 260px !important;
}

.cell-popup-wrapper .leaflet-popup-close-button {
  color: #ffffff80;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 16px;
  transition: color .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.cell-popup-wrapper .leaflet-popup-close-button:hover {
  color: #fff;
}

.cell-popup {
  color: #fff;
  font-family: inherit;
}

.cell-popup-header {
  border-bottom: 1px solid #ffffff0d;
  padding: 16px 20px 12px;
}

.cell-popup-title {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.cell-popup-id {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
}

.cell-popup-risk {
  color: var(--risk-color, #fff);
  border-left: 3px solid var(--risk-color, #fff);
  background: #ffffff1a;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: .65rem;
  font-weight: 700;
}

.cell-popup-metric {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.cell-popup-label {
  color: #ffffff80;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .6rem;
  font-weight: 600;
}

.cell-popup-value {
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
}

.cell-popup-prob-container {
  background: #ffffff08;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 12px;
}

.cell-popup-prob-title {
  color: #ffffff80;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 8px;
  font-size: .65rem;
  font-weight: 600;
  display: block;
}

.cell-popup-prob-item {
  flex-direction: column;
  align-items: center;
  gap: 2px;
  display: flex;
}

.cell-popup-prob-item .prob-label {
  color: #fff6;
  font-size: .55rem;
}

.cell-popup-prob-item .prob-val {
  font-size: .9rem;
  font-weight: 600;
}

.cell-popup-link {
  background: #ffffff14;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px;
  font-size: .8rem;
  font-weight: 500;
  text-decoration: none;
  transition: background .2s;
  display: flex;
  color: #fff !important;
}

.cell-popup-link:hover {
  background: #ffffff26;
}

.cell-popup-link svg {
  transition: transform .2s;
}

.cell-popup-link:hover svg {
  transform: translateX(4px);
}

.cell-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  background: #080810eb;
  border: 1px solid #ffffff1f;
  border-radius: 24px;
  padding: 0;
  animation: .3s cubic-bezier(.34, 1.56, .64, 1) hypermodernPopupEnter;
  overflow: hidden;
  box-shadow: 0 32px 64px #0009, 0 0 0 1px #ffffff14, inset 0 1px #ffffff0f;
}

@keyframes hypermodernPopupEnter {
  from {
    opacity: 0;
    transform: scale(.95)translateY(12px);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.cell-popup-wrapper .leaflet-popup-tip {
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  background: #080810eb;
  border: 1px solid #ffffff1f;
  box-shadow: 0 16px 32px #0006;
}

.cell-popup-wrapper .leaflet-popup-content {
  margin: 0;
  width: 320px !important;
  max-width: 90vw !important;
}

.cell-popup-wrapper .leaflet-popup-close-button {
  color: #fff6;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 18px;
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
  top: 14px;
  right: 14px;
}

.cell-popup-wrapper .leaflet-popup-close-button:hover {
  color: #fff;
  background: #ffffff26;
  transform: rotate(90deg)scale(.95);
  box-shadow: 0 4px 12px #ffffff1a;
}

.cell-popup {
  color: #fff;
  font-feature-settings: "tnum", "lnum";
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Inter, sans-serif;
}

.cell-popup-header {
  background: linear-gradient(135deg, #ffffff0f, #0000);
  border-bottom: 1px solid #ffffff14;
  padding: 20px 24px 16px;
  position: relative;
  overflow: hidden;
}

.cell-popup-header:before {
  content: "";
  background: linear-gradient(90deg, transparent, var(--risk-color, #60a5fa), transparent);
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.cell-popup-title {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.cell-popup-id.gradient-text {
  letter-spacing: -.025em;
  background: linear-gradient(135deg, #fff 0%, #fffc 50%, var(--risk-color, #60a5fa) 100%);
  color: #0000;
  text-shadow: 0 2px 8px #0000004d;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 1.25rem;
  font-weight: 800;
}

.cell-popup-risk {
  color: var(--risk-color, #fff);
  border: 1px solid rgba(var(--risk-color), .3);
  box-shadow: 0 2px 8px rgba(var(--risk-color), .2), inset 0 1px 0 #fff3;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: #ffffff1f;
  border-radius: 20px;
  padding: 6px 12px;
  font-size: .7rem;
  font-weight: 800;
  animation: 2s ease-in-out infinite riskPulse;
}

@keyframes riskPulse {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(var(--risk-color), .2);
  }

  50% {
    box-shadow: 0 2px 12px rgba(var(--risk-color), .4), 0 0 16px rgba(var(--risk-color), .2);
  }
}

.cell-popup-body {
  padding: 24px;
}

.cell-popup-metrics {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 20px;
  display: grid;
}

.metric-card {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 16px 12px;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
  overflow: hidden;
}

.metric-card:before {
  content: "";
  opacity: 0;
  background: linear-gradient(135deg, #ffffff1a, #0000);
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.metric-card:hover {
  background: #ffffff24;
  border-color: #ffffff40;
  transform: translateY(-4px)scale(1.02);
  box-shadow: 0 12px 24px #0000004d, 0 0 0 1px #ffffff26, inset 0 1px #fff3;
}

.metric-card:hover:before {
  opacity: 1;
}

.metric-card .metric-icon {
  color: #ffffffb3;
  width: 20px;
  height: 20px;
  transition: all .3s;
}

.metric-card:hover .metric-icon {
  color: #fff;
  filter: drop-shadow(0 0 8px);
}

.metric-card .cell-popup-label {
  color: #fff9;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .65rem;
  font-weight: 700;
}

.metric-card .cell-popup-value {
  color: #fff;
  letter-spacing: -.02em;
  font-size: 1.1rem;
  font-weight: 800;
}

.dbz-card {
  --metric-glow: #3b82f666;
}

.vil-card {
  --metric-glow: #22c55e66;
}

.motion-section {
  background: linear-gradient(135deg, #3b82f626, #6366f11a);
  border: 1px solid #3b82f64d;
  border-radius: 20px;
  margin-bottom: 20px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.motion-section:before {
  content: "";
  opacity: .5;
  background: radial-gradient(circle at 0 0, #3b82f633, #0000);
  position: absolute;
  inset: 0;
}

.motion-header {
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  display: flex;
}

.section-icon {
  color: #fffc;
  width: 16px;
  height: 16px;
}

.section-title {
  color: #ffffffe6;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .75rem;
  font-weight: 800;
}

.motion-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.motion-card {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
}

.motion-card:before {
  content: "";
  opacity: 0;
  background: conic-gradient(#0000 0deg, #ffffff1a 270deg, #0000 360deg);
  width: 200%;
  height: 200%;
  transition: opacity .3s;
  animation: 3s linear infinite spinShimmer;
  position: absolute;
  top: -50%;
  left: -50%;
}

@keyframes spinShimmer {
  to {
    transform: rotate(360deg);
  }
}

.motion-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px #3b82f64d;
}

.motion-card:hover:before {
  opacity: 1;
}

.motion-label {
  color: #ffffffb3;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .65rem;
  font-weight: 700;
}

.motion-value {
  color: #fff;
  text-shadow: 0 2px 8px #00000080;
  letter-spacing: -.03em;
  font-size: 1.4rem;
  font-weight: 900;
}

.compass-rose {
  width: 48px;
  height: 48px;
  transform: rotate(var(--direction, 0deg));
  background: #ffffff26;
  border: 2px solid #ffffff4d;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: all .4s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
}

.compass-rose:hover {
  transform: rotate(var(--direction, 0deg)) scale(1.1);
  box-shadow: 0 8px 24px #ffffff4d;
}

.compass-svg {
  color: #fff;
  filter: drop-shadow(0 1px 2px #00000080);
  width: 28px;
  height: 28px;
}

.motion-dir {
  color: #ffffffe6;
  font-feature-settings: "tnum";
  font-size: .85rem;
  font-weight: 700;
}

.current-motion {
  border-top: 3px solid #3b82f6;
}

.forecast-motion {
  border-top: 3px solid #8b5cf6;
}

.motion-placeholder {
  text-align: center;
  color: #ffffff80;
  padding: 20px;
  font-style: italic;
}

.cell-popup-prob-container {
  background: linear-gradient(135deg, #ffffff14, #ffffff08);
  border: 1px solid #ffffff1f;
  border-radius: 20px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.cell-popup-prob-container.prob-glow:before {
  content: "";
  background: radial-gradient(circle, #ffffff1a, #0000);
  animation: 3s ease-in-out infinite probGlow;
  position: absolute;
  inset: 0;
}

@keyframes probGlow {
  0%, 100% {
    opacity: .5;
    transform: scale(1);
  }

  50% {
    opacity: .8;
    transform: scale(1.02);
  }
}

.prob-header {
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  display: flex;
}

.section-icon.prob-icon {
  color: #ffffffb3;
  width: 18px;
  height: 18px;
}

.cell-popup-prob-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  display: grid;
}

.prob-item {
  background: #ffffff14;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 8px;
  transition: all .3s;
  display: flex;
}

.prob-item:hover {
  background: #ffffff26;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px #0000004d;
}

.prob-label {
  color: #fff9;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .6rem;
  font-weight: 800;
}

.prob-val {
  text-shadow: 0 1px 4px #00000080;
  letter-spacing: -.02em;
  font-size: 1rem;
  font-weight: 900;
}

.any-prob {
  border-top: 3px solid #fca5a5;
}

.tor-prob {
  border-top: 3px solid #c084fc;
}

.hail-prob {
  border-top: 3px solid #86efac;
}

.wind-prob {
  border-top: 3px solid #93c5fd;
}

.cell-popup-link.hypermodern-link {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: linear-gradient(135deg, #3b82f633, #6366f126);
  border: 1px solid #3b82f666;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 20px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .4s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px #3b82f640, inset 0 1px #ffffff4d;
  color: #fff !important;
}

.cell-popup-link.hypermodern-link:before {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff4d, #0000);
  width: 100%;
  height: 100%;
  transition: left .6s;
  position: absolute;
  top: 0;
  left: -100%;
}

.cell-popup-link.hypermodern-link:hover {
  background: linear-gradient(135deg, #3b82f64d, #6366f140);
  border-color: #3b82f699;
  transform: translateY(-4px)scale(1.02);
  box-shadow: 0 20px 40px #3b82f666, 0 0 0 1px #fff3;
}

.cell-popup-link.hypermodern-link:hover:before {
  left: 100%;
}

@media (max-width: 480px) {
  .cell-popup-wrapper .leaflet-popup-content {
    width: 280px !important;
  }

  .cell-popup-metrics {
    grid-template-columns: 1fr;
  }

  .motion-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cell-popup-wrapper .leaflet-popup-content-wrapper, .metric-card, .motion-card, .prob-item, .cell-popup-link, .cell-popup-risk, .compass-rose {
    transition: none !important;
    animation: none !important;
  }
}

.metar-tooltip {
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  position: relative;
  color: #fff !important;
  letter-spacing: -.01em !important;
  text-shadow: 0 1px 2px #0000004d !important;
  background: #020617f2 !important;
  border: 1px solid #ffffff1a !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 20px #00000080, 0 0 0 1px #0000004d, 0 0 20px #3b82f61a !important;
}

.metar-tooltip:before {
  content: "";
  background: linear-gradient(90deg, #0000, #3b82f680, #0000);
  border-radius: 10px 10px 0 0;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.metar-tooltip.leaflet-tooltip-top:before {
  border-top-width: 8px !important;
  border-top-color: #020617f2 !important;
  border-left-width: 8px !important;
  border-right-width: 8px !important;
  margin-left: -8px !important;
  bottom: -8px !important;
}

.metar-tooltip.leaflet-tooltip-bottom:before {
  border-bottom-width: 8px !important;
  border-bottom-color: #020617f2 !important;
  border-left-width: 8px !important;
  border-right-width: 8px !important;
  margin-left: -8px !important;
  top: -8px !important;
}

.dot-green {
  background-color: #22c55e;
  box-shadow: 0 0 10px #22c55e;
}

.dot-yellow {
  background-color: #eab308;
  box-shadow: 0 0 10px #eab308;
}

.dot-orange {
  background-color: #f97316;
  box-shadow: 0 0 10px #f97316;
}

.dot-red {
  background-color: #ef4444;
  box-shadow: 0 0 10px #ef4444;
}

.dot-magenta {
  background-color: #d946ef;
  box-shadow: 0 0 10px #d946ef;
}

.dot-blue {
  background-color: #3b82f6;
  box-shadow: 0 0 10px #3b82f6;
}

.nws-alert-marker {
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  display: flex !important;
}

.nws-popup .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(32px) saturate(200%);
  color: #fff;
  box-shadow: 0 0 0 1px #00000080, 0 32px 64px -16px #000000e6, 0 0 60px var(--alert-glow, #ffa5001a), inset 0 1px 0 #ffffff0d;
  background: linear-gradient(165deg, #0f172afa, #020617fc);
  border: 1px solid #ffffff14;
  border-radius: 20px;
  padding: 0;
  animation: .25s cubic-bezier(.34, 1.56, .64, 1) nwsPopupSlideIn;
  overflow: hidden;
}

@keyframes nwsPopupSlideIn {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.96);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.nws-popup .leaflet-popup-tip {
  background: linear-gradient(165deg, #0f172afa, #020617fc);
  border: 1px solid #ffffff14;
  box-shadow: 0 8px 24px #0009;
}

.nws-popup .leaflet-popup-content {
  width: auto !important;
  margin: 0 !important;
}

.nws-popup .leaflet-popup-close-button {
  color: #fff6;
  z-index: 10;
  background: #ffffff08;
  border: 1px solid #ffffff0d;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  font-weight: 400;
  transition: all .2s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  top: 14px;
  right: 14px;
}

.nws-popup .leaflet-popup-close-button:hover {
  color: #fff;
  background: #ffffff14;
  border-color: #ffffff26;
  transform: rotate(90deg);
}

.nws-multi-alert-header {
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  display: flex;
}

.nws-multi-alert-dot {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 8px var(--alert-color, #f59e0b);
  border-radius: 50%;
  flex-shrink: 0;
}

.nws-multi-alert-event {
  color: #fff;
  letter-spacing: -.02em;
  flex: 1;
  font-size: .85rem;
  font-weight: 700;
}

.nws-multi-alert-severity {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--alert-color, #f59e0b);
  white-space: nowrap;
  background: #ffffff0d;
  border: 1px solid #ffffff14;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: .55rem;
  font-weight: 700;
}

.nws-multi-alert-headline {
  color: #ffffffb3;
  margin-bottom: 4px;
  font-size: .75rem;
  line-height: 1.45;
}

.nws-multi-alert-times {
  color: #94a3b8a6;
  font-feature-settings: "tnum";
  margin-bottom: 6px;
  font-size: .68rem;
}

.nws-multi-alert-link {
  opacity: .8;
  letter-spacing: .02em;
  font-size: .72rem;
  font-weight: 700;
  transition: opacity .15s;
  color: var(--alert-color, #f59e0b) !important;
  text-decoration: none !important;
}

.nws-multi-alert-link:hover {
  opacity: 1;
  text-decoration: underline !important;
}

.spc-outlook-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  color: #e2e8f0;
  box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 34px var(--spc-outlook-glow, #22c55e2e);
  background: linear-gradient(165deg, #080f1cfa, #020617fc);
  border: 1px solid #94a3b824;
  border-radius: 20px;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-outlook-popup-wrapper .leaflet-popup-content-wrapper {
    box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 34px color-mix(in srgb, var(--spc-outlook-glow, #22c55e2e) 60%, transparent);
  }
}

.spc-outlook-popup-wrapper .leaflet-popup-content-wrapper {
  padding: 0;
  overflow: hidden;
}

.spc-outlook-popup-wrapper .leaflet-popup-content {
  width: 304px !important;
  max-width: min(304px, 84vw) !important;
  margin: 0 !important;
}

.spc-outlook-popup-wrapper .leaflet-popup-tip {
  background: #080f1cfa;
  border: 1px solid #94a3b824;
  box-shadow: 0 12px 28px #02061761;
}

.spc-outlook-popup-wrapper .leaflet-popup-close-button {
  color: #e2e8f08c;
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.spc-outlook-popup-wrapper .leaflet-popup-close-button:hover {
  color: #f8fafc;
  background: #ffffff14;
  border-color: #ffffff1f;
}

.spc-outlook-popup {
  color: #e2e8f0;
  min-width: 288px;
  max-width: 320px;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  position: relative;
  overflow: hidden;
}

.spc-outlook-popup:before {
  content: "";
  background: radial-gradient(circle at top right, var(--spc-outlook-accent, #22c55e), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-outlook-popup:before {
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--spc-outlook-accent, #22c55e) 14%, transparent), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  }
}

.spc-outlook-popup:before {
  pointer-events: none;
}

.spc-outlook-popup__header {
  background: linear-gradient(135deg, var(--spc-outlook-accent, #22c55e), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px 16px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-outlook-popup__header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--spc-outlook-accent, #22c55e) 16%, transparent), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.spc-outlook-popup__header {
  z-index: 1;
  border-bottom: 1px solid #94a3b824;
  position: relative;
}

.spc-outlook-popup__header:before {
  content: "";
  background: linear-gradient(90deg, var(--spc-outlook-accent, #22c55e), transparent 82%);
  opacity: .9;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.spc-outlook-popup__badge {
  background: var(--spc-outlook-accent, #22c55e);
  border: 1px solid var(--spc-outlook-accent, #22c55e);
  border-radius: 9999px;
  justify-content: center;
  align-self: center;
  align-items: center;
  min-width: 72px;
  min-height: 28px;
  padding: 0 14px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-outlook-popup__badge {
    border: 1px solid color-mix(in srgb, var(--spc-outlook-accent, #22c55e) 40%, #fff3);
  }
}

.spc-outlook-popup__badge {
  box-shadow: 0 0 0 1px #0f172a73, 0 10px 24px var(--spc-outlook-glow, #22c55e38);
  color: #082f1a;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: none;
  flex-shrink: 0;
  font-size: .78rem;
  font-weight: 800;
}

.spc-outlook-popup__heading {
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding-right: 22px;
  display: flex;
}

.spc-outlook-popup__eyebrow {
  color: #94a3b8eb;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 700;
}

.spc-outlook-popup__title {
  color: #f8fafc;
  letter-spacing: -.02em;
  text-shadow: 0 2px 10px #0f172a59;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.15;
}

.spc-outlook-popup__times {
  z-index: 1;
  gap: 12px;
  padding: 14px 20px 20px;
  display: grid;
  position: relative;
}

.spc-outlook-popup__time-row {
  background: linear-gradient(180deg, #0f172ab8, #020617c7), linear-gradient(135deg, var(--spc-outlook-accent, #22c55e), transparent 70%);
  border-radius: 16px;
  gap: 8px;
  padding: 15px 16px 14px;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-outlook-popup__time-row {
    background: linear-gradient(180deg, #0f172ab8, #020617c7), linear-gradient(135deg, color-mix(in srgb, var(--spc-outlook-accent, #22c55e) 8%, transparent), transparent 70%);
  }
}

.spc-outlook-popup__time-row {
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid #94a3b81f;
  box-shadow: inset 0 1px #ffffff08, 0 14px 28px #0206172e;
}

.spc-outlook-popup__label {
  color: #94a3b8cc;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 800;
}

.spc-outlook-popup__value {
  color: #f8fafc;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.3;
}

@media (max-width: 640px) {
  .spc-outlook-popup-wrapper .leaflet-popup-content {
    width: min(300px, 100vw - 72px) !important;
  }
}

.spc-popup .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  color: #fff;
  background: #141423d9;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 20px 40px #00000080, 0 0 0 1px #ffffff0d;
}

.spc-popup .leaflet-popup-tip {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #141423d9;
}

.spc-popup .leaflet-popup-content {
  min-width: 260px;
  width: auto !important;
  margin: 0 !important;
}

.spc-popup-content {
  font-family: Inter, system-ui, -apple-system, sans-serif;
}

.spc-popup-header {
  background: linear-gradient(135deg, #ffffff0d, #0000);
  border-bottom: 1px solid #ffffff0d;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.spc-title {
  color: #fffffff2;
  letter-spacing: -.01em;
  font-size: .95rem;
  font-weight: 700;
}

.spc-threat-badge {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .7rem;
  font-weight: 700;
  box-shadow: 0 2px 8px #0003;
}

.spc-popup-body {
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.spc-times {
  color: #ffffffb3;
  background: #ffffff08;
  border: 1px solid #ffffff0d;
  border-radius: 10px;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  font-size: .75rem;
  display: flex;
}

.spc-times strong {
  color: #ffffff80;
  margin-right: 4px;
  font-weight: 600;
}

.spc-storm-report-popup-wrapper .leaflet-popup-content-wrapper {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 36px var(--spc-storm-report-glow, #ef44442e);
  background: linear-gradient(165deg, #080f1cfa, #020617fc);
  border: 1px solid #94a3b824;
  border-radius: 20px;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup-wrapper .leaflet-popup-content-wrapper {
    box-shadow: 0 28px 52px #020617ad, 0 0 0 1px #ffffff0a, 0 0 36px color-mix(in srgb, var(--spc-storm-report-glow, #ef44442e) 60%, transparent);
  }
}

.spc-storm-report-popup-wrapper .leaflet-popup-content-wrapper {
  padding: 0;
  overflow: hidden;
}

.spc-storm-report-popup-wrapper .leaflet-popup-content {
  width: 304px !important;
  max-width: min(304px, 84vw) !important;
  margin: 0 !important;
}

.spc-storm-report-popup-wrapper .leaflet-popup-tip {
  background: #080f1cfa;
  border: 1px solid #94a3b824;
  box-shadow: 0 12px 28px #02061761;
}

.spc-storm-report-popup-wrapper .leaflet-popup-close-button {
  color: #e2e8f08c;
  background: #ffffff0a;
  border: 1px solid #ffffff0f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  transition: all .2s;
  display: flex;
  top: 12px;
  right: 12px;
}

.spc-storm-report-popup-wrapper .leaflet-popup-close-button:hover {
  color: #f8fafc;
  background: #ffffff14;
  border-color: #ffffff1f;
}

.spc-storm-report-popup {
  color: #e2e8f0;
  min-width: 280px;
  max-width: 304px;
  position: relative;
  overflow: hidden;
}

.spc-storm-report-popup:before {
  content: "";
  background: radial-gradient(circle at top right, var(--spc-storm-report-accent, #ef4444), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  position: absolute;
  inset: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup:before {
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 14%, transparent), transparent 34%), radial-gradient(circle at bottom left, #ffffff08, transparent 30%);
  }
}

.spc-storm-report-popup:before {
  pointer-events: none;
}

.spc-storm-report-popup__header {
  background: linear-gradient(135deg, var(--spc-storm-report-accent, #ef4444), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  align-items: center;
  gap: 12px;
  padding: 16px 20px 14px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 16%, transparent), transparent 62%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.spc-storm-report-popup__header {
  z-index: 1;
  border-bottom: 1px solid #94a3b824;
  position: relative;
}

.spc-storm-report-popup__header:before {
  content: "";
  background: linear-gradient(90deg, var(--spc-storm-report-accent, #ef4444), transparent 82%);
  opacity: .9;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.spc-storm-report-popup__badge {
  background: var(--spc-storm-report-accent, #ef4444);
  border: 1px solid var(--spc-storm-report-accent, #ef4444);
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  min-width: 42px;
  height: 24px;
  padding: 0 9px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__badge {
    border: 1px solid color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 40%, #fff3);
  }
}

.spc-storm-report-popup__badge {
  box-shadow: 0 0 0 1px #0f172a73, 0 10px 24px var(--spc-storm-report-glow, #ef444440);
  color: #fff;
  letter-spacing: .08em;
  font-size: 11px;
  font-weight: 800;
}

.spc-storm-report-dom-marker {
  filter: drop-shadow(0 6px 10px #02061799);
  display: inline-block;
  transform: translate3d(0, 0, 0);
}

.spc-storm-report-dom-marker svg rect {
  shape-rendering: geometricPrecision;
}

.spc-storm-report-popup__heading {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.spc-storm-report-popup__eyebrow {
  color: #94a3b8eb;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 600;
}

.spc-storm-report-popup__title {
  color: #f8fafc;
  letter-spacing: -.02em;
  text-shadow: 0 2px 10px #0f172a59;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}

.spc-storm-report-popup__meta {
  z-index: 1;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 0;
  display: flex;
  position: relative;
}

.spc-storm-report-popup__pill {
  background: var(--spc-storm-report-accent, #ef4444);
  border-radius: 9999px;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__pill {
    background: color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 14%, #0f172adb);
  }
}

.spc-storm-report-popup__pill {
  border: 1px solid var(--spc-storm-report-accent, #ef4444);
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__pill {
    border: 1px solid color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 32%, #ffffff14);
  }
}

.spc-storm-report-popup__pill {
  color: #eaf2ff;
  letter-spacing: .05em;
  font-size: .68rem;
  font-weight: 700;
}

.spc-storm-report-popup__pill--muted {
  color: #cbd5e1e0;
  background: #0f172ab8;
  border-color: #94a3b824;
}

.spc-storm-report-popup__grid {
  z-index: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 20px;
  display: grid;
  position: relative;
}

.spc-storm-report-popup__card {
  -webkit-backdrop-filter: blur(18px);
  background: linear-gradient(#0f172ab3, #020617bd);
  border: 1px solid #94a3b81f;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px 14px 13px;
  display: flex;
  box-shadow: inset 0 1px #ffffff08, 0 14px 28px #0206172e;
}

.spc-storm-report-popup__card--accent {
  background: linear-gradient(135deg, var(--spc-storm-report-accent, #ef4444), #020617cc 75%), linear-gradient(180deg, #ffffff08, transparent);
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__card--accent {
    background: linear-gradient(135deg, color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 18%, #0f172ac7), #020617cc 75%), linear-gradient(180deg, #ffffff08, transparent);
  }
}

.spc-storm-report-popup__card--accent {
  border-color: var(--spc-storm-report-accent, #ef4444);
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__card--accent {
    border-color: color-mix(in srgb, var(--spc-storm-report-accent, #ef4444) 45%, #94a3b81f);
  }
}

.spc-storm-report-popup__card--accent {
  box-shadow: inset 0 1px 0 #ffffff0d, 0 18px 34px var(--spc-storm-report-glow, #ef444433);
}

@supports (color: color-mix(in lab, red, red)) {
  .spc-storm-report-popup__card--accent {
    box-shadow: inset 0 1px 0 #ffffff0d, 0 18px 34px color-mix(in srgb, var(--spc-storm-report-glow, #ef444433) 60%, transparent);
  }
}

.spc-storm-report-popup__card--wide {
  grid-column: 1 / -1;
}

.spc-storm-report-popup__label {
  color: #94a3b8cc;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 800;
}

.spc-storm-report-popup__value {
  color: #f8fafc;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.35;
}

.spc-storm-report-popup__remark {
  color: #cbd5e1;
  white-space: normal;
  z-index: 1;
  background: #0f172a6b;
  border: 1px solid #94a3b81f;
  border-radius: 14px;
  margin: 0 20px 18px;
  padding: 12px 14px;
  font-size: .78rem;
  line-height: 1.55;
  position: relative;
  box-shadow: inset 0 1px #ffffff08;
}

@media (max-width: 640px) {
  .spc-storm-report-popup-wrapper .leaflet-popup-content {
    width: min(300px, 100vw - 72px) !important;
  }

  .spc-storm-report-popup__grid {
    grid-template-columns: 1fr;
  }
}

.stormcast-prob-cone {
  filter: drop-shadow(0 0 18px #f59e0b38);
  mix-blend-mode: screen;
  transition: opacity .25s, filter .25s;
  animation: 6s ease-in-out infinite pulse-cone;
}

.stormcast-forecast-circle {
  filter: drop-shadow(0 0 10px #fb923c59);
  mix-blend-mode: screen;
}

.stormcast-track-line-glow {
  filter: blur(1px) drop-shadow(0 0 10px #f9731659);
}

.stormcast-track-line {
  filter: drop-shadow(0 0 8px #facc1573);
  animation: 16s linear infinite dash-move;
}

.stormcast-track-tick-ring {
  filter: drop-shadow(0 0 8px #fde0474d);
}

.stormcast-track-tick {
  filter: drop-shadow(0 0 6px #fde04773);
}

@keyframes pulse-cone {
  0% {
    opacity: .62;
  }

  50% {
    opacity: .82;
  }

  100% {
    opacity: .62;
  }
}

@keyframes dash-move {
  to {
    stroke-dashoffset: -100px;
  }
}

.alert-card-glow {
  position: relative;
  overflow: hidden;
}

.alert-card-glow:before {
  content: "";
  background: linear-gradient(135deg, var(--alert-glow-color, #ffffff1a) 0%, transparent 50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.alert-card-glow:hover:before {
  opacity: 1;
}

.alert-card-glow:after {
  content: "";
  background: linear-gradient(135deg, var(--alert-glow-color, #ffffff4d) 0%, transparent 60%);
  border-radius: inherit;
  z-index: -1;
  opacity: 0;
  transition: opacity .3s;
  position: absolute;
  inset: -1px;
}

.alert-card-glow:hover:after {
  opacity: 1;
}

.severity-badge {
  position: relative;
  overflow: hidden;
}

.severity-badge:before {
  content: "";
  opacity: .5;
  background: linear-gradient(135deg, #ffffff4d 0%, #0000 50%);
  position: absolute;
  inset: 0;
}

.severity-badge-pulse {
  animation: 2s ease-in-out infinite severity-pulse;
}

@keyframes severity-pulse {
  0%, 100% {
    box-shadow: 0 0 5px;
  }

  50% {
    box-shadow: 0 0 20px, 0 0 40px;
  }
}

.alert-card-hover {
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
}

.alert-card-border {
  position: relative;
}

.alert-card-border:before {
  content: "";
  border-radius: inherit;
  background: linear-gradient(135deg, var(--alert-glow-color, #ffffff4d), transparent 50%);
  -webkit-mask-composite: xor;
  opacity: .5;
  padding: 1px;
  transition: opacity .3s;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source;
}

.alert-card-border:hover:before {
  opacity: 1;
}

.severity-icon-container {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.severity-icon-container:before {
  content: "";
  border-radius: inherit;
  background: radial-gradient(circle at center, var(--alert-glow-color, #ffffff4d) 0%, transparent 70%);
  opacity: .6;
  animation: 3s ease-in-out infinite icon-glow;
  position: absolute;
  inset: -4px;
}

@keyframes icon-glow {
  0%, 100% {
    opacity: .6;
    transform: scale(1);
  }

  50% {
    opacity: .8;
    transform: scale(1.1);
  }
}

.modal-glow {
  box-shadow: 0 25px 80px -20px #000c, 0 0 60px var(--alert-glow-color, #ffffff1a);
}

.gradient-text {
  background: linear-gradient(135deg, #fff 0%, #ffffffb3 100%);
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

.shimmer {
  background: linear-gradient(90deg, #fff0 0%, #ffffff0d 50%, #fff0 100%) 0 0 / 200% 100%;
  animation: 2s infinite shimmer;
}

.filter-btn-active {
  color: #000;
  background: linear-gradient(135deg, #fffffff2 0%, #ffffffe6 100%);
  box-shadow: 0 4px 20px #ffffff4d;
}

.alert-card-hover {
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  position: relative;
}

.alert-card-hover:before {
  content: "";
  background: radial-gradient(circle at top right, var(--alert-glow-color, #3b82f61a), transparent 50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.alert-card-hover:hover {
  box-shadow: 0 20px 40px -10px #00000080, 0 0 0 1px #ffffff1a, var(--card-glow, 0 0 30px #3b82f626);
  transform: translateY(-2px);
}

.alert-card-hover:hover:before {
  opacity: 1;
}

.severity-badge-pulse {
  position: relative;
}

.severity-badge-pulse:before {
  content: "";
  border-radius: inherit;
  background: inherit;
  filter: blur(8px);
  opacity: .4;
  animation: 2s ease-in-out infinite severityPulse;
  position: absolute;
  inset: -2px;
}

@keyframes severityPulse {
  0%, 100% {
    opacity: .4;
    transform: scale(1);
  }

  50% {
    opacity: .6;
    transform: scale(1.02);
  }
}

.alert-select {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, #0f172acc 0%, #1e293b99 100%);
  border: 1px solid #6366f133;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.alert-select:hover {
  background: linear-gradient(135deg, #1e293be6 0%, #334155b3 100%);
  border-color: #6366f166;
  box-shadow: 0 4px 20px #6366f133, 0 0 0 1px #6366f11a;
}

.alert-select:focus {
  border-color: #6366f199;
  box-shadow: 0 0 0 3px #6366f126, 0 4px 20px #6366f133;
}

.status-badge {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  transition: all .2s;
  position: relative;
}

.status-badge:hover {
  background: #ffffff1a;
  border-color: #fff3;
  transform: translateY(-1px);
}

.timestamp-display {
  color: #60a5fa;
  text-shadow: 0 0 10px #3b82f680;
  background: linear-gradient(135deg, #3b82f633 0%, #3b82f60d 100%);
  border: 1px solid #3b82f64d;
  border-radius: 6px;
  padding: 4px 12px;
  font-family: JetBrains Mono, monospace;
}

.empty-state {
  background: linear-gradient(135deg, #ffffff08 0%, #ffffff03 100%);
  border: 1px solid #ffffff14;
}

.error-state {
  background: linear-gradient(135deg, #ef444426 0%, #ef44440d 100%);
  border: 1px solid #ef44444d;
  animation: 2s ease-in-out infinite error-pulse;
}

@keyframes error-pulse {
  0%, 100% {
    box-shadow: 0 0 20px #ef444433;
  }

  50% {
    box-shadow: 0 0 40px #ef444466;
  }
}

.show-more-btn {
  background: linear-gradient(135deg, #ffffff1a 0%, #ffffff0d 100%);
  border: 1px solid #ffffff26;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.show-more-btn:before {
  content: "";
  opacity: 0;
  background: linear-gradient(135deg, #fff3 0%, #0000 50%);
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.show-more-btn:hover {
  border-color: #ffffff40;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px -10px #00000080;
}

.show-more-btn:hover:before {
  opacity: 1;
}

.end-of-list {
  position: relative;
}

.end-of-list:before, .end-of-list:after {
  content: "";
  background: linear-gradient(90deg, #0000, #fff3, #0000);
  width: 60px;
  height: 1px;
  position: absolute;
  top: 50%;
}

.end-of-list:before {
  right: calc(50% + 40px);
}

.end-of-list:after {
  left: calc(50% + 40px);
}

.modal-backdrop {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #000000d9;
}

.modal-header-gradient {
  background: linear-gradient(135deg, #ffffff14 0%, #0000 100%);
  border-bottom: 1px solid #ffffff14;
}

.info-card {
  background: linear-gradient(135deg, #ffffff0d 0%, #ffffff05 100%);
  border: 1px solid #ffffff14;
  transition: all .2s;
}

.info-card:hover {
  background: linear-gradient(135deg, #ffffff14 0%, #ffffff08 100%);
  border-color: #ffffff1f;
  transform: translateY(-2px);
}

.description-block {
  background: linear-gradient(#0006 0%, #0000004d 100%);
  border: 1px solid #ffffff14;
  box-shadow: inset 0 2px 10px #0000004d;
}

.instructions-block {
  background: linear-gradient(#eab3081a 0%, #eab3080d 100%);
  border: 1px solid #eab30833;
  box-shadow: inset 0 2px 10px #0003, 0 0 20px #eab3081a;
}

.close-btn {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  transition: all .2s;
}

.close-btn:hover {
  background: #ffffff1a;
  border-color: #fff3;
  transform: rotate(90deg);
}

.section-header {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ffffff80;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 700;
  display: flex;
}

.section-header-icon {
  color: #fff6;
}

.affected-areas {
  background: linear-gradient(#0000004d 0%, #0003 100%);
  border: 1px solid #ffffff0f;
}

.back-btn {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  transition: all .2s;
}

.back-btn:hover {
  background: #ffffff1a;
  border-color: #fff3;
  transform: translateX(-2px);
}

.header-title {
  background: linear-gradient(135deg, #fff 0%, #fffc 100%);
  color: #0000;
  text-shadow: 0 2px 20px #ffffff1a;
  -webkit-background-clip: text;
  background-clip: text;
}

.alert-icon-pulse {
  animation: 2s ease-in-out infinite alert-icon-pulse;
}

@keyframes alert-icon-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 5px);
    transform: scale(1);
  }

  50% {
    filter: drop-shadow(0 0 15px);
    transform: scale(1.05);
  }
}

.alert-map-container {
  background: linear-gradient(#0006 0%, #0000004d 100%);
  border: 1px solid #ffffff1a;
  box-shadow: inset 0 2px 10px #0000004d;
}

.filter-container {
  background: linear-gradient(135deg, #ffffff0d 0%, #ffffff05 100%);
  border: 1px solid #ffffff1a;
  border-radius: 10px;
  padding: 4px;
}

:root {
  --glow-extreme: #f9731666;
  --glow-severe: #ef444466;
  --glow-moderate: #f59e0b66;
  --glow-minor: #3b82f666;
  --glow-unknown: #94a3b866;
}

.loading-spinner {
  border: 2px solid #3b82f633;
  border-top-color: #3b82f6;
  box-shadow: 0 0 10px #3b82f64d;
}

.alerts-page-bg {
  position: relative;
}

.alerts-page-bg:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 20% 30%, #0366d614 0%, #0000 40%), radial-gradient(circle at 80% 70%, #00c2ff0f 0%, #0000 40%), radial-gradient(circle, #3b82f60a 0%, #0000 50%);
  animation: 15s ease-in-out infinite color-shift;
  position: fixed;
  inset: 0;
}

@keyframes color-shift {
  0%, 100% {
    background: radial-gradient(circle at 20% 30%, #0366d614 0%, #0000 40%), radial-gradient(circle at 80% 70%, #00c2ff0f 0%, #0000 40%), radial-gradient(circle, #3b82f60a 0%, #0000 50%);
  }

  25% {
    background: radial-gradient(circle at 25% 35%, #00c2ff17 0%, #0000 45%), radial-gradient(circle at 75% 65%, #0366d612 0%, #0000 45%), radial-gradient(circle at 45% 55%, #6366f10d 0%, #0000 55%);
  }

  50% {
    background: radial-gradient(circle at 30% 40%, #6366f114 0%, #0000 40%), radial-gradient(circle at 70% 60%, #8b5cf60f 0%, #0000 40%), radial-gradient(circle at 55% 45%, #00c2ff0d 0%, #0000 50%);
  }

  75% {
    background: radial-gradient(circle at 25% 35%, #00c2ff17 0%, #0000 45%), radial-gradient(circle at 75% 65%, #0366d612 0%, #0000 45%), radial-gradient(circle at 45% 55%, #3b82f60d 0%, #0000 55%);
  }
}

@keyframes card-entrance {
  from {
    opacity: 0;
    transform: translateY(20px)scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.card-entrance {
  animation: .5s cubic-bezier(.34, 1.56, .64, 1) forwards card-entrance;
}

.card-entrance-delay-1 {
  animation-delay: 50ms;
}

.card-entrance-delay-2 {
  animation-delay: .1s;
}

.card-entrance-delay-3 {
  animation-delay: .15s;
}

.card-entrance-delay-4 {
  animation-delay: .2s;
}

.card-entrance-delay-5 {
  animation-delay: .25s;
}

.hover-lift {
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -15px #0006;
}

.glass-card {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  background: linear-gradient(135deg, #ffffff14 0%, #ffffff08 100%);
  border: 1px solid #ffffff1a;
}

.neon-text {
  text-shadow: 0 0 10px, 0 0 20px, 0 0 30px;
}

.grid-pattern {
  background-image: linear-gradient(#ffffff05 1px, #0000 1px), linear-gradient(90deg, #ffffff05 1px, #0000 1px);
  background-size: 50px 50px;
}

@keyframes float-subtle {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

.float-subtle {
  animation: 4s ease-in-out infinite float-subtle;
}

@keyframes pulse-ring {
  0% {
    opacity: .8;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}

.pulse-ring:before {
  content: "";
  border-radius: inherit;
  border: 2px solid;
  animation: 2s ease-out infinite pulse-ring;
  position: absolute;
  inset: 0;
}

@keyframes gradient-rotate {
  0% {
    background-position: 0%;
  }

  50% {
    background-position: 100%;
  }

  100% {
    background-position: 0%;
  }
}

.gradient-border {
  background: linear-gradient(135deg, #ffffff1a 0%, #ffffff0d 100%);
  border: none;
  position: relative;
}

.gradient-border:before {
  content: "";
  border-radius: inherit;
  background: linear-gradient(135deg, var(--alert-glow-color, #ffffff80), transparent 50%, var(--alert-glow-color, #ffffff4d));
  -webkit-mask-composite: xor;
  background-size: 200% 200%;
  padding: 1px;
  animation: 3s infinite gradient-rotate;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source;
}

.interactive-element {
  transition: all .2s cubic-bezier(.34, 1.56, .64, 1);
}

.interactive-element:hover {
  transform: scale(1.02);
}

.interactive-element:active {
  transform: scale(.98);
}

.focus-ring:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #3b82f680, 0 0 0 4px #3b82f633;
}

.smooth-scroll {
  scroll-behavior: smooth;
}

::selection {
  color: #fff;
  background: #3b82f64d;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.storm-path-tooltip {
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
  color: #fc0 !important;
  white-space: nowrap !important;
  letter-spacing: .5px !important;
  background: #0f172ad9 !important;
  border: 1px solid #ffaa0080 !important;
  border-left: 2px solid #ff7300 !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 4px #00000080 !important;
}

.storm-path-tooltip:before {
  display: none !important;
}

:root {
  --ew-bg-deep: #060c1a;
  --ew-bg-card: #0a1224d1;
  --ew-border: #94a3b81a;
  --ew-border-hover: #94a3b838;
  --ew-cyan: #22d3ee;
  --ew-amber: #f59e0b;
  --ew-green: #34d399;
  --ew-purple: #a78bfa;
  --ew-slate: #94a3b8;
  --ew-steel: #475569;
  --ew-text: #e2e8f0;
  --ew-text-muted: #94a3b8;
  --ew-radius: 14px;
}

.ew-homepage {
  background: var(--ew-bg-deep);
  min-height: 100vh;
  color: var(--ew-text);
  font-family: var(--font-display, var(--font-sans, Inter, system-ui, sans-serif));
  transition: opacity .28s cubic-bezier(.22, 1, .36, 1), transform .28s cubic-bezier(.22, 1, .36, 1), filter .28s cubic-bezier(.22, 1, .36, 1);
  position: relative;
  overflow-x: hidden;
}

.ew-homepage--launching {
  opacity: 0;
  filter: blur(10px);
  pointer-events: none;
  will-change: opacity, transform, filter;
  transform: translateY(-10px);
}

.ew-map-bg {
  z-index: 0;
  pointer-events: none;
  position: fixed;
  inset: 0;
}

.homepage-map-container {
  z-index: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
}

.homepage-map-container .leaflet-container {
  pointer-events: none !important;
}

.homepage-map-scrim {
  z-index: 1;
  background: radial-gradient(ellipse 120% 120% at 50% 50%, transparent 30%, var(--ew-bg-deep) 100%), linear-gradient(180deg, #060c1a80 0%, #060c1a4d 30%, #060c1a8c 70%, #060c1aeb 100%);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.ew-reveal {
  opacity: 0;
  will-change: opacity, transform;
  transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
  transform: translateY(24px);
}

.ew-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}

.ew-trust-bar {
  z-index: 50;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--ew-border);
  background: #060c1ab8;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.ew-trust-bar__inner {
  letter-spacing: .06em;
  text-transform: uppercase;
  max-width: 1200px;
  color: var(--ew-text-muted);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0 auto;
  padding: 8px 20px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.ew-trust-bar__status {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ew-trust-bar__label {
  font-weight: 700;
}

.ew-trust-bar__time {
  color: var(--ew-slate);
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: 4px;
  display: flex;
}

.ew-trust-bar__markers {
  color: var(--ew-steel);
  align-items: center;
  gap: 8px;
  display: none;
}

@media (min-width: 640px) {
  .ew-trust-bar__markers {
    display: flex;
  }
}

.ew-trust-bar__sep {
  color: var(--ew-steel);
  opacity: .4;
}

.ew-status-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.ew-status-dot--live {
  background: var(--ew-green);
  box-shadow: 0 0 6px var(--ew-green);
  animation: 2.5s ease-in-out infinite ew-pulse-dot;
}

.ew-status-dot--offline {
  background: var(--ew-steel);
}

@keyframes ew-pulse-dot {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .4;
  }
}

.ew-hero {
  z-index: 10;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 100px 20px 60px;
  display: flex;
  position: relative;
}

.ew-hero__content {
  text-align: center;
  max-width: 720px;
}

.ew-hero__brand {
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  display: flex;
}

@media (min-width: 640px) {
  .ew-hero__brand {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 28px;
  }
}

.ew-hero__logo-wrap {
  flex-shrink: 0;
  align-items: stretch;
  display: flex;
  position: relative;
}

.ew-hero__logo {
  filter: drop-shadow(0 4px 20px #22d3ee2e);
  object-fit: contain;
  border-radius: 18px;
  width: auto;
  height: auto;
  min-height: 100%;
}

.ew-hero__text {
  text-align: left;
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.ew-hero__title {
  letter-spacing: -.03em;
  background: linear-gradient(135deg, var(--ew-cyan), #38bdf8, #818cf8);
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  padding: .1em 0;
  font-size: 3.6rem;
  font-weight: 800;
  line-height: 1.15;
}

@media (min-width: 640px) {
  .ew-hero__title {
    font-size: 5rem;
  }
}

@media (min-width: 1024px) {
  .ew-hero__title {
    font-size: 5.8rem;
  }
}

.ew-hero__subtitle {
  color: var(--ew-text-muted);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: -4px 0 0;
  font-size: 1.05rem;
  font-weight: 500;
}

@media (min-width: 640px) {
  .ew-hero__subtitle {
    letter-spacing: .22em;
    font-size: 1.25rem;
  }
}

.ew-hero__description {
  color: var(--ew-text-muted);
  max-width: 540px;
  margin: 0 auto 28px;
  font-size: .95rem;
  line-height: 1.7;
}

@media (min-width: 640px) {
  .ew-hero__description {
    font-size: 1.05rem;
  }
}

.ew-hero__cta-group {
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  display: flex;
}

@media (min-width: 640px) {
  .ew-hero__cta-group {
    flex-direction: row;
    justify-content: center;
  }
}

.ew-btn {
  cursor: pointer;
  font-size: .95rem;
  font-weight: 700;
  font: inherit;
  line-height: inherit;
  appearance: none;
  border: 1px solid #0000;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 12px 26px;
  text-decoration: none;
  transition: all .22s;
  display: inline-flex;
}

.ew-btn:disabled {
  cursor: progress;
  opacity: .72;
  transform: none;
  box-shadow: 0 4px 20px #22d3ee2e;
}

.ew-btn--primary {
  background: linear-gradient(135deg, var(--ew-cyan), #0ea5e9);
  color: #040f1e;
  box-shadow: 0 4px 20px #22d3ee40;
}

.ew-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px #22d3ee61;
}

.ew-btn--alert {
  color: var(--ew-amber);
  background: #f59e0b1a;
  border-color: #f59e0b4d;
  padding-left: 34px;
  position: relative;
}

.ew-btn--alert:hover {
  background: #f59e0b2e;
  border-color: #f59e0b80;
}

.ew-btn__pulse {
  background: var(--ew-amber);
  width: 10px;
  height: 10px;
  box-shadow: 0 0 8px var(--ew-amber);
  border-radius: 50%;
  animation: 2s ease-in-out infinite ew-pulse-dot;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}

.ew-btn--ghost {
  color: var(--ew-text-muted);
  border-color: var(--ew-border);
  background: #ffffff0a;
}

.ew-btn--ghost:hover {
  border-color: var(--ew-border-hover);
  color: var(--ew-text);
  background: #ffffff14;
}

.ew-map-launch-transition__rail, .ew-map-launch-transition__content {
  will-change: opacity, transform;
}

.ew-map-launch-transition__rail {
  opacity: 0;
  transition: opacity .4s cubic-bezier(.22, 1, .36, 1), transform .52s cubic-bezier(.22, 1, .36, 1);
  transform: translateY(-28px);
}

.ew-map-launch-transition__rail--ready {
  opacity: 1;
  transform: translateY(0);
}

.ew-map-launch-transition__content {
  opacity: 0;
  transition: opacity .34s .12s;
}

.ew-map-launch-transition__content--ready {
  opacity: 1;
}

.ew-map-shell {
  height: 100dvh;
  color: var(--ew-text);
  font-family: var(--font-display, var(--font-sans, Inter, system-ui, sans-serif));
  background: radial-gradient(140% 120% at 8% 8%, #22d3ee1f, #0000 48%), radial-gradient(120% 90% at 92% 12%, #f59e0b14, #0000 45%), linear-gradient(#060c1afa, #060c1af2);
  display: flex;
  overflow: hidden;
}

.ew-map-sidebar-shell {
  border-right: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224f5, #060c1aeb);
  box-shadow: 22px 0 40px #02061759;
}

.ew-map-main {
  background: none;
}

.ew-map-mobile-menu-btn {
  color: var(--ew-text-muted);
  border: 1px solid var(--ew-border);
  -webkit-backdrop-filter: blur(14px) saturate(145%);
  background: #060c1ae6;
  box-shadow: 0 14px 36px #02061773;
}

.ew-map-mobile-menu-btn:hover {
  color: var(--ew-text);
  border-color: var(--ew-border-hover);
  background: #0a1224f5;
}

.ew-map-loading-pill {
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: #060c1adb;
  border: 1px solid #f59e0b38;
  border-radius: 999px;
  align-items: center;
  gap: .62rem;
  padding: .5rem .95rem;
  display: flex;
  box-shadow: 0 14px 34px #02061773;
}

.ew-map-loading-pill__label {
  color: var(--ew-text);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 700;
}

.ew-map-topbar {
  z-index: 400;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  border: 1px solid var(--ew-border);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: #060c1ad6;
  border-radius: .9rem;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  min-width: 15rem;
  padding: .55rem 1.1rem;
  transition: background .24s, border-color .24s, transform .24s;
  display: flex;
  position: absolute;
  top: .72rem;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 14px 28px #02061773;
}

.ew-map-topbar--live {
  border-color: var(--ew-green);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-topbar--live {
    border-color: color-mix(in srgb, var(--ew-green) 35%, var(--ew-border));
  }
}

.ew-map-topbar--live {
  background: #071414db;
}

.ew-map-topbar__row {
  align-items: center;
  gap: .62rem;
  display: flex;
}

.ew-map-topbar__time {
  color: var(--ew-cyan);
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1;
}

.ew-map-topbar__date {
  color: var(--ew-text-muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 700;
}

.ew-map-topbar__divider {
  background: var(--ew-border);
  width: 1px;
  height: 1.05rem;
}

.ew-map-topbar__rule {
  background: linear-gradient(90deg, transparent, var(--ew-border), transparent);
  width: 100%;
  height: 1px;
}

.ew-map-topbar__coords-wrap {
  transform-origin: top;
}

.ew-map-latlon-display {
  color: var(--ew-steel);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .68rem;
  font-weight: 700;
}

.ew-map-side-rail {
  border-right: 1px solid var(--ew-border);
  z-index: 20;
  background: linear-gradient(#060c1afa, #060c1aeb);
  flex-direction: column;
  flex-shrink: 0;
  width: 3.5rem;
  height: 100%;
  min-height: 0;
  display: flex;
}

.ew-map-side-rail__logo-wrap {
  border-bottom: 1px solid var(--ew-border);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  height: 3.5rem;
  display: flex;
}

.ew-map-side-rail__logo-link {
  opacity: .86;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  transition: opacity .2s, transform .2s;
  display: flex;
}

.ew-map-side-rail__logo-link:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.ew-map-side-rail__logo {
  object-fit: contain;
  filter: drop-shadow(0 4px 14px #22d3ee33);
  border-radius: .75rem;
  width: 100%;
  height: 100%;
}

.ew-map-side-rail__content {
  flex-direction: column;
  flex: 1;
  align-items: center;
  gap: .85rem;
  min-height: 0;
  padding: 1rem 0;
  display: flex;
  overflow: hidden auto;
}

.ew-map-side-rail__button {
  color: var(--ew-text-muted);
  background: none;
  border: 1px solid #0000;
  border-radius: .78rem;
  padding: .72rem;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
}

.ew-map-side-rail__button:hover {
  color: var(--ew-cyan);
  border-color: var(--ew-border);
  background: #22d3ee14;
}

.ew-map-side-rail__button--active {
  color: #04101c;
  background: linear-gradient(135deg, var(--ew-cyan), #0ea5e9);
  border-color: #22d3ee85;
  box-shadow: 0 8px 20px #22d3ee47;
}

.ew-map-side-rail__spacer {
  flex: 1;
}

.ew-map-side-panel {
  border-left: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224eb, #060c1ae6);
}

.ew-map-side-panel__empty {
  text-align: center;
  height: 100%;
  color: var(--ew-text-muted);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  font-size: .88rem;
  font-style: italic;
  display: flex;
}

.ew-map-side-panel__empty-brand {
  color: var(--ew-steel);
  margin-bottom: .5rem;
}

.ew-map-toolbar {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.ew-map-tool-button {
  border: 1px solid var(--ew-border);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--ew-text-muted);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  background: #060c1adb;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  padding: 0;
  line-height: 1;
  transition: transform .2s, border-color .2s, color .2s, background .2s;
  display: inline-flex;
  box-shadow: 0 10px 22px #02061759;
}

.ew-map-tool-button__icon {
  flex: 0 0 1.25rem;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
}

.ew-map-tool-button__icon svg {
  display: block;
}

.ew-map-tool-button:hover {
  color: var(--ew-text);
  border-color: var(--ew-border-hover);
  background: #0a1224f2;
}

.ew-map-tool-button:active {
  transform: scale(.95);
}

.ew-map-tool-button--active {
  color: #04101c;
  background: linear-gradient(135deg, var(--ew-cyan), #0ea5e9);
  border-color: #22d3ee85;
  box-shadow: 0 12px 24px #22d3ee4d;
}

.ew-map-playback-footer {
  border: 1px solid var(--ew-border);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  background: #060c1ad1;
  box-shadow: 0 16px 36px #02061766;
}

.ew-map-playback-footer--sidebar {
  border-top: 1px solid var(--ew-border);
  box-shadow: none;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
}

.ew-map-playback-footer--floating {
  border-radius: 1rem;
}

.ew-map-playback-footer__error {
  text-align: center;
  color: #fda4af;
  margin-top: .35rem;
  font-size: .72rem;
  font-weight: 600;
}

.ew-map-slidebar {
  border: 1px solid var(--ew-border);
  background: linear-gradient(#ffffff0b, #ffffff05);
  border-radius: .9rem;
  padding: .7rem;
}

.ew-map-slidebar__track-wrap {
  align-items: center;
  width: 100%;
  height: 1rem;
  margin-bottom: .45rem;
  padding: 0 .25rem;
  display: flex;
  position: relative;
}

.ew-map-slidebar__track-bg {
  background: linear-gradient(90deg, #22d3ee66, #22d3ee33, #94a3b84d);
  border-radius: 999px;
  height: .38rem;
  position: absolute;
  left: .25rem;
  right: .25rem;
  overflow: hidden;
}

.ew-map-slidebar__track-progress {
  background: linear-gradient(90deg, var(--ew-cyan), #38bdf8);
  border-radius: 999px;
  height: 100%;
  transition: width .15s;
}

.ew-map-slidebar__input {
  appearance: none;
  cursor: pointer;
  accent-color: #22d3ee;
  background: none;
  border-radius: .5rem;
  width: 100%;
  height: 1rem;
}

.ew-map-slidebar__input:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #22d3ee73;
}

.ew-map-slidebar__controls-shell {
  border: 1px solid var(--ew-border);
  border-radius: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-slidebar__controls-shell {
    border: 1px solid color-mix(in srgb, var(--ew-border) 92%, transparent);
  }
}

.ew-map-slidebar__controls-shell {
  background: #02061766;
  padding: .35rem;
}

.ew-map-slidebar__control {
  color: var(--ew-text-muted);
  background: none;
  border: 1px solid #0000;
  border-radius: .7rem;
  justify-content: center;
  align-items: center;
  padding: .38rem;
  transition: color .2s, border-color .2s, background .2s;
  display: flex;
}

.ew-map-slidebar__control:hover {
  color: var(--ew-text);
  border-color: var(--ew-border);
  background: #ffffff0d;
}

.ew-map-slidebar__control--active {
  color: var(--ew-cyan);
  background: #22d3ee1f;
  border-color: #22d3ee47;
}

.ew-map-slidebar__control-icon {
  color: inherit;
  background: #ffffff0f;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .24rem;
  display: inline-flex;
}

.ew-map-slidebar__control-icon--active {
  background: linear-gradient(135deg, var(--ew-cyan), #0ea5e9);
  color: #04101c;
}

.ew-map-colormap {
  z-index: 500;
  -webkit-user-select: none;
  user-select: none;
  border-top: 1px solid var(--ew-border);
  background: #060c1ae6;
  align-items: stretch;
  height: 1.75rem;
  min-height: 1.6rem;
  display: flex;
}

.ew-map-colormap:hover {
  background: #0a1224eb;
}

.ew-map-colormap--empty {
  background: #060c1af5;
}

.ew-map-colormap--desktop-only {
  display: none;
}

.ew-map-colormap__left, .ew-map-colormap__right {
  z-index: 20;
  background: #060c1af5;
  flex-shrink: 0;
  align-items: center;
  padding: 0 .7rem;
  display: flex;
}

.ew-map-colormap__left {
  border-right: 1px solid var(--ew-border);
  gap: .5rem;
}

.ew-map-colormap__right {
  border-left: 1px solid var(--ew-border);
}

.ew-map-colormap__center {
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.ew-map-colormap__name {
  color: var(--ew-text);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: .62rem;
  font-weight: 700;
}

.ew-map-colormap__units {
  color: var(--ew-text-muted);
  border-left: 1px solid var(--ew-border);
  white-space: nowrap;
  padding-left: .5rem;
  font-size: .62rem;
  font-weight: 600;
}

.ew-map-colormap__caret-wrap {
  border-left: 1px solid var(--ew-border);
  align-items: center;
  margin-left: .35rem;
  padding-left: .5rem;
}

.ew-map-colormap__caret {
  width: .75rem;
  height: .75rem;
  color: var(--ew-text-muted);
  transition: transform .2s;
}

.ew-map-colormap__overlay {
  background: linear-gradient(#0000000a, #0000002e);
}

.ew-map-colormap__tick {
  color: #fff;
  text-shadow: 0 1px 2px #000000d1;
  font-size: .6rem;
  font-weight: 700;
}

.ew-map-colormap__attribution {
  color: var(--ew-steel);
  letter-spacing: .04em;
  font-size: .55rem;
  font-weight: 600;
}

.ew-map-colormap__empty-label {
  color: var(--ew-steel);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .62rem;
  font-weight: 700;
}

.ew-map-colormap__menu {
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  border: 1px solid var(--ew-border-hover);
  z-index: 1000;
  background: #060c1af5;
  border-radius: .65rem;
  flex-direction: column;
  display: flex;
  overflow: hidden;
  box-shadow: 0 16px 34px #02061773;
}

.ew-map-colormap__menu-header {
  border-bottom: 1px solid var(--ew-border);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ew-text-muted);
  background: #020617b3;
  padding: .52rem .75rem;
  font-size: .62rem;
  font-weight: 700;
}

.ew-map-colormap__menu-item {
  cursor: pointer;
  color: var(--ew-text);
  justify-content: space-between;
  align-items: center;
  padding: .52rem .75rem;
  font-size: .75rem;
  transition: background .18s;
  display: flex;
}

.ew-map-colormap__menu-item:hover {
  background: #ffffff0f;
}

.ew-map-colormap__menu-item--active {
  color: var(--ew-cyan);
  background: #22d3ee1f;
}

.ew-map-mobile-dock {
  border: 1px solid var(--ew-border);
  flex-direction: column;
  gap: .45rem;
  display: flex;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-mobile-dock {
    border: 1px solid color-mix(in srgb, var(--ew-border) 92%, transparent);
  }
}

.ew-map-mobile-dock {
  -webkit-backdrop-filter: blur(20px) saturate(135%);
  padding: .55rem .55rem calc(.5rem + env(safe-area-inset-bottom));
  background: linear-gradient(#070d1df7, #060c1af0);
  border-radius: 1.1rem;
  box-shadow: 0 18px 42px #02061757;
}

.ew-map-mobile-colormap-strip {
  z-index: 2;
  position: relative;
}

.ew-map-mobile-colormap-strip__trigger, .ew-map-mobile-colormap-strip--empty {
  border: 1px solid var(--ew-border);
  width: 100%;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-mobile-colormap-strip__trigger, .ew-map-mobile-colormap-strip--empty {
    border: 1px solid color-mix(in srgb, var(--ew-border) 88%, transparent);
  }
}

.ew-map-mobile-colormap-strip__trigger, .ew-map-mobile-colormap-strip--empty {
  text-align: left;
  background: #091122c2;
  border-radius: .72rem;
  padding: .32rem .5rem .38rem;
}

.ew-map-mobile-colormap-strip__meta-row {
  justify-content: flex-start;
  align-items: center;
  gap: .55rem;
  display: flex;
}

.ew-map-mobile-playback-modern__eyebrow {
  color: var(--ew-steel);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .6rem;
  font-weight: 700;
}

.ew-map-mobile-colormap-strip__title-row {
  align-items: center;
  gap: .38rem;
  min-width: 0;
  margin-top: 0;
  display: flex;
}

.ew-map-mobile-colormap-strip__name, .ew-map-mobile-playback-modern__status {
  color: var(--ew-text);
  letter-spacing: .01em;
  font-size: .8rem;
  font-weight: 700;
}

.ew-map-mobile-colormap-strip__name {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ew-map-mobile-colormap-strip__units, .ew-map-mobile-playback-modern__frame-chip {
  border: 1px solid var(--ew-border);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 1.35rem;
  padding: .08rem .42rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-mobile-colormap-strip__units, .ew-map-mobile-playback-modern__frame-chip {
    border: 1px solid color-mix(in srgb, var(--ew-border) 84%, transparent);
  }
}

.ew-map-mobile-colormap-strip__units, .ew-map-mobile-playback-modern__frame-chip {
  color: var(--ew-text-muted);
  background: #ffffff0b;
  font-size: .58rem;
  font-weight: 600;
}

.ew-map-mobile-colormap-strip__gradient-shell, .ew-map-mobile-colormap-strip__gradient-shell {
  background: #04081373;
  border: 1px solid #ffffff14;
  border-radius: .58rem;
  min-height: 1.12rem;
  margin-top: .3rem;
  position: relative;
  overflow: hidden;
}

.ew-map-mobile-colormap-strip__gradient, .ew-map-mobile-colormap-strip__gradient {
  position: absolute;
  inset: 0;
}

.ew-map-mobile-colormap-strip__gradient-overlay, .ew-map-mobile-colormap-strip__gradient-overlay {
  background: linear-gradient(#ffffff08, #0000002e);
  position: absolute;
  inset: 0;
}

.ew-map-mobile-colormap-strip__tick {
  color: #f8fafc;
  text-shadow: 0 1px 3px #000000e0;
  z-index: 1;
  font-size: .48rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.ew-map-mobile-colormap-strip__tick--start {
  transform: translate(6px, -50%);
}

.ew-map-mobile-colormap-strip__tick--end {
  transform: translate(calc(-100% - 6px), -50%);
}

.ew-map-mobile-colormap-strip__empty-label {
  color: var(--ew-text-muted);
  text-align: center;
  font-size: .8rem;
  font-weight: 600;
}

.ew-map-mobile-playback-modern {
  border: 1px solid var(--ew-border);
  border-radius: .9rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-mobile-playback-modern {
    border: 1px solid color-mix(in srgb, var(--ew-border) 88%, transparent);
  }
}

.ew-map-mobile-playback-modern {
  background: linear-gradient(#ffffff0b, #ffffff05);
  padding: .6rem;
}

.ew-map-mobile-playback-modern__header {
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  margin-bottom: .45rem;
  display: flex;
}

.ew-map-mobile-playback-modern__slider-wrap {
  align-items: center;
  min-height: 1.45rem;
  display: flex;
  position: relative;
}

.ew-map-mobile-playback-modern__slider-track {
  background: linear-gradient(90deg, #94a3b82e, #94a3b852);
  border-radius: 999px;
  height: .38rem;
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
}

.ew-map-mobile-playback-modern__slider-progress {
  background: linear-gradient(90deg, #67e8f9, #38bdf8);
  border-radius: 999px;
  height: 100%;
  box-shadow: 0 0 16px #22d3ee47;
}

.ew-map-mobile-playback-modern__slider-input {
  appearance: none;
  background: none;
  width: 100%;
  height: 1.45rem;
  margin: 0;
  position: relative;
}

.ew-map-mobile-playback-modern__slider-input::-webkit-slider-runnable-track {
  background: none;
  height: .38rem;
}

.ew-map-mobile-playback-modern__slider-input::-moz-range-track {
  background: none;
  height: .38rem;
}

.ew-map-mobile-playback-modern__slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: linear-gradient(135deg, #67e8f9, #38bdf8);
  border: 2px solid #ffffffd1;
  border-radius: 999px;
  width: 1rem;
  height: 1rem;
  margin-top: -.31rem;
  box-shadow: 0 10px 24px #0ea5e959;
}

.ew-map-mobile-playback-modern__slider-input::-moz-range-thumb {
  background: linear-gradient(135deg, #67e8f9, #38bdf8);
  border: 2px solid #ffffffd1;
  border-radius: 999px;
  width: 1rem;
  height: 1rem;
  box-shadow: 0 10px 24px #0ea5e959;
}

.ew-map-mobile-playback-modern__slider-input:focus-visible {
  outline-offset: 3px;
  border-radius: 999px;
  outline: 2px solid #22d3ee73;
}

.ew-map-mobile-playback-modern__controls {
  grid-template-columns: .8fr 1fr auto 1fr .8fr;
  align-items: center;
  gap: .4rem;
  margin-top: .6rem;
  display: grid;
}

.ew-map-mobile-playback-modern__icon-btn, .ew-map-mobile-playback-modern__play-btn {
  border: 1px solid var(--ew-border);
  border-radius: .9rem;
  justify-content: center;
  align-items: center;
  min-height: 2.45rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-map-mobile-playback-modern__icon-btn, .ew-map-mobile-playback-modern__play-btn {
    border: 1px solid color-mix(in srgb, var(--ew-border) 92%, transparent);
  }
}

.ew-map-mobile-playback-modern__icon-btn, .ew-map-mobile-playback-modern__play-btn {
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}

.ew-map-mobile-playback-modern__icon-btn {
  color: var(--ew-text-muted);
  background: #0a1224c2;
}

.ew-map-mobile-playback-modern__icon-btn--minor {
  background: #ffffff0a;
  border-radius: .8rem;
  min-height: 2.25rem;
}

.ew-map-mobile-playback-modern__play-btn {
  color: #04101c;
  background: linear-gradient(135deg, var(--ew-cyan), #38bdf8);
  border-radius: 1rem;
  width: 3rem;
  min-height: 3rem;
  box-shadow: 0 14px 28px #22d3ee3d;
}

.ew-map-mobile-playback-modern__icon-btn:disabled, .ew-map-mobile-playback-modern__play-btn:disabled {
  opacity: .48;
}

.ew-map-mobile-playback-modern__icon-btn:not(:disabled):active, .ew-map-mobile-playback-modern__play-btn:not(:disabled):active {
  transform: scale(.97);
}

.ew-map-mobile-drawer {
  border-right: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224fa, #060c1af2);
}

.ew-map-mobile-drawer__header {
  border-color: var(--ew-border);
  background: #060c1af0;
}

.ew-map-mobile-drawer__logo-wrap {
  border: 1px solid var(--ew-border);
  background: #ffffff0d;
}

.ew-map-mobile-drawer__brand {
  color: var(--ew-text);
}

.ew-map-mobile-drawer__close {
  color: var(--ew-text-muted);
}

.ew-map-mobile-drawer__close:hover {
  color: var(--ew-text);
  background: #ffffff0f;
}

.ew-map-mobile-drawer__rail {
  border-color: var(--ew-border);
  background: #060c1ae6;
}

.ew-map-mobile-drawer__rail-btn {
  color: var(--ew-text-muted);
  border: 1px solid #0000;
}

.ew-map-mobile-drawer__rail-btn:hover {
  color: var(--ew-cyan);
  border-color: var(--ew-border);
  background: #22d3ee14;
}

.ew-map-mobile-drawer__rail-btn--active {
  color: #04101c;
  background: linear-gradient(135deg, var(--ew-cyan), #0ea5e9);
  border-color: #22d3ee80;
  box-shadow: 0 10px 24px #22d3ee4d;
}

.ew-map-mobile-drawer__panel {
  background: #0a1224a8;
}

.ew-map-mobile-drawer__empty {
  color: var(--ew-text-muted);
}

.ew-map-mobile-drawer__empty-icon-wrap {
  border: 1px solid var(--ew-border);
  background: #ffffff0f;
}

.ew-map-mobile-drawer__empty-icon {
  color: var(--ew-steel);
}

@media (max-width: 1024px) {
  .ew-map-topbar {
    min-width: 13.5rem;
    padding: .5rem .95rem;
  }

  .ew-map-topbar__time {
    font-size: .95rem;
  }
}

@media (max-width: 767px) {
  .ew-map-colormap {
    height: 1.75rem;
  }

  .ew-map-colormap__attribution {
    display: none;
  }

  .ew-map-colormap__name, .ew-map-colormap__units, .ew-map-colormap__empty-label {
    font-size: .58rem;
  }

  .ew-map-colormap__tick {
    font-size: .56rem;
  }

  .ew-map-mobile-dock {
    padding: .5rem .5rem calc(.45rem + env(safe-area-inset-bottom));
    border-radius: 1rem;
    gap: .4rem;
  }

  .ew-map-mobile-colormap-strip__trigger, .ew-map-mobile-colormap-strip--empty, .ew-map-mobile-colormap-sheet {
    border-radius: .68rem;
  }

  .ew-map-mobile-colormap-strip__meta-row, .ew-map-mobile-playback-modern__header {
    gap: .5rem;
  }

  .ew-map-mobile-colormap-strip__action {
    font-size: .64rem;
  }

  .ew-map-mobile-colormap-strip__name, .ew-map-mobile-colormap-sheet__title, .ew-map-mobile-playback-modern__status {
    font-size: .74rem;
  }

  .ew-map-mobile-playback-modern__controls {
    gap: .34rem;
  }

  .ew-map-mobile-playback-modern__play-btn {
    width: 2.85rem;
    min-height: 2.85rem;
  }
}

@media (min-width: 768px) {
  .ew-map-colormap--desktop-only {
    display: flex;
  }

  .ew-map-colormap {
    height: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ew-map-topbar, .ew-map-mobile-menu-btn, .ew-map-side-rail__button, .ew-map-tool-button, .ew-map-slidebar__control, .ew-map-colormap, .ew-map-colormap__menu-item {
    transition-duration: .01ms !important;
  }
}

.ew-hero__chips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  display: flex;
}

.ew-chip {
  letter-spacing: .03em;
  color: var(--ew-text-muted);
  border: 1px solid var(--ew-border);
  background: #ffffff0a;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: .75rem;
  font-weight: 600;
  display: inline-flex;
}

.ew-not-found-page {
  flex-direction: column;
  display: flex;
}

.ew-not-found-hero {
  padding-bottom: 32px;
}

.ew-not-found-shell {
  width: min(100%, 980px);
}

.ew-not-found-brand {
  align-items: center;
  gap: clamp(18px, 3vw, 30px);
  margin-bottom: 16px;
}

.ew-not-found-heading-block {
  text-align: center;
  max-width: 34rem;
}

.ew-not-found-kicker {
  color: var(--ew-amber);
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 .75rem;
  font-size: .76rem;
  font-weight: 800;
}

.ew-not-found-code {
  letter-spacing: -.055em;
  max-width: 9ch;
  margin-inline: auto;
  font-size: clamp(3.2rem, 9vw, 6.1rem);
  line-height: .94;
}

.ew-not-found-subtitle {
  letter-spacing: .3em;
  margin-top: .9rem;
  font-size: clamp(.9rem, 1.8vw, 1.15rem);
}

.ew-not-found-description {
  text-wrap: balance;
  max-width: 40rem;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
}

.ew-not-found-actions {
  margin-bottom: 22px;
}

.ew-not-found-actions .ew-btn {
  justify-content: center;
  width: 100%;
}

.ew-not-found-chips {
  gap: 12px;
}

.ew-not-found-chip-link {
  text-decoration: none;
  transition: background .22s, border-color .22s, color .22s, transform .22s;
}

.ew-not-found-chip-link:hover {
  color: var(--ew-text);
  border-color: var(--ew-border-hover);
  background: #ffffff14;
  transform: translateY(-1px);
}

.ew-not-found-footer {
  z-index: 10;
  padding: 0 20px 32px;
  position: relative;
}

@media (min-width: 640px) {
  .ew-not-found-heading-block {
    text-align: left;
  }

  .ew-not-found-code {
    margin-inline: 0;
  }

  .ew-not-found-actions .ew-btn {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ew-homepage, .ew-btn, .ew-map-launch-transition__rail, .ew-map-launch-transition__content {
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .ew-homepage--launching, .ew-map-launch-transition__rail, .ew-map-launch-transition__content {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

.ew-content {
  z-index: 10;
  flex-direction: column;
  gap: 56px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px 60px;
  display: flex;
  position: relative;
}

.ew-section-heading {
  letter-spacing: -.01em;
  color: var(--ew-text);
  margin: 0 0 20px;
  font-size: 1.35rem;
  font-weight: 700;
}

.ew-section-heading--muted {
  color: var(--ew-text-muted);
}

.ew-status-strip {
  background: var(--ew-border);
  border-radius: var(--ew-radius);
  grid-template-columns: 1fr;
  gap: 1px;
  display: grid;
  overflow: hidden;
}

@media (min-width: 640px) {
  .ew-status-strip {
    grid-template-columns: auto auto 1fr;
  }
}

.ew-status-strip__item {
  background: var(--ew-bg-card);
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  display: flex;
}

.ew-status-strip__icon {
  color: var(--ew-cyan);
  flex-shrink: 0;
}

.ew-status-strip__value {
  color: var(--ew-text);
  font-variant-numeric: tabular-nums;
  font-size: 1.1rem;
  font-weight: 700;
  display: block;
}

.ew-status-strip__label {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ew-text-muted);
  font-size: .7rem;
  font-weight: 600;
  display: block;
}

.ew-status-strip__item--text {
  padding: 14px 20px;
}

.ew-status-strip__msg {
  color: var(--ew-text-muted);
  font-size: .82rem;
  line-height: 1.5;
}

.ew-audience-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  display: grid;
}

@media (min-width: 640px) {
  .ew-audience-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ew-audience-card {
  background: var(--ew-bg-card);
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  padding: 28px 24px;
  transition: border-color .25s, transform .25s;
}

.ew-audience-card:hover {
  border-color: var(--ew-border-hover);
  transform: translateY(-2px);
}

.ew-audience-card__icon-wrap {
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  display: flex;
}

.ew-audience-card__icon-wrap--community {
  color: var(--ew-cyan);
  background: #22d3ee1a;
}

.ew-audience-card__icon-wrap--responder {
  color: var(--ew-amber);
  background: #f59e0b1a;
}

.ew-audience-card__heading {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 700;
}

.ew-audience-card__body {
  color: var(--ew-text-muted);
  margin: 0 0 16px;
  font-size: .88rem;
  line-height: 1.6;
}

.ew-audience-card__link {
  color: var(--ew-cyan);
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: gap .2s;
  display: inline-flex;
}

.ew-audience-card__link:hover {
  gap: 10px;
}

.ew-capability-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  display: grid;
}

@media (min-width: 640px) {
  .ew-capability-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ew-capability-card {
  background: var(--ew-bg-card);
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  padding: 24px;
  transition: border-color .25s;
}

.ew-capability-card:hover {
  border-color: var(--ew-border-hover);
}

.ew-capability-card__icon {
  width: 40px;
  height: 40px;
  color: var(--card-accent, var(--ew-cyan));
  background: var(--card-accent, var(--ew-cyan));
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin-bottom: 14px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-capability-card__icon {
    background: color-mix(in srgb, var(--card-accent, var(--ew-cyan)) 10%, transparent);
  }
}

.ew-capability-card__title {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 700;
}

.ew-capability-card__body {
  color: var(--ew-text-muted);
  margin: 0;
  font-size: .82rem;
  line-height: 1.6;
}

.ew-alerts-section__header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.ew-alerts-section__header-main {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.ew-alerts-section__link {
  color: var(--ew-cyan);
  align-items: center;
  gap: 4px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: gap .2s;
  display: flex;
}

.ew-alerts-section__link:hover {
  gap: 8px;
}

.ew-alerts-section__controls {
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
  display: flex;
}

.ew-alerts-section__actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.ew-alerts-location-btn, .ew-alerts-location-clear {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

@media (max-width: 640px) {
  .ew-alerts-section__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

.ew-alerts-section__status {
  color: var(--ew-text-muted);
  font-size: .78rem;
}

.ew-alerts-section__status--error {
  color: #fda4af;
}

.ew-alert-card {
  border-radius: var(--ew-radius);
  background: var(--alert-bg, var(--ew-bg-card));
  border: 1px solid var(--alert-color, var(--ew-border));
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alert-card {
    border: 1px solid color-mix(in srgb, var(--alert-color, var(--ew-border)) 30%, transparent);
  }
}

.ew-alert-card {
  color: var(--ew-text);
  text-decoration: none;
  transition: border-color .2s, brightness .2s;
  animation: .45s ease-out both fade-in;
}

.ew-alert-card:hover {
  border-color: var(--alert-color, var(--ew-border-hover));
  filter: brightness(1.15);
}

.ew-alert-card__icon {
  color: #fff;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.ew-alert-card__body {
  flex: 1;
  min-width: 0;
}

.ew-alert-card__top {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ew-alert-card__event {
  font-size: .88rem;
  font-weight: 700;
}

.ew-alert-card__extreme {
  color: #fff;
  background: #dc2626cc;
  border-radius: 999px;
  padding: 2px 6px;
  font-size: .6rem;
  font-weight: 800;
  animation: 2s ease-in-out infinite ew-pulse-dot;
}

.ew-alert-card__time {
  color: var(--ew-steel);
  font-variant-numeric: tabular-nums;
  font-size: .7rem;
  font-family: var(--font-mono, monospace);
  margin-left: auto;
}

.ew-alert-card__headline {
  color: var(--ew-text-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 2px 0 0;
  font-size: .78rem;
  overflow: hidden;
}

.ew-alert-card__chevron {
  color: var(--ew-steel);
  flex-shrink: 0;
  transition: transform .2s, color .2s;
}

.ew-alert-card:hover .ew-alert-card__chevron {
  color: #fff;
  transform: translateX(3px);
}

.ew-alerts-empty {
  text-align: center;
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  background: var(--ew-bg-card);
  color: var(--ew-text-muted);
  padding: 32px;
  font-size: .85rem;
}

.ew-trust-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  display: grid;
}

@media (min-width: 640px) {
  .ew-trust-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ew-trust-card {
  background: var(--ew-bg-card);
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  padding: 22px;
}

.ew-trust-card__icon {
  color: var(--ew-slate);
  margin-bottom: 10px;
}

.ew-trust-card__title {
  margin: 0 0 6px;
  font-size: .95rem;
  font-weight: 700;
}

.ew-trust-card__body {
  color: var(--ew-text-muted);
  margin: 0;
  font-size: .82rem;
  line-height: 1.6;
}

.ew-project-section {
  opacity: .85;
}

.ew-project-panel {
  background: var(--ew-bg-card);
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  padding: 24px;
  overflow: hidden;
}

.ew-social-row {
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  display: flex;
}

.ew-social-link {
  color: var(--ew-text-muted);
  transition: color .2s, transform .2s;
}

.ew-social-link:hover {
  color: #fff;
  transform: scale(1.15);
}

.ew-social-link--ig:hover {
  color: #e879a8;
}

.ew-footer {
  text-align: center;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ew-steel);
  padding-top: 8px;
  font-size: .65rem;
  font-weight: 600;
}

.ew-docs-page {
  background: var(--ew-bg-deep);
  min-height: 100vh;
  color: var(--ew-text);
  font-family: var(--font-display, var(--font-sans, Inter, system-ui, sans-serif));
  position: relative;
  overflow: hidden;
}

.ew-docs-page:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(ellipse 120% 120% at 50% 50%, transparent 28%, var(--ew-bg-deep) 100%), linear-gradient(180deg, #060c1a85 0%, #060c1aad 34%, #060c1ae6 100%), radial-gradient(120% 90% at 12% 8%, #22d3ee1f, transparent 46%), radial-gradient(100% 80% at 88% 18%, #f59e0b14, transparent 44%);
  z-index: 0;
  position: absolute;
  inset: 0;
}

.ew-docs-page:after {
  content: "";
  pointer-events: none;
  opacity: .16;
  z-index: 0;
  background-image: linear-gradient(#94a3b80a 1px, #0000 1px), linear-gradient(90deg, #94a3b80a 1px, #0000 1px);
  background-size: 48px 48px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000000eb, #0000 82%);
  mask-image: linear-gradient(#000000eb, #0000 82%);
}

.ew-docs-trust-bar {
  z-index: 40;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--ew-border);
  background: #060c1ac2;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.ew-docs-trust-bar__inner {
  letter-spacing: .07em;
  text-transform: uppercase;
  max-width: 1120px;
  color: var(--ew-text-muted);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 0 auto;
  padding: 9px 20px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.ew-docs-trust-bar__status {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.ew-docs-trust-bar__label {
  color: var(--ew-text);
  white-space: nowrap;
}

.ew-docs-trust-bar__markers {
  color: var(--ew-steel);
  align-items: center;
  gap: 8px;
  display: none;
}

@media (min-width: 720px) {
  .ew-docs-trust-bar__markers {
    display: flex;
  }
}

.ew-docs-trust-bar__sep {
  opacity: .45;
}

.ew-docs-content {
  z-index: 1;
  flex-direction: column;
  gap: 22px;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 92px 20px 56px;
  display: flex;
  position: relative;
}

.ew-docs-hero {
  border: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224eb, #0a1224c7), radial-gradient(circle at 100% 0, #22d3ee14, #0000 44%);
  border-radius: 22px;
  grid-template-columns: 1.2fr .9fr;
  gap: 18px;
  padding: 34px 30px 30px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 28px 70px #02061773;
}

.ew-docs-hero:before {
  content: "";
  pointer-events: none;
  opacity: .6;
  background: linear-gradient(90deg, #22d3ee14, #0000 24% 74%, #f59e0b0f);
  position: absolute;
  inset: 0;
}

.ew-docs-hero__body {
  z-index: 1;
  position: relative;
}

.ew-docs-hero__eyebrow {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ew-cyan);
  margin-bottom: 14px;
  font-size: .72rem;
  font-weight: 700;
}

.ew-docs-hero__brand {
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
  display: flex;
}

@media (min-width: 640px) {
  .ew-docs-hero__brand {
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
  }
}

.ew-docs-hero__logo-wrap {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 88px;
  height: 88px;
  display: inline-flex;
}

.ew-docs-hero__logo {
  object-fit: cover;
  border-radius: 18px;
  width: 88px;
  height: 88px;
}

.ew-docs-hero__text {
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  display: flex;
}

.ew-docs-hero__title {
  letter-spacing: -.03em;
  background: linear-gradient(135deg, var(--ew-cyan), #38bdf8, #818cf8);
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  font-size: clamp(2.35rem, 5.8vw, 4.7rem);
  line-height: 1.05;
}

.ew-docs-hero__subtitle {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ew-text-muted);
  margin: 6px 0 0;
  font-size: .92rem;
  font-weight: 600;
}

.ew-docs-hero__description {
  max-width: 58ch;
  color: var(--ew-text-muted);
  margin: 0;
  font-size: .98rem;
  line-height: 1.7;
}

.ew-docs-hero__chips {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  display: flex;
}

.ew-docs-chip {
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .72rem;
}

.ew-docs-hero__actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  display: flex;
}

.ew-docs-hero__panel {
  z-index: 1;
  border: 1px solid var(--ew-border);
  background: linear-gradient(#ffffff06, #ffffff02);
  border-radius: 20px;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  display: flex;
  position: relative;
}

.ew-docs-hero__panel-top {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.ew-docs-hero__panel-label {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ew-cyan);
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
}

.ew-docs-hero__panel-copy {
  color: var(--ew-text-muted);
  margin: 0;
  font-size: .84rem;
  line-height: 1.55;
}

.ew-docs-hero__panel-list {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.ew-docs-hero__panel-link {
  color: inherit;
  border-bottom: 1px solid var(--ew-border);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  text-decoration: none;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-hero__panel-link {
    border-bottom: 1px solid color-mix(in srgb, var(--ew-border) 85%, transparent);
  }
}

.ew-docs-hero__panel-link {
  transition: color .2s, opacity .2s, transform .2s;
}

.ew-docs-hero__panel-link:last-child {
  border-bottom: 0;
}

.ew-docs-hero__panel-link:hover {
  color: var(--ew-white);
  transform: translateY(-1px);
}

.ew-docs-hero__panel-icon {
  width: 30px;
  height: 30px;
  color: var(--doc-accent, var(--ew-cyan));
  background: var(--doc-accent, var(--ew-cyan));
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-hero__panel-icon {
    background: color-mix(in srgb, var(--doc-accent, var(--ew-cyan)) 12%, transparent);
  }
}

.ew-docs-hero__panel-text {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.ew-docs-hero__panel-text strong {
  color: var(--ew-text);
  font-size: .88rem;
  font-weight: 700;
  display: block;
}

.ew-docs-hero__panel-text span {
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ew-steel);
  background: #94a3b814;
  border-radius: 999px;
  align-items: center;
  padding: .2rem .55rem;
  font-size: .7rem;
  display: inline-flex;
}

@media (max-width: 520px) {
  .ew-docs-hero__panel-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

.ew-docs-overview, .ew-docs-grid-section, .ew-docs-quick {
  border: 1px solid var(--ew-border);
  background: var(--ew-bg-card);
  border-radius: 16px;
  padding: 22px;
}

.ew-docs-overview {
  background: var(--ew-border);
  grid-template-columns: 1fr;
  gap: 1px;
  padding: 1px;
  display: grid;
  overflow: hidden;
}

@media (min-width: 860px) {
  .ew-docs-overview {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ew-docs-overview__item {
  background: #0a1224eb;
  padding: 18px 18px 16px;
}

.ew-docs-overview__icon {
  width: 34px;
  height: 34px;
  color: var(--ew-cyan);
  background: #22d3ee1f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
  display: inline-flex;
}

.ew-docs-overview__value {
  color: var(--ew-text);
  font-size: 1.15rem;
  font-weight: 700;
  display: block;
}

.ew-docs-overview__label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ew-text-muted);
  margin-top: 2px;
  font-size: .68rem;
  font-weight: 700;
  display: block;
}

.ew-docs-overview__body {
  color: var(--ew-text-muted);
  margin: 12px 0 0;
  font-size: .82rem;
  line-height: 1.6;
}

.ew-docs-section-head {
  margin-bottom: 16px;
}

.ew-docs-section-head--split {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

@media (min-width: 860px) {
  .ew-docs-section-head--split {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
  }
}

.ew-docs-section-kicker {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ew-cyan);
  margin: 0 0 7px;
  font-size: .68rem;
  font-weight: 700;
}

.ew-docs-section-head p {
  color: var(--ew-text-muted);
  margin: 6px 0 0;
  font-size: .88rem;
  line-height: 1.6;
}

.ew-docs-section-title {
  letter-spacing: -.01em;
  color: var(--ew-text);
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.ew-docs-section-title--inline {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.ew-docs-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  display: grid;
}

@media (min-width: 760px) {
  .ew-docs-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ew-docs-card {
  --doc-accent: var(--ew-cyan);
  color: inherit;
  border: 1px solid var(--doc-accent);
  flex-direction: column;
  text-decoration: none;
  display: flex;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card {
    border: 1px solid color-mix(in srgb, var(--doc-accent) 24%, var(--ew-border));
  }
}

.ew-docs-card {
  background: linear-gradient(180deg, var(--doc-accent), #0a1224d1), #0a1224e6;
  border-radius: 16px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card {
    background: linear-gradient(180deg, color-mix(in srgb, var(--doc-accent) 8%, #0a1224eb), #0a1224d1), #0a1224e6;
  }
}

.ew-docs-card {
  min-height: 212px;
  padding: 18px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  overflow: hidden;
}

.ew-docs-card:before {
  content: "";
  background: linear-gradient(90deg, var(--doc-accent), transparent 72%);
  opacity: .9;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.ew-docs-card:hover {
  border-color: var(--doc-accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card:hover {
    border-color: color-mix(in srgb, var(--doc-accent) 45%, var(--ew-border-hover));
  }
}

.ew-docs-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px #02061747;
}

.ew-docs-card--cyan {
  --doc-accent: var(--ew-cyan);
}

.ew-docs-card--purple {
  --doc-accent: var(--ew-purple);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card--purple {
    --doc-accent: color-mix(in srgb, var(--ew-purple) 70%, #818cf8);
  }
}

.ew-docs-card--amber {
  --doc-accent: var(--ew-amber);
}

.ew-docs-card--green {
  --doc-accent: var(--ew-green);
}

.ew-docs-card__icon {
  width: 40px;
  height: 40px;
  color: var(--doc-accent);
  background: var(--doc-accent);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  margin-bottom: 14px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card__icon {
    background: color-mix(in srgb, var(--doc-accent) 16%, transparent);
  }
}

.ew-docs-card__eyebrow {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--doc-accent);
  margin: 0;
  font-size: .66rem;
  font-weight: 700;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card__eyebrow {
    color: color-mix(in srgb, var(--doc-accent) 72%, var(--ew-text-muted));
  }
}

.ew-docs-card__title {
  color: var(--ew-text);
  margin: 7px 0 0;
  font-size: 1.08rem;
  font-weight: 700;
}

.ew-docs-card__description {
  color: var(--ew-text-muted);
  margin: 8px 0 0;
  font-size: .84rem;
  line-height: 1.66;
}

.ew-docs-card__cta {
  letter-spacing: .02em;
  color: var(--doc-accent);
  align-items: center;
  gap: 5px;
  margin-top: auto;
  padding-top: 14px;
  font-size: .76rem;
  font-weight: 700;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-docs-card__cta {
    color: color-mix(in srgb, var(--doc-accent) 74%, #fff);
  }
}

.ew-docs-card__cta {
  transition: gap .2s;
}

.ew-docs-card:hover .ew-docs-card__cta {
  gap: 8px;
}

.ew-docs-quick-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

@media (min-width: 900px) {
  .ew-docs-quick-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.ew-docs-quick-link {
  text-align: center;
  border: 1px solid var(--ew-border);
  color: var(--ew-text-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  background: #ffffff08;
  border-radius: 12px;
  padding: 11px 10px;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}

.ew-docs-quick-link:hover {
  border-color: var(--ew-border-hover);
  color: var(--ew-text);
  background: #ffffff0f;
}

.ew-docs-actions {
  border: 1px solid var(--ew-border);
  background: var(--ew-bg-card);
  border-radius: 16px;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  display: flex;
}

.ew-docs-actions__copy p:last-child {
  color: var(--ew-text-muted);
  margin: 8px 0 0;
  font-size: .88rem;
  line-height: 1.65;
}

.ew-docs-actions__buttons {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

@media (min-width: 640px) {
  .ew-docs-actions {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  .ew-docs-actions__copy {
    max-width: 560px;
  }
}

.ew-docs-quick__copy {
  max-width: 420px;
}

.ew-docs-footer {
  text-align: center;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ew-steel);
  padding: 2px 2px 0;
  font-size: .63rem;
  font-weight: 700;
}

.ew-docs-enter {
  opacity: 0;
  animation: .6s cubic-bezier(.22, 1, .36, 1) forwards ew-docs-fade-up;
  transform: translateY(14px);
}

.ew-docs-enter--delay-1 {
  animation-delay: 70ms;
}

.ew-docs-enter--delay-2 {
  animation-delay: .13s;
}

.ew-docs-enter--delay-3 {
  animation-delay: .19s;
}

.ew-docs-enter--delay-4 {
  animation-delay: .24s;
}

@keyframes ew-docs-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 639px) {
  .ew-docs-content {
    gap: 14px;
    padding: 78px 14px 42px;
  }

  .ew-docs-hero, .ew-docs-overview, .ew-docs-grid-section, .ew-docs-quick, .ew-docs-actions {
    padding: 16px;
  }

  .ew-docs-actions .ew-btn, .ew-docs-hero__actions .ew-btn {
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 920px) {
  .ew-docs-hero {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ew-docs-enter {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .ew-docs-card, .ew-docs-quick-link, .ew-docs-card__cta, .ew-docs-hero__panel-link {
    transition: none;
  }
}

.ew-forecast-page:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(70% 60% at 22% 8%, #22d3ee1f, transparent 46%), radial-gradient(62% 52% at 86% 20%, #f59e0b14, transparent 42%), linear-gradient(180deg, #060c1ac7, var(--ew-bg-deep));
  z-index: 0;
  position: fixed;
  inset: 0;
}

.ew-forecast-page:after {
  content: "";
  pointer-events: none;
  opacity: .2;
  z-index: 0;
  background-image: linear-gradient(#94a3b809 1px, #0000 1px), linear-gradient(90deg, #94a3b809 1px, #0000 1px);
  background-size: 46px 46px;
  position: fixed;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000000f2, #0000 86%);
  mask-image: linear-gradient(#000000f2, #0000 86%);
}

.ew-forecast-trust-bar {
  z-index: 40;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--ew-border);
  background: #060c1ac2;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.ew-forecast-trust-bar__inner {
  letter-spacing: .07em;
  text-transform: uppercase;
  max-width: 1460px;
  color: var(--ew-text-muted);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 0 auto;
  padding: 9px 20px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.ew-forecast-trust-bar__status, .ew-forecast-trust-bar__markers {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.ew-forecast-trust-bar__label {
  color: var(--ew-text);
}

.ew-forecast-trust-bar__time {
  color: var(--ew-slate);
  font-variant-numeric: tabular-nums;
}

.ew-forecast-trust-bar__markers {
  color: var(--ew-steel);
}

.ew-forecast-trust-bar__sep {
  opacity: .45;
}

.ew-forecast-content {
  z-index: 1;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 1460px;
  margin: 0 auto;
  padding: 82px 20px 36px;
  display: flex;
  position: relative;
}

.ew-forecast-panel, .ew-forecast-error, .ew-forecast-loading, .ew-forecast-partial {
  border: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224eb, #0a1224c7), radial-gradient(circle at 100% 0, #22d3ee14, #0000 44%);
  box-shadow: 0 24px 64px #02061752;
}

.ew-forecast-error__actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.ew-forecast-dashboard {
  grid-template-columns: minmax(310px, .94fr) minmax(430px, 1.28fr) minmax(300px, .74fr);
  align-items: stretch;
  gap: 18px;
  display: grid;
}

.ew-forecast-panel {
  border: 1px solid var(--ew-border);
  background: linear-gradient(#0a1224eb, #0a1224c7), radial-gradient(circle at 100% 0, #22d3ee14, #0000 44%);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px #02061752;
}

.ew-forecast-panel__header {
  border-bottom: 1px solid var(--ew-border);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  min-height: 52px;
  padding: 15px 18px;
  display: flex;
}

.ew-forecast-panel__header h2 {
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #c7d2fe;
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
}

.ew-forecast-panel__header span, .ew-forecast-panel__header a {
  color: var(--ew-text-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 5px;
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.ew-forecast-panel__header a:hover {
  color: var(--ew-cyan);
}

.ew-forecast-current {
  grid-area: 1 / 1 / 2 / 2;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1.08fr .92fr;
  min-height: 292px;
  display: grid;
}

.ew-forecast-current .ew-forecast-panel__header {
  grid-column: 1 / -1;
}

.ew-forecast-current__body {
  padding: 18px;
  position: relative;
  overflow: hidden;
}

.ew-forecast-current__body:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(80% 70% at 50% 100%, #22d3ee1f, #0000 68%), linear-gradient(170deg, #0000 42%, #0f172ab8 43%);
  height: 70%;
  position: absolute;
  inset: auto -20% -35%;
}

.ew-forecast-current__place, .ew-forecast-current__hero, .ew-forecast-current__forecast {
  z-index: 1;
  position: relative;
}

.ew-forecast-current__place {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 9px;
  display: grid;
}

.ew-forecast-current__place svg {
  color: var(--ew-cyan);
  margin-top: 2px;
}

.ew-forecast-current__place strong, .ew-forecast-current__place span {
  display: block;
}

.ew-forecast-current__place strong {
  color: var(--ew-cyan);
  font-size: .94rem;
}

.ew-forecast-current__place span {
  color: var(--ew-text-muted);
  margin-top: 4px;
  font-size: .78rem;
}

.ew-forecast-current__hero {
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  display: flex;
}

.ew-forecast-current__temp strong {
  letter-spacing: -.06em;
  color: #f8fafc;
  font-size: clamp(3.6rem, 6vw, 5.2rem);
  line-height: .9;
  display: block;
}

.ew-forecast-current__temp strong span {
  letter-spacing: 0;
  vertical-align: super;
  color: var(--ew-text-muted);
  font-size: 1.25rem;
}

.ew-forecast-current__temp em {
  color: var(--ew-slate);
  margin-top: 8px;
  font-size: .8rem;
  font-style: normal;
  display: block;
}

.ew-forecast-current__forecast {
  margin-top: 22px;
}

.ew-forecast-current__forecast strong, .ew-forecast-current__forecast span {
  display: block;
}

.ew-forecast-current__forecast strong {
  color: var(--ew-cyan);
  font-size: .9rem;
}

.ew-forecast-current__forecast span {
  color: var(--ew-text-muted);
  margin-top: 6px;
  font-size: .78rem;
  line-height: 1.48;
}

.ew-forecast-metrics {
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 18px 16px 18px 0;
  display: flex;
}

.ew-forecast-metric {
  border-bottom: 1px solid var(--ew-border);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 9px 10px;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-metric {
    border-bottom: 1px solid color-mix(in srgb, var(--ew-border) 80%, transparent);
  }
}

.ew-forecast-metric {
  background: #ffffff06;
}

.ew-forecast-metric:first-child {
  border-radius: 10px 10px 0 0;
}

.ew-forecast-metric:last-child {
  border-bottom: 0;
  border-radius: 0 0 10px 10px;
}

.ew-forecast-metric svg {
  color: #93c5fd;
}

.ew-forecast-metric span {
  color: var(--ew-text-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .73rem;
  font-weight: 700;
}

.ew-forecast-metric strong {
  color: #f8fafc;
  white-space: nowrap;
  font-size: .82rem;
}

.ew-forecast-hourly {
  grid-area: 1 / 2 / 2 / 4;
  min-height: 292px;
}

.ew-forecast-hourly__rail {
  grid-auto-columns: minmax(96px, 1fr);
  grid-auto-flow: column;
  padding: 8px 12px 12px;
  display: grid;
  overflow-x: auto;
}

.ew-forecast-hour {
  border-right: 1px solid var(--ew-border);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 13px;
  min-height: 218px;
  padding: 14px 10px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hour {
    border-right: 1px solid color-mix(in srgb, var(--ew-border) 65%, transparent);
  }
}

.ew-forecast-hour {
  color: var(--ew-text-muted);
}

.ew-forecast-hour:last-child {
  border-right: 0;
}

.ew-forecast-hour--now {
  border: 1px solid var(--ew-cyan);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hour--now {
    border: 1px solid color-mix(in srgb, var(--ew-cyan) 58%, transparent);
  }
}

.ew-forecast-hour--now {
  background: var(--ew-cyan);
  border-radius: 12px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hour--now {
    background: color-mix(in srgb, var(--ew-cyan) 8%, #02061759);
  }
}

.ew-forecast-hour--now {
  box-shadow: inset 0 0 24px #22d3ee0f;
}

.ew-forecast-hour__label {
  color: #dbeafe;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 800;
}

.ew-forecast-hour strong {
  color: #f8fafc;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.ew-forecast-hour > span:not(.ew-forecast-hour__label) {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 78px;
  font-size: .73rem;
  overflow: hidden;
}

.ew-forecast-hour em {
  color: #38bdf8;
  align-items: center;
  gap: 4px;
  font-size: .75rem;
  font-style: normal;
  display: inline-flex;
}

.ew-forecast-daily {
  grid-area: 2 / 1 / 3 / 2;
  min-height: 468px;
}

.ew-forecast-daily__rows {
  flex-direction: column;
  display: flex;
}

.ew-forecast-day {
  border-bottom: 1px solid var(--ew-border);
  grid-template-columns: minmax(62px, .7fr) 34px 48px minmax(82px, 1fr) 48px 62px;
  align-items: center;
  gap: 10px;
  min-height: 57px;
  padding: 9px 18px;
  display: grid;
}

.ew-forecast-day:last-child {
  border-bottom: 0;
}

.ew-forecast-day__name strong, .ew-forecast-day__name span {
  display: block;
}

.ew-forecast-day__name strong {
  color: #f8fafc;
  text-transform: uppercase;
  font-size: .85rem;
}

.ew-forecast-day__name span {
  color: var(--ew-text-muted);
  text-transform: uppercase;
  margin-top: 3px;
  font-size: .72rem;
}

.ew-forecast-day__high, .ew-forecast-day__low {
  color: #f8fafc;
  font-size: 1.05rem;
}

.ew-forecast-day__low {
  color: #93c5fd;
}

.ew-forecast-day__range {
  background: #94a3b824;
  border-radius: 999px;
  height: 4px;
  position: relative;
  overflow: hidden;
}

.ew-forecast-day__range span {
  border-radius: inherit;
  background: linear-gradient(90deg, #67e8f9, var(--ew-amber));
  position: absolute;
  top: 0;
  bottom: 0;
}

.ew-forecast-day__pop {
  color: #38bdf8;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.ew-forecast-radar {
  grid-area: 2 / 2 / 3 / 3;
  min-height: 468px;
}

.ew-forecast-map-preview {
  background: linear-gradient(160deg, #081221f5, #0f172acc);
  min-height: 416px;
  position: relative;
  overflow: hidden;
}

.ew-forecast-map-preview__map {
  z-index: 1;
  position: absolute;
  inset: 0;
}

.ew-forecast-map-preview__map .leaflet-container {
  background: none;
  width: 100%;
  height: 100%;
}

.ew-forecast-map-preview__controls {
  z-index: 5;
  border: 1px solid var(--ew-border);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #020617bd;
  border-radius: 14px;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  display: grid;
  position: absolute;
  bottom: 18px;
  left: 18px;
  right: 18px;
}

.ew-forecast-map-preview__controls button {
  border: 1px solid var(--ew-cyan);
  border-radius: 50%;
  width: 42px;
  height: 42px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-map-preview__controls button {
    border: 1px solid color-mix(in srgb, var(--ew-cyan) 35%, var(--ew-border));
  }
}

.ew-forecast-map-preview__controls button {
  background: var(--ew-cyan);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-map-preview__controls button {
    background: color-mix(in srgb, var(--ew-cyan) 13%, transparent);
  }
}

.ew-forecast-map-preview__controls button {
  color: var(--ew-cyan);
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.ew-forecast-map-preview__controls > span {
  background: linear-gradient(90deg, #2563eb 58%, #94a3b82e 58%);
  border-radius: 999px;
  height: 4px;
}

.ew-forecast-map-preview__controls strong {
  color: #f8fafc;
  font-size: .82rem;
}

.ew-forecast-map-preview__controls em {
  color: var(--ew-steel);
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
}

.ew-forecast-map-tooltip {
  border: 1px solid var(--ew-cyan);
  background: #020617d1;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-map-tooltip {
    border: 1px solid color-mix(in srgb, var(--ew-cyan) 32%, var(--ew-border));
  }
}

.ew-forecast-map-tooltip {
  color: #f8fafc;
  border-radius: 10px;
  padding: 6px 10px;
  font-size: .86rem;
  font-weight: 700;
  box-shadow: 0 12px 28px #02061766;
}

.ew-forecast-map-tooltip:before {
  display: none;
}

.ew-forecast-hazards {
  flex-direction: column;
  grid-area: 2 / 3 / 3 / 4;
  min-height: 468px;
  max-height: 468px;
  display: flex;
}

.ew-forecast-hazards__list {
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  padding: 12px;
  display: flex;
  overflow-y: auto;
}

.ew-forecast-alert-card {
  flex-shrink: 0;
  gap: 10px;
  padding: 10px 12px;
}

.ew-forecast-alert-card__headline {
  white-space: normal;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 4px;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

@media (min-width: 960px) {
  .ew-forecast-alert-card {
    padding: 10px 12px;
  }
}

.ew-forecast-hazard {
  --hazard-color: var(--ew-amber);
  border: 1px solid var(--hazard-color);
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 16px;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hazard {
    border: 1px solid color-mix(in srgb, var(--hazard-color) 42%, var(--ew-border));
  }
}

.ew-forecast-hazard {
  background: linear-gradient(135deg, var(--hazard-color), #02061747);
  border-radius: 12px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hazard {
    background: linear-gradient(135deg, color-mix(in srgb, var(--hazard-color) 11%, transparent), #02061747);
  }
}

.ew-forecast-hazard--extreme, .ew-forecast-hazard--severe {
  --hazard-color: #ef4444;
}

.ew-forecast-hazard--moderate {
  --hazard-color: var(--ew-amber);
}

.ew-forecast-hazard--minor {
  --hazard-color: var(--ew-cyan);
}

.ew-forecast-hazard__icon {
  width: 42px;
  height: 42px;
  color: var(--hazard-color);
  background: var(--hazard-color);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hazard__icon {
    background: color-mix(in srgb, var(--hazard-color) 12%, transparent);
  }
}

.ew-forecast-hazard strong, .ew-forecast-hazard span, .ew-forecast-hazard em {
  display: block;
}

.ew-forecast-hazard strong {
  color: var(--hazard-color);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-hazard strong {
    color: color-mix(in srgb, var(--hazard-color) 72%, #fff);
  }
}

.ew-forecast-hazard strong {
  font-size: .92rem;
}

.ew-forecast-hazard span, .ew-forecast-hazard em {
  color: var(--ew-text-muted);
  margin-top: 5px;
  font-size: .78rem;
  line-height: 1.42;
}

.ew-forecast-hazard em {
  color: #cbd5e1;
  font-style: normal;
}

.ew-forecast-hazard p {
  color: var(--ew-text);
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 14px 0 0;
  font-size: .82rem;
  line-height: 1.58;
  display: -webkit-box;
  overflow: hidden;
}

.ew-forecast-hazards__empty {
  border: 1px dashed var(--ew-border-hover);
  text-align: center;
  color: var(--ew-text-muted);
  border-radius: 12px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 12px;
  padding: 34px 20px;
  display: flex;
}

.ew-forecast-hazards__empty svg {
  color: var(--ew-green);
}

.ew-forecast-hazards__empty strong {
  color: var(--ew-text);
}

.ew-forecast-source-note {
  border: 1px solid var(--ew-border);
  color: var(--ew-text-muted);
  background: #3b82f60f;
  border-radius: 10px;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin: auto 12px 12px;
  padding: 12px 14px;
  font-size: .78rem;
  display: flex;
}

.ew-forecast-weather-icon--thunder {
  color: var(--ew-amber);
  filter: drop-shadow(0 0 12px #f59e0b59);
}

.ew-forecast-weather-icon--rain {
  color: #38bdf8;
}

.ew-forecast-weather-icon--snow {
  color: #93c5fd;
}

.ew-forecast-weather-icon--cloud, .ew-forecast-weather-icon--fog {
  color: #cbd5e1;
}

.ew-forecast-weather-icon--clear-day {
  color: var(--ew-amber);
  filter: drop-shadow(0 0 12px #f59e0b47);
}

.ew-forecast-weather-icon--clear-night {
  color: #a5b4fc;
}

.ew-forecast-loading, .ew-forecast-error, .ew-forecast-partial {
  border-radius: 16px;
  padding: 24px;
}

.ew-forecast-loading, .ew-forecast-partial {
  color: var(--ew-text-muted);
  align-items: center;
  gap: 12px;
  font-size: .9rem;
  display: flex;
}

.ew-forecast-error {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 18px;
  display: grid;
}

.ew-forecast-error > svg {
  color: var(--ew-amber);
}

.ew-forecast-error h2 {
  color: var(--ew-text);
  margin: 0;
  font-size: 1.28rem;
}

.ew-forecast-error p:not(.ew-forecast-kicker) {
  color: var(--ew-text-muted);
  margin: 8px 0 0;
  line-height: 1.65;
}

.ew-forecast-error__actions {
  margin-top: 16px;
}

.ew-forecast-partial {
  color: #fde68a;
  border-color: var(--ew-amber);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-forecast-partial {
    border-color: color-mix(in srgb, var(--ew-amber) 32%, var(--ew-border));
  }
}

.ew-forecast-spin {
  animation: 1s linear infinite spin;
}

.ew-forecast-footer {
  text-align: center;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ew-steel);
  padding: 6px 0 0;
  font-size: .7rem;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .ew-forecast-dashboard {
    grid-template-columns: 1fr 1fr;
  }

  .ew-forecast-current {
    grid-area: 1 / 1 / 2 / 2;
  }

  .ew-forecast-hourly {
    grid-area: 1 / 2 / 2 / 3;
  }

  .ew-forecast-daily {
    grid-area: 2 / 1 / 3 / 3;
  }

  .ew-forecast-radar {
    grid-area: 3 / 1 / 4 / 2;
  }

  .ew-forecast-hazards {
    grid-area: 3 / 2 / 4 / 3;
  }

  .ew-forecast-current {
    grid-template-columns: 1fr;
  }

  .ew-forecast-metrics {
    padding: 0 18px 18px;
  }

  .ew-forecast-hourly__rail {
    grid-auto-columns: minmax(92px, 112px);
  }
}

@media (max-width: 900px) {
  .ew-forecast-dashboard {
    grid-template-columns: 1fr;
  }

  .ew-forecast-current, .ew-forecast-hourly, .ew-forecast-daily, .ew-forecast-radar, .ew-forecast-hazards {
    grid-area: auto;
  }

  .ew-forecast-trust-bar__markers {
    display: none;
  }
}

@media (max-width: 640px) {
  .ew-forecast-content {
    gap: 14px;
    padding: 74px 12px 30px;
  }

  .ew-forecast-loading, .ew-forecast-error, .ew-forecast-partial {
    padding: 16px;
  }

  .ew-forecast-error__actions .ew-btn {
    justify-content: center;
    width: 100%;
  }

  .ew-forecast-current__hero {
    align-items: flex-start;
  }

  .ew-forecast-day {
    grid-template-columns: minmax(60px, 1fr) 28px 38px minmax(58px, .72fr) 38px;
  }

  .ew-forecast-day__pop {
    display: none;
  }

  .ew-forecast-map-preview {
    min-height: 330px;
  }

  .ew-forecast-map-preview__legend {
    border-radius: 12px;
    flex-wrap: wrap;
    right: 12px;
  }

  .ew-forecast-map-preview__controls {
    grid-template-columns: auto 1fr;
  }

  .ew-forecast-map-preview__controls strong, .ew-forecast-map-preview__controls em {
    display: none;
  }
}

.ew-alerts-page {
  background: var(--ew-bg-deep);
  min-height: 100vh;
  color: var(--ew-text);
  font-family: var(--font-display, var(--font-sans, Inter, system-ui, sans-serif));
  position: relative;
  overflow-x: hidden;
}

.ew-alerts-content {
  z-index: 10;
  flex-direction: column;
  gap: 34px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 86px 20px 56px;
  display: flex;
  position: relative;
}

.ew-alerts-header {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.ew-alerts-header__top {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

@media (min-width: 1024px) {
  .ew-alerts-header__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
  }
}

.ew-alerts-header__title-wrap {
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.ew-alerts-back {
  flex-shrink: 0;
  align-self: flex-start;
  padding: 9px 14px;
}

.ew-alerts-heading {
  background: linear-gradient(135deg, var(--ew-cyan), #38bdf8, #818cf8);
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1.65rem;
  display: flex;
}

.ew-alerts-heading__icon {
  color: var(--ew-amber);
  flex-shrink: 0;
}

.ew-alerts-timestamp {
  color: var(--ew-text-muted);
  align-items: center;
  gap: 6px;
  margin: 8px 0 0;
  font-size: .78rem;
  display: inline-flex;
}

.ew-alerts-timestamp span {
  color: var(--ew-cyan);
  font-family: var(--font-mono, monospace);
  font-variant-numeric: tabular-nums;
}

.ew-alerts-controls {
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  display: flex;
}

@media (min-width: 1024px) {
  .ew-alerts-controls {
    align-items: flex-end;
    width: auto;
    max-width: 420px;
  }
}

.ew-alerts-search {
  background: var(--ew-bg-card);
  border: 1px solid var(--ew-border);
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
}

.ew-alerts-search:focus-within {
  border-color: var(--ew-border-hover);
  box-shadow: 0 0 0 2px var(--ew-cyan);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-search:focus-within {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ew-cyan) 20%, transparent);
  }
}

.ew-alerts-search__icon {
  color: var(--ew-steel);
  flex-shrink: 0;
}

.ew-alerts-search input {
  min-width: 0;
  color: var(--ew-text);
  background: none;
  border: 0;
  outline: none;
  flex: 1;
  font-size: .84rem;
}

.ew-alerts-search input::placeholder {
  color: var(--ew-steel);
}

.ew-alerts-search__geo {
  width: 26px;
  height: 26px;
  color: var(--ew-text-muted);
  cursor: pointer;
  background: #ffffff0d;
  border: 0;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  transition: background .2s, color .2s;
  display: inline-flex;
}

.ew-alerts-search__geo:hover:not(:disabled) {
  color: var(--ew-cyan);
  background: #22d3ee24;
}

.ew-alerts-search__geo:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.ew-alerts-spin {
  animation: 1s linear infinite spin;
}

.ew-alerts-location-chip {
  border: 1px solid var(--ew-cyan);
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-location-chip {
    border: 1px solid color-mix(in srgb, var(--ew-cyan) 38%, transparent);
  }
}

.ew-alerts-location-chip {
  background: var(--ew-cyan);
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-location-chip {
    background: color-mix(in srgb, var(--ew-cyan) 10%, transparent);
  }
}

.ew-alerts-location-chip {
  color: #7dd3fc;
  max-width: 100%;
  padding: 5px 10px;
  font-size: .76rem;
}

.ew-alerts-location-chip span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ew-alerts-location-chip button {
  width: 18px;
  height: 18px;
  color: inherit;
  cursor: pointer;
  background: #0003;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.ew-alerts-filters {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ew-alerts-filter-pill {
  border: 1px solid var(--filter-color, var(--ew-border));
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-filter-pill {
    border: 1px solid color-mix(in srgb, var(--filter-color, var(--ew-border)) 40%, transparent);
  }
}

.ew-alerts-filter-pill {
  color: var(--ew-text-muted);
  letter-spacing: .02em;
  cursor: pointer;
  background: #ffffff08;
  border-radius: 10px;
  padding: 6px 11px;
  font-size: .74rem;
  font-weight: 700;
  transition: border-color .2s, background .2s, color .2s;
}

.ew-alerts-filter-pill:hover {
  border-color: var(--filter-color, var(--ew-border-hover));
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-filter-pill:hover {
    border-color: color-mix(in srgb, var(--filter-color, var(--ew-border-hover)) 75%, transparent);
  }
}

.ew-alerts-filter-pill:hover {
  color: var(--ew-text);
}

.ew-alerts-filter-pill--active {
  border-color: var(--filter-color, var(--ew-cyan));
  color: #fff;
  background: var(--filter-color, var(--ew-cyan));
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-filter-pill--active {
    background: color-mix(in srgb, var(--filter-color, var(--ew-cyan)) 18%, transparent);
  }
}

.ew-alerts-filter-pill--active {
  box-shadow: 0 0 0 1px var(--filter-color, var(--ew-cyan));
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-filter-pill--active {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--filter-color, var(--ew-cyan)) 28%, transparent);
  }
}

.ew-alerts-select-wrap {
  margin-left: auto;
  position: relative;
}

.ew-alerts-select {
  appearance: none;
  border: 1px solid var(--ew-border);
  background: var(--ew-bg-card);
  color: var(--ew-text);
  cursor: pointer;
  border-radius: 10px;
  min-height: 36px;
  padding: 7px 34px 7px 12px;
  font-size: .76rem;
  font-weight: 600;
}

.ew-alerts-select:focus {
  border-color: var(--ew-border-hover);
  box-shadow: 0 0 0 2px var(--ew-cyan);
  outline: none;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-select:focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ew-cyan) 20%, transparent);
  }
}

.ew-alerts-select-wrap__icon {
  color: var(--ew-steel);
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.ew-alerts-loading {
  justify-content: center;
  align-items: center;
  min-height: 280px;
  display: flex;
}

.ew-alerts-empty {
  text-align: center;
  border: 1px solid var(--ew-border);
  border-radius: var(--ew-radius);
  background: var(--ew-bg-card);
  color: var(--ew-text-muted);
  padding: 34px 24px;
}

.ew-alerts-empty svg {
  color: var(--ew-steel);
  margin: 0 auto 12px;
}

.ew-alerts-empty h3 {
  color: var(--ew-text);
  margin: 0 0 8px;
  font-size: 1rem;
}

.ew-alerts-empty p {
  margin: 0;
  font-size: .84rem;
  line-height: 1.6;
}

.ew-alerts-empty .ew-btn {
  margin-top: 16px;
  padding: 8px 14px;
}

.ew-alerts-empty--error {
  background: #ef4444;
  border-color: #ef444466;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-empty--error {
    background: color-mix(in srgb, #ef4444 8%, var(--ew-bg-card));
  }
}

.ew-alerts-empty--error svg, .ew-alerts-empty--error h3 {
  color: #f87171;
}

.ew-alerts-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.ew-alerts-card-wrap {
  opacity: 0;
  animation: .48s cubic-bezier(.22, 1, .36, 1) forwards ew-alert-card-entrance;
  animation-delay: var(--card-delay, 0s);
  will-change: opacity, transform;
  padding-bottom: 12px;
  transform: translateY(16px);
}

@keyframes ew-alert-card-entrance {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ew-alerts-card-wrap {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

.ew-alerts-card {
  border-radius: var(--ew-radius);
  border: 1px solid var(--alert-color, var(--ew-border));
  grid-template-columns: 1fr;
  gap: 14px;
  display: grid;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-card {
    border: 1px solid color-mix(in srgb, var(--alert-color, var(--ew-border)) 45%, transparent);
  }
}

.ew-alerts-card {
  background: radial-gradient(circle at top right, var(--alert-soft, transparent), transparent 60%), var(--alert-bg, var(--ew-bg-card));
  color: var(--ew-text);
  cursor: pointer;
  padding: 14px;
  transition: border-color .2s, transform .2s;
}

.ew-alerts-card:hover {
  border-color: var(--alert-color, var(--ew-border-hover));
  transform: translateY(-1px);
}

@media (min-width: 960px) {
  .ew-alerts-card {
    grid-template-columns: 118px 1fr;
    align-items: stretch;
    padding: 16px;
  }
}

.ew-alerts-card__severity {
  border: 1px solid var(--alert-color, var(--ew-border));
  border-radius: 12px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-card__severity {
    border: 1px solid color-mix(in srgb, var(--alert-color, var(--ew-border)) 35%, transparent);
  }
}

.ew-alerts-card__severity {
  background: var(--alert-color, var(--ew-cyan));
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-card__severity {
    background: color-mix(in srgb, var(--alert-color, var(--ew-cyan)) 12%, #0000004d);
  }
}

.ew-alerts-card__severity {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
}

@media (min-width: 960px) {
  .ew-alerts-card__severity {
    flex-direction: column;
    gap: 6px;
    padding: 12px 10px;
  }
}

.ew-alerts-card__severity-icon {
  background: var(--alert-color, var(--ew-cyan));
  border-radius: 11px;
  width: 44px;
  height: 44px;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-card__severity-icon {
    background: color-mix(in srgb, var(--alert-color, var(--ew-cyan)) 28%, transparent);
  }
}

.ew-alerts-card__severity-icon {
  color: #fff;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.ew-alerts-card__severity strong {
  color: var(--alert-color, #fff);
  font-size: .94rem;
  font-weight: 800;
}

@supports (color: color-mix(in lab, red, red)) {
  .ew-alerts-card__severity strong {
    color: color-mix(in srgb, var(--alert-color, #fff) 78%, #fff);
  }
}

.ew-alerts-card__severity span {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ew-text-muted);
  font-size: .64rem;
}

.ew-alerts-card__detail {
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.ew-alerts-card__header {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

@media (min-width: 860px) {
  .ew-alerts-card__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.ew-alerts-card__header h2 {
  color: #fff;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
}

.ew-alerts-card__header p {
  color: var(--ew-text-muted);
  align-items: center;
  gap: 6px;
  margin: 4px 0 0;
  font-size: .79rem;
  line-height: 1.5;
  display: inline-flex;
}

.ew-alerts-card__chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.ew-alerts-card__chips span {
  text-transform: uppercase;
  letter-spacing: .05em;
  border: 1px solid var(--ew-border);
  color: var(--ew-text-muted);
  background: #ffffff08;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: .66rem;
}

.ew-alerts-card__content {
  grid-template-columns: 1fr;
  gap: 12px;
  display: grid;
}

@media (min-width: 1000px) {
  .ew-alerts-card__content {
    grid-template-columns: 1fr 300px;
    gap: 14px;
  }
}

.ew-alerts-card__info-grid {
  border: 1px solid var(--ew-border);
  background: #0000003d;
  border-radius: 12px;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px;
  display: grid;
}

@media (min-width: 640px) {
  .ew-alerts-card__info-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.ew-alerts-card__info-grid > div {
  min-width: 0;
}

.ew-alerts-card__info-grid > div span {
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ew-steel);
  margin-bottom: 4px;
  font-size: .62rem;
  font-weight: 700;
  display: block;
}

.ew-alerts-card__info-grid > div strong {
  color: var(--ew-text);
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.5;
  display: inline-flex;
}

.ew-alerts-card__areas {
  max-height: 94px;
  padding-right: 4px;
  overflow-y: auto;
}

.ew-alerts-card__map {
  border: 1px solid var(--ew-border);
  z-index: 0;
  background: #00000040;
  border-radius: 12px;
  min-height: 170px;
  position: relative;
  overflow: hidden;
}

.ew-alerts-card__map-loading {
  background: #0f172abf;
  width: 100%;
  height: 100%;
  min-height: 170px;
}

.ew-alerts-list-footer {
  justify-content: center;
  padding: 16px 0 6px;
  display: flex;
}

.ew-alerts-list-footer--end span {
  color: var(--ew-steel);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .68rem;
}

.ew-alerts-show-more {
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 9px 18px;
  font-size: .74rem;
}

.ew-alerts-show-more span {
  color: var(--ew-steel);
}

.ew-forecast-page {
  background: radial-gradient(circle at 10% 12%, #22d3ee29, transparent 32rem), radial-gradient(circle at 88% 2%, #3b82f61f, transparent 34rem), linear-gradient(180deg, #040a16e0, #040a16f7), var(--ew-bg-deep);
  min-height: 100vh;
  color: var(--ew-text);
  font-family: var(--font-display, var(--font-sans, Inter, system-ui, sans-serif));
  position: relative;
  overflow-x: hidden;
}

.ew-forecast-page:before {
  content: "";
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(#94a3b806 1px, #0000 1px) 0 0 / 56px 56px, linear-gradient(90deg, #94a3b806 1px, #0000 1px) 0 0 / 56px 56px, radial-gradient(circle at 50% 0, #0000 0 18%, #020617bd 58%, #020617f0 100%) 0 0 / 100% 100%;
  position: fixed;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000000d9, #00000073);
  mask-image: linear-gradient(#000000d9, #00000073);
}

.ew-forecast-content {
  z-index: 10;
  flex-direction: column;
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 86px 20px 56px;
  display: flex;
  position: relative;
}

.ew-forecast-trust-bar__inner {
  max-width: 1180px;
}

.ew-forecast-trust-bar__meta {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.ew-forecast-trust-bar__coords {
  color: var(--ew-slate);
  font-family: var(--font-mono, monospace);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ew-forecast-trust-bar__link {
  color: var(--ew-cyan);
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: color .2s, opacity .2s;
  display: inline-flex;
}

.ew-forecast-trust-bar__link:hover {
  color: #67e8f9;
}

.ew-forecast-radar {
  border-radius: 22px;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  display: flex;
}

.ew-forecast-radar__readout, .ew-forecast-radar__product, .ew-forecast-radar__empty {
  z-index: 5;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #020617b8;
  border: 1px solid #94a3b82e;
  position: absolute;
  box-shadow: 0 18px 36px #0000003d;
}

.ew-forecast-radar__readout {
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
  bottom: 14px;
  left: 14px;
  right: 14px;
}

.ew-forecast-radar__readout span, .ew-forecast-radar__product span {
  color: var(--ew-text);
  font-size: .75rem;
  font-weight: 800;
}

.ew-forecast-radar__readout strong, .ew-forecast-radar__product strong {
  color: var(--ew-cyan);
  font-family: var(--font-mono, monospace);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .64rem;
}

.ew-forecast-radar__product {
  text-align: right;
  border-radius: 12px;
  flex-direction: column;
  gap: 2px;
  padding: 9px 11px;
  display: flex;
  top: 14px;
  right: 14px;
}

.ew-forecast-radar__empty {
  max-width: calc(100% - 132px);
  color: var(--ew-steel);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  font-size: .68rem;
  font-weight: 800;
  display: inline-flex;
  top: 14px;
  left: 14px;
}

@keyframes ew-forecast-radar-sweep {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes ew-forecast-point-pulse {
  0% {
    opacity: .9;
    transform: translate(-50%, -50%)scale(.72);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(1.7);
  }
}

@keyframes ew-forecast-radar-loading {
  0% {
    background-position: 180% 0, 0 0;
  }

  100% {
    background-position: -60% 0, 0 0;
  }
}

@keyframes ew-forecast-scan {
  0%, 38% {
    transform: translateX(-76%);
  }

  72%, 100% {
    transform: translateX(76%);
  }
}

.ew-forecast-footer {
  text-align: center;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ew-steel);
  padding-top: 8px;
  font-size: .65rem;
  font-weight: 600;
}

@media (min-width: 900px) {
  .ew-forecast-hero__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }

  .ew-forecast-hero__body {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    align-items: start;
  }

  .ew-forecast-hero__updated {
    margin-left: auto;
  }
}

@media (min-width: 1080px) {
  .ew-forecast-content {
    gap: 8px;
    padding-top: 86px;
    padding-bottom: 10px;
  }

  .ew-forecast-dashboard-grid {
    grid-template: "current rail" minmax(0, 2fr)
                   "radar ." minmax(0, 1fr)
                   / minmax(0, 1fr) minmax(0, 1fr);
    height: clamp(560px, 100svh - 136px, 820px);
    min-height: 0;
  }

  .ew-forecast-dashboard-grid__current {
    grid-area: current;
  }

  .ew-forecast-dashboard-grid__right {
    grid-area: rail;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  }

  .ew-forecast-dashboard-grid > .ew-forecast-radar {
    grid-area: radar;
  }

  .ew-forecast-radar--chromeless .ew-forecast-radar__viewport {
    min-height: 0;
  }

  .ew-forecast-hero {
    height: 100%;
    padding: 18px 22px;
  }

  .ew-forecast-hero__top {
    gap: 10px;
    margin-bottom: 14px;
  }

  .ew-forecast-hero__eyebrow {
    margin-bottom: 6px;
    font-size: .62rem;
  }

  .ew-forecast-hero__location {
    font-size: .82rem;
  }

  .ew-forecast-hero__updated {
    padding: 6px 9px;
    font-size: .6rem;
  }

  .ew-forecast-hero__body {
    grid-template-columns: minmax(0, .95fr) minmax(220px, .75fr);
    gap: 12px;
  }

  .ew-forecast-hero__headline {
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: .98;
  }

  .ew-forecast-hero__grid {
    margin-top: 6px;
    font-size: .58rem;
  }

  .ew-forecast-hero__visual {
    gap: 10px;
    margin-top: 10px;
  }

  .ew-forecast-hero__icon-wrap {
    border-radius: 15px;
    width: 58px;
    height: 58px;
  }

  .ew-forecast-hero__icon-wrap svg {
    width: 38px;
    height: 38px;
  }

  .ew-forecast-hero__temp-value {
    font-size: clamp(2.6rem, 5.2vw, 3.35rem);
  }

  .ew-forecast-hero__temp-unit {
    font-size: .58rem;
  }

  .ew-forecast-hero__summary {
    margin-top: 4px;
    font-size: .74rem;
    line-height: 1.18;
  }

  .ew-forecast-alerts {
    margin-top: 10px;
    padding-top: 10px;
  }

  .ew-forecast-alerts__header {
    margin-bottom: 8px;
  }

  .ew-forecast-alerts__title {
    font-size: .78rem;
  }

  .ew-forecast-alerts__empty {
    padding: 12px;
    font-size: .68rem;
  }

  .ew-forecast-stat {
    border-radius: 10px;
    padding: 9px 10px;
  }

  .ew-forecast-stat__label {
    margin-bottom: 3px;
    font-size: .5rem;
  }

  .ew-forecast-stat__value {
    font-size: .76rem;
  }

  .ew-forecast-card__header {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .ew-forecast-card__title {
    font-size: .82rem;
  }

  .ew-forecast-card__subtitle {
    margin-top: 2px;
    font-size: .64rem;
  }

  .ew-forecast-card__body--rail {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .ew-forecast-rail {
    min-height: 0;
  }

  .ew-hourly-grid, .ew-daily-outlook-list {
    --ew-forecast-tile-width: clamp(88px, 7.3vw, 100px);
  }

  .ew-hourly-card, .ew-daily-outlook-card {
    border-radius: 16px;
    gap: 6px;
    padding: 10px;
  }

  .ew-hourly-card__hour, .ew-daily-outlook-card__name {
    font-size: .76rem;
  }

  .ew-hourly-card__day, .ew-daily-outlook-card__date span {
    font-size: .54rem;
  }

  .ew-hourly-card__main {
    gap: 7px;
  }

  .ew-hourly-card__icon, .ew-daily-outlook-card__icon {
    border-radius: 11px;
    width: 32px;
    height: 32px;
  }

  .ew-hourly-card__icon svg, .ew-daily-outlook-card__icon svg {
    width: 20px;
    height: 20px;
  }

  .ew-hourly-card__temp {
    font-size: .84rem;
  }

  .ew-hourly-card__summary, .ew-daily-outlook-card__summary p {
    -webkit-line-clamp: 1;
    font-size: .6rem;
    line-height: 1.18;
  }

  .ew-hourly-card__metrics span, .ew-daily-outlook-card__temp {
    font-size: .54rem;
  }
}

@media (max-width: 1020px) {
  .ew-forecast-radar__viewport {
    min-height: 330px;
  }
}

@media (min-width: 640px) {
  .ew-forecast-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ew-forecast-content {
    padding: 78px 14px 42px;
  }

  .ew-forecast-hero {
    padding: 18px 16px 20px;
  }

  .ew-forecast-radar__readout {
    flex-direction: column;
    align-items: flex-start;
  }

  .ew-forecast-radar__empty {
    max-width: calc(100% - 28px);
    right: 14px;
  }

  .ew-forecast-radar__product {
    display: none;
  }

  .ew-forecast-card__header, .ew-forecast-card__body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ew-forecast-card__body--flush {
    padding-left: 0;
    padding-right: 0;
  }

  .ew-forecast-hero__visual {
    align-items: flex-start;
  }

  .ew-forecast-hero__icon-wrap {
    border-radius: 18px;
    width: 86px;
    height: 86px;
  }

  .ew-forecast-trust-bar__inner {
    align-items: flex-start;
  }

  .ew-forecast-trust-bar__meta {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .ew-forecast-alerts__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 520px) {
  .ew-forecast-stats {
    grid-template-columns: 1fr;
  }

  .ew-forecast-card__body--rail {
    padding-left: 16px;
  }

  .ew-hourly-grid, .ew-daily-outlook-list {
    --ew-forecast-tile-width: 132px;
  }

  .ew-forecast-hero__visual {
    flex-direction: column;
  }

  .ew-daily-outlook-card__icon {
    width: 44px;
    height: 44px;
  }

  .ew-forecast-hero__temp-unit {
    font-size: .72rem;
  }

  .ew-forecast-state-actions .ew-btn {
    justify-content: center;
    width: 100%;
  }

  .ew-forecast-state-card__coords {
    text-align: left;
    border-radius: 16px;
    align-items: flex-start;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__90398cf8._.css.map*/