/* [next]/internal/font/google/fraunces_a5c946ce.module.css [app-client] (css) */
@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.2qo5md4hn_gum.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: Fraunces;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.32sris142tqlb.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: Fraunces;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.2qo5md4hn_gum.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: Fraunces;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.32sris142tqlb.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: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.2qo5md4hn_gum.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: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.32sris142tqlb.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: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1e219c03c996efbd-s.2qo5md4hn_gum.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: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/03bda585a99c6450-s.p.32sris142tqlb.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: Fraunces Fallback;
  src: local(Times New Roman);
  ascent-override: 84.71%;
  descent-override: 22.09%;
  line-gap-override: 0.0%;
  size-adjust: 115.45%;
}

.fraunces_a5c946ce-module__ebz19q__className {
  font-family: Fraunces, Fraunces Fallback;
  font-style: normal;
}

.fraunces_a5c946ce-module__ebz19q__variable {
  --font-fraunces: "Fraunces", "Fraunces Fallback";
}

/* [next]/internal/font/google/source_sans_3_c4ad79ab.module.css [app-client] (css) */
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/da8a9dd0d68e512b-s.3tc7otjauzr1s.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: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ff5be760267bb4bc-s.16ho2af8siaoz.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/99596c30eb072d3c-s.18qy1692brv69.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: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e5864b32625b6bc3-s.19qxib7n2l0kn.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: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e285ad1a914469f0-s.15241mr5-1s6i.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/47df9ba1c7236d3b-s.p.2adce56gso3ku.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: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/da8a9dd0d68e512b-s.3tc7otjauzr1s.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: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ff5be760267bb4bc-s.16ho2af8siaoz.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/99596c30eb072d3c-s.18qy1692brv69.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: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e5864b32625b6bc3-s.19qxib7n2l0kn.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: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e285ad1a914469f0-s.15241mr5-1s6i.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/47df9ba1c7236d3b-s.p.2adce56gso3ku.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: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/da8a9dd0d68e512b-s.3tc7otjauzr1s.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: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ff5be760267bb4bc-s.16ho2af8siaoz.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/99596c30eb072d3c-s.18qy1692brv69.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: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e5864b32625b6bc3-s.19qxib7n2l0kn.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: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e285ad1a914469f0-s.15241mr5-1s6i.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/47df9ba1c7236d3b-s.p.2adce56gso3ku.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: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/da8a9dd0d68e512b-s.3tc7otjauzr1s.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: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ff5be760267bb4bc-s.16ho2af8siaoz.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/99596c30eb072d3c-s.18qy1692brv69.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: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/e5864b32625b6bc3-s.19qxib7n2l0kn.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: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/e285ad1a914469f0-s.15241mr5-1s6i.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/47df9ba1c7236d3b-s.p.2adce56gso3ku.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: "Source Sans 3 Fallback";
  src: local(Arial);
  ascent-override: 109.21%;
  descent-override: 42.66%;
  line-gap-override: 0.0%;
  size-adjust: 93.76%;
}

.source_sans_3_c4ad79ab-module__sQGrSW__className {
  font-family: "Source Sans 3", "Source Sans 3 Fallback";
  font-style: normal;
}

.source_sans_3_c4ad79ab-module__sQGrSW__variable {
  --font-source-sans: "Source Sans 3", "Source Sans 3 Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_4ba603de.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/04c5164763c40239-s.1kd-r_s9smv5m.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: 400;
  font-display: swap;
  src: url("../media/26f284dcc38c84c0-s.3hlisc-pwq13z.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: 400;
  font-display: swap;
  src: url("../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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: 400;
  font-display: swap;
  src: url("../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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: 400;
  font-display: swap;
  src: url("../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/051742360c26797e-s.p.1bkzbscqrt8rl.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;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/04c5164763c40239-s.1kd-r_s9smv5m.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: 500;
  font-display: swap;
  src: url("../media/26f284dcc38c84c0-s.3hlisc-pwq13z.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: 500;
  font-display: swap;
  src: url("../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.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: 500;
  font-display: swap;
  src: url("../media/fa39153a3fc630ba-s.36fqqi66-3tjb.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: 500;
  font-display: swap;
  src: url("../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/051742360c26797e-s.p.1bkzbscqrt8rl.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_4ba603de-module__Zo4tiq__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_4ba603de-module__Zo4tiq__variable {
  --font-jetbrains: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
:root {
  --ink: #0f172a;
  --ink-soft: #334155;
  --muted: #64748b;
  --hair: #e2e8f0;
  --hair-strong: #cbd5e1;
  --bg: #fafaf7;
  --surface: #fff;
  --primary: #1e3a8a;
  --primary-hover: #1c3582;
  --primary-soft: #eef2ff;
  --focus-ring: #1e3a8a1f;
  --code-bg: #f1f5f9;
  --success: #22c55e;
  --warn: #b45309;
  --warn-soft: #fef3c7;
  --warn-border: #fcd34d;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px #0f172a08;
  --shadow-md: 0 2px 8px #0f172a0f;
  --shadow-lg: 0 4px 16px #0f172a1a;
  --dur-fast: .1s;
  --dur: .12s;
  --dur-press: 40ms;
  --dur-highlight: .8s;
  --text-xs: .8em;
  --text-sm: .85em;
  --text-base: .92em;
  --text-md: 1em;
  --text-lg: 1.05em;
  --text-xl: 1.22em;
  --text-2xl: 1.35em;
  --text-3xl: 1.6em;
  --space-1: .25em;
  --space-2: .5em;
  --space-3: .75em;
  --space-4: 1em;
  --space-5: 1.5em;
  --space-6: 2.25em;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  background: var(--bg);
  height: 100%;
}

body {
  --serif: var(--font-fraunces), "Iowan Old Style", Georgia, serif;
  --sans: var(--font-source-sans), -apple-system, system-ui, sans-serif;
  --mono: var(--font-jetbrains), ui-monospace, SFMono-Regular, Menlo, monospace;
  font-family: var(--sans);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  font-size: 16px;
  line-height: 1.55;
}

.site-header {
  border-bottom: 1px solid var(--hair);
  background: var(--surface);
  z-index: 20;
  -webkit-backdrop-filter: saturate(180%) blur(6px);
  backdrop-filter: saturate(180%) blur(6px);
  position: sticky;
  top: 0;
}

.site-header .inner {
  box-sizing: border-box;
  align-items: center;
  gap: 1.2em;
  max-width: 1100px;
  height: 4.25em;
  margin: 0 auto;
  padding: .85em 1.5em;
  display: flex;
  overflow: visible;
}

.wordmark {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-2xl);
  letter-spacing: -.01em;
  color: var(--ink);
  text-decoration: none;
}

.wordmark .dot {
  color: var(--primary);
}

.container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.1em 1.5em 0;
}

.view-panel {
  margin-top: 1.05em;
}

.view-panel > :first-child {
  margin-top: 0;
}

.view-panel-title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-xl);
  color: var(--ink);
  letter-spacing: -.01em;
  margin: 0 0 .6em;
}

.empty {
  color: var(--muted);
  font-size: var(--text-base);
  padding: .6em 0;
}

.view-tabs-slot {
  height: 2.6em;
}

.view-tabs-bar {
  align-items: stretch;
  height: 100%;
  display: flex;
}

.view-tabs {
  scrollbar-width: none;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  height: 100%;
  display: flex;
  overflow: auto hidden;
}

.view-tabs::-webkit-scrollbar {
  display: none;
}

.tab-nav {
  width: 1.7em;
  color: var(--muted);
  transition: color var(--dur), background var(--dur);
  flex: none;
  justify-content: center;
}

.tab-nav:hover:not(:disabled) {
  color: var(--primary);
}

.tab-nav:disabled {
  opacity: .3;
  cursor: default;
}

.view-tab {
  font: inherit;
  cursor: pointer;
  border: 1px solid var(--hair-strong);
  background: var(--bg);
  color: var(--ink-soft);
  transition: background var(--dur), color var(--dur);
  border-bottom: none;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  gap: .2em;
  padding: .35em .2em .35em 1.2em;
  font-weight: 600;
  display: inline-flex;
}

.view-tab + .view-tab {
  margin-left: -1px;
}

.view-tab:first-child {
  border-top-left-radius: var(--radius-md);
}

.view-tab:last-child {
  border-top-right-radius: var(--radius-md);
}

.view-tab:hover:not(.active) {
  background: var(--primary-soft);
  color: var(--primary);
}

.view-tab.active {
  background: var(--surface);
  color: var(--ink);
  z-index: 1;
  position: relative;
}

.tab-label {
  align-items: center;
  gap: .3em;
  min-width: 0;
  max-width: 18em;
  display: inline-flex;
}

.tab-label svg {
  flex: none;
  display: block;
}

.tab-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.tab-close {
  width: 1.25em;
  height: 1.25em;
  color: var(--muted);
  font-size: var(--text-md);
  opacity: 0;
  transition: opacity var(--dur), background var(--dur), color var(--dur);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  line-height: 1;
}

.view-tab:hover .tab-close, .view-tab:focus-within .tab-close {
  opacity: 1;
}

.tab-close:hover {
  background: var(--hair);
  color: var(--ink);
}

.query-card {
  padding: 1.1em 1.2em var(--space-4);
}

.query-card h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: var(--text-lg);
  color: var(--ink-soft);
  letter-spacing: -.005em;
  margin: 0 0 .55em;
}

.query-input-row {
  align-items: stretch;
  gap: .55em;
  width: 100%;
  display: flex;
}

.query-input-row input {
  flex: auto;
}

input[type="text"], input[type="email"], input[type="password"] {
  width: 100%;
  font: inherit;
  font-size: var(--text-md);
  border: 1px solid var(--hair-strong);
  border-radius: var(--radius-md);
  color: var(--ink);
  transition: border-color var(--dur), box-shadow var(--dur);
  background: #fff;
  padding: .7em .85em;
}

input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--focus-ring);
  outline: none;
}

.btn {
  font: inherit;
  cursor: pointer;
  text-align: center;
  border: 1px solid var(--primary);
  border-radius: var(--radius-md);
  background: var(--primary);
  color: #fff;
  transition: background var(--dur), border-color var(--dur), transform var(--dur-press);
  padding: .55em 1.1em;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  display: inline-block;
}

.btn:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn:active {
  transform: translateY(1px);
}

.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.btn-outline {
  color: var(--primary);
  border-color: var(--primary);
  background: none;
}

.btn-outline:hover {
  background: var(--primary-soft);
  border-color: var(--primary);
}

.btn-sm {
  font-size: var(--text-sm);
  padding: .45em .95em;
}

.btn-icon {
  flex: none;
  justify-content: center;
  align-self: center;
  align-items: center;
  width: 2.8em;
  height: 2.8em;
  padding: 0;
  display: inline-flex;
}

.btn-icon svg {
  display: block;
}

.btn-icon.busy svg {
  animation: 1.1s ease-in-out infinite step-pulse;
}

.btn-bare {
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: .3em;
  padding: 0;
  display: inline-flex;
}

.btn-bare:disabled {
  opacity: .55;
  cursor: default;
}

.btn-link {
  font: inherit;
  color: var(--primary);
  cursor: pointer;
  text-underline-offset: 2px;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  display: inline;
}

.btn-link:hover {
  text-decoration-thickness: 2px;
}

.btn-danger {
  color: var(--muted);
  transition: color var(--dur);
}

.btn-danger:hover {
  color: var(--warn);
}

.card {
  background: var(--surface);
  border: 1px solid var(--hair);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

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

.card--flat {
  box-shadow: none;
}

.callout {
  background: var(--primary-soft);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.callout--boxed {
  border: 1px solid var(--primary);
  border-radius: var(--radius-md);
}

.callout--warn {
  background: var(--warn-soft);
  border-color: var(--warn-border);
  color: var(--warn);
}

.twocol {
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 2.2em;
  margin-top: 0;
  display: grid;
}

.twocol > main {
  min-width: 0;
}

.twocol > main .answer {
  margin-top: 0;
}

.twocol > aside {
  font-size: var(--text-base);
  border-left: 1px solid var(--hair);
  max-height: calc(100vh - 7em);
  padding-left: 1.6em;
  position: sticky;
  top: 5em;
  overflow-y: auto;
}

@media (max-width: 960px) {
  .twocol {
    grid-template-columns: 1fr;
    gap: 1.4em;
  }

  .twocol > aside {
    border-left: none;
    border-top: 1px solid var(--hair);
    max-height: none;
    padding-top: 1.2em;
    padding-left: 0;
    position: static;
    overflow: visible;
  }

  .twocol > aside h3 {
    margin-top: 0;
  }
}

.answer {
  min-height: 1em;
  margin-top: var(--space-4);
  padding: 1.6em 1.9em;
}

.answer > :first-child {
  margin-top: 0;
}

.answer > :last-child {
  margin-bottom: 0;
}

.answer h1, .answer h2, .answer h3, .answer h4 {
  font-family: var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
  margin: 1.4em 0 .45em;
  font-weight: 600;
  line-height: 1.25;
}

.answer h1 {
  font-size: var(--text-3xl);
}

.answer h2 {
  font-size: var(--text-xl);
}

.answer h3 {
  font-size: var(--text-lg);
}

.answer h4 {
  font-size: var(--text-md);
  color: var(--ink-soft);
}

.answer p {
  margin: .65em 0;
}

.answer ul, .answer ol {
  margin: .5em 0;
  padding-left: 1.4em;
}

.answer li {
  margin: .25em 0;
}

.answer li::marker {
  color: var(--muted);
}

.answer blockquote {
  border-left: 3px solid var(--primary);
  padding: .1em var(--space-4);
  color: var(--ink-soft);
  margin: .8em 0;
  font-style: italic;
}

.answer table {
  border-collapse: collapse;
  font-size: var(--text-md);
  margin: .8em 0;
}

.answer th, .answer td {
  border: 1px solid var(--hair);
  text-align: left;
  vertical-align: top;
  padding: .4em .7em;
}

.answer th {
  background: var(--primary-soft);
  font-weight: 600;
}

.answer code {
  background: var(--code-bg);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-base);
  color: var(--ink);
  padding: .05em .35em;
}

.answer pre {
  background: var(--code-bg);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  padding: .8em 1em;
  overflow-x: auto;
}

.answer pre code {
  background: none;
  padding: 0;
}

.answer hr {
  border: 0;
  border-top: 1px solid var(--hair);
  margin: 1.4em 0;
}

.answer a {
  color: var(--primary);
  text-underline-offset: 2px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.answer a:hover {
  text-decoration-thickness: 2px;
}

.answer a[href^="#endnote-"] {
  vertical-align: super;
  color: var(--primary);
  padding: 0 .15em;
  font-size: .72em;
  line-height: 0;
  text-decoration: none;
  display: inline-block;
}

.answer a[href^="#endnote-"]:hover {
  text-decoration: underline;
}

.endnotes {
  font-size: var(--text-base);
  color: var(--ink-soft);
}

.endnotes h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: var(--text-lg);
  color: var(--ink);
  letter-spacing: -.005em;
  margin: 0 0 .7em;
}

.endnotes ol {
  margin: 0;
  padding-left: 1.6em;
}

.endnotes li {
  padding: .45em 0;
  line-height: 1.5;
}

.endnotes li::marker {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.endnotes li:target {
  background: var(--primary-soft);
  transition: background var(--dur-highlight);
}

.endnotes h3:not(:first-child) {
  margin-top: 1.2em;
}

.endnotes ul.all-sources {
  margin: 0;
  padding-left: 1.6em;
  list-style: outside;
}

.endnotes ul.all-sources li {
  color: var(--ink-soft);
  padding: .45em 0;
  line-height: 1.5;
}

.source-item a, .case-footer a, .endnotes .lit-cite a {
  color: var(--primary);
  text-decoration: none;
}

.source-item a:hover, .case-footer a:hover, .endnotes .lit-cite a:hover {
  text-decoration: underline;
}

.source-item.cite-card {
  padding: 1em 1.1em;
}

.card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6em;
  margin-top: 0;
  display: grid;
}

.card-grid .source-item {
  margin: 0;
}

.case-panel {
  padding: var(--space-4) 1.1em;
}

.case-muted {
  color: var(--muted);
  font-size: var(--text-base);
}

.case-body {
  font-size: var(--text-md);
  color: var(--ink-soft);
  line-height: 1.65;
}

.case-meta {
  font-size: var(--text-sm);
  color: var(--muted);
  margin-bottom: .9em;
}

.case-summary {
  padding: .8em var(--space-4);
  font-size: var(--text-base);
  margin: .8em 0 .2em;
  line-height: 1.6;
}

.case-summary-label {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .4em;
  display: block;
}

.case-heading {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-lg);
  color: var(--ink);
  margin: 1.2em 0 .3em;
}

.case-para {
  gap: .9em;
  margin: .5em 0;
  line-height: 1.7;
  display: flex;
}

.case-num {
  text-align: right;
  font-size: var(--text-xs);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  flex: 0 0 1.8em;
  padding-top: .18em;
}

.case-text {
  flex: 1;
}

.case-court-box {
  margin: .4em 0;
}

.case-court-box summary {
  font-family: var(--sans);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--ink-soft);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  padding: .45em .85em;
  list-style: none;
}

.case-court-box summary::-webkit-details-marker {
  display: none;
}

.case-court-name {
  display: block;
}

.case-court-name:after {
  content: " ▾";
  color: var(--muted);
  font-size: var(--text-sm);
}

.case-court-box:not([open]) .case-court-name:after {
  content: " ▸";
  color: var(--muted);
  font-size: var(--text-sm);
}

.case-court-justices {
  font-weight: 500;
  font-size: var(--text-sm);
  color: var(--muted);
  margin-top: .15em;
  font-style: italic;
  display: block;
}

.case-court-box[open] summary {
  background: var(--primary-soft);
}

.case-court-body {
  padding: .25em .9em .7em;
}

.case-court-body .case-heading {
  margin-top: .9em;
}

.case-footer {
  border-top: 1px solid var(--hair);
  font-size: var(--text-sm);
  color: var(--muted);
  margin-top: 1.4em;
  padding-top: .7em;
}

.case-footer a + a, .case-footer .case-muted {
  margin-left: .9em;
}

.cite-line {
  font-size: var(--text-base);
  color: var(--ink);
  line-height: 1.5;
}

.source-item {
  padding: var(--space-3) .95em;
  margin: var(--space-2) 0;
}

.source-item .meta {
  color: var(--muted);
  font-size: var(--text-sm);
  margin-top: .4em;
}

.candidate-panel {
  margin: var(--space-3) 0 var(--space-3);
}

.candidate-label {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--muted);
  margin: 0 0 .4em;
}

.candidate-item {
  width: 100%;
  padding: var(--space-3) .95em;
  background: var(--surface);
  border: 1px solid var(--hair);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--dur), background var(--dur);
  flex-direction: column;
  align-items: flex-start;
  gap: .15em;
}

.candidate-item:hover {
  border-color: var(--primary);
  background: var(--primary-soft);
}

.candidate-main {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--text-md);
  color: var(--ink);
  line-height: 1.35;
}

.candidate-meta {
  color: var(--muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.progress {
  margin: var(--space-4) 0;
  padding: var(--space-4) 1.2em;
}

.progress-steps {
  flex-direction: column;
  gap: .55em;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.progress-steps li {
  color: var(--muted);
  font-size: var(--text-base);
  align-items: center;
  gap: .6em;
  display: flex;
}

.progress-steps li .step-dot {
  background: var(--hair-strong);
  border-radius: 50%;
  flex-shrink: 0;
  width: .7em;
  height: .7em;
}

.progress-steps li.active {
  color: var(--ink);
  font-weight: 600;
}

.progress-steps li.active .step-dot {
  background: var(--primary);
  animation: 1.1s ease-in-out infinite step-pulse;
}

.progress-steps li.done {
  color: var(--muted);
}

.progress-steps li.done .step-dot {
  background: var(--success);
}

@keyframes step-pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .35;
  }
}

.error-box {
  padding: .7em var(--space-4);
  font-size: var(--text-base);
  margin-bottom: 1.2em;
}

.nav-actions {
  align-items: center;
  gap: .7em;
  display: flex;
}

.site-header .inner .nav-actions {
  margin-left: auto;
}

.nav-actions .btn {
  font-size: var(--text-sm);
  padding: .45em .95em;
}

.auth-wrap {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 2em 1em;
  display: flex;
}

@media (max-width: 640px) {
  .site-header .inner {
    padding: .75em 1em;
  }

  .wordmark {
    font-size: var(--text-xl);
  }

  .nav-actions .btn {
    font-size: var(--text-xs);
    padding: .38em .7em;
  }

  .container {
    padding: .8em 1em 0;
  }

  .view-tabs-slot {
    height: 2.4em;
  }

  .query-card {
    padding: .9em 1em .8em;
  }

  .answer {
    padding: 1em 1.1em;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }
}

.answer-wrap {
  margin-top: 0;
}

.answer-toolbar {
  justify-content: center;
  gap: .55em;
  display: flex;
}

.answer-footer {
  margin-top: 1.1em;
}

.saved-card {
  margin: 0;
}

.saved-load {
  text-align: left;
  width: 100%;
  display: block;
}

.saved-q {
  font-size: var(--text-md);
  color: var(--ink);
  transition: color var(--dur);
  font-weight: 600;
  line-height: 1.5;
}

.saved-load:hover:not(:disabled) .saved-q {
  color: var(--primary);
}

.saved-meta {
  justify-content: space-between;
  align-items: center;
  gap: .6em;
  margin-top: .4em;
  display: flex;
}

.saved-date {
  font-size: var(--text-sm);
  color: var(--muted);
}

.apikey-new {
  padding: .8em var(--space-4);
  margin-bottom: .9em;
}

.apikey-new-label {
  font-size: var(--text-base);
  margin-bottom: .5em;
  font-weight: 600;
}

.apikey-new-row {
  align-items: center;
  gap: .6em;
  display: flex;
}

.apikey-new-key {
  font-family: var(--mono);
  font-size: var(--text-xs);
  background: var(--surface);
  border: 1px solid var(--hair);
  border-radius: var(--radius-sm);
  overflow-wrap: anywhere;
  flex: 1;
  padding: .45em .6em;
}

.apikey-warn {
  font-size: var(--text-xs);
  color: var(--warn);
  margin-top: .5em;
}

.apikey-create {
  gap: .6em;
  margin-bottom: .9em;
  display: flex;
}

.apikey-create input {
  font-family: var(--sans);
  font-size: var(--text-base);
  padding: var(--space-2) .8em;
  border: 1px solid var(--hair);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--ink);
  flex: 1;
}

.apikey-create input::placeholder {
  color: var(--muted);
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0m0olj5._.css.map*/