/* blu shift creative - design tokens
 * Sourced from: brand logo lockups (B-03 gradient mark, black lockup),
 * blu Pro iOS app screens (splash, feed, settings, profile menu),
 * and merch (bluLIVE hoodie, "WHAT YOU SPARK CHANGES LIVES" mug).
 *
 * Type - Google Fonts substitutions until brand-issued font files arrive:
 *   Display / brand   → Quicksand   (rounded geometric monoline; closest free match
 *                                    to the custom wordmark - see README "Type")
 *   Body              → Inter       (matches iOS feed body in screenshots)
 *   Script accent     → Caveat      (hand-marker style - "we're sending you some swag")
 *   Mono              → JetBrains Mono
 */

/* cyrillic-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/1e1de069-88d7-4863-9d16-820e8aba7ac8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/e884b9d6-6a0e-42d5-bf90-c299d6c9efdf.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/440f19fd-b7ed-4517-adf9-ea391e4f2d00.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/99118569-3921-4b98-8f5c-cd246ea4dcf0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/1e1de069-88d7-4863-9d16-820e8aba7ac8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/e884b9d6-6a0e-42d5-bf90-c299d6c9efdf.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/440f19fd-b7ed-4517-adf9-ea391e4f2d00.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/99118569-3921-4b98-8f5c-cd246ea4dcf0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/f8d5dc47-8d40-4477-8fea-f2b871c2ecd3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/27a86ca8-f289-4e0c-9e81-f6536a5d75b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/2d9174fe-59ce-4de2-a7f5-4c94dd203112.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d7c973b8-fed8-40f7-9f2f-c80a2a42a818.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/989f286c-b3d6-418e-bece-0eb3c454a3ea.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/6b4a8922-4638-4962-b681-0cfc95892799.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/3711ce2a-0ae4-4fbf-bfd0-c2e23f713103.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/f8d5dc47-8d40-4477-8fea-f2b871c2ecd3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/27a86ca8-f289-4e0c-9e81-f6536a5d75b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/2d9174fe-59ce-4de2-a7f5-4c94dd203112.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/d7c973b8-fed8-40f7-9f2f-c80a2a42a818.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/989f286c-b3d6-418e-bece-0eb3c454a3ea.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/6b4a8922-4638-4962-b681-0cfc95892799.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/3711ce2a-0ae4-4fbf-bfd0-c2e23f713103.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/f8d5dc47-8d40-4477-8fea-f2b871c2ecd3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/27a86ca8-f289-4e0c-9e81-f6536a5d75b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/2d9174fe-59ce-4de2-a7f5-4c94dd203112.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/d7c973b8-fed8-40f7-9f2f-c80a2a42a818.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/989f286c-b3d6-418e-bece-0eb3c454a3ea.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/6b4a8922-4638-4962-b681-0cfc95892799.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/3711ce2a-0ae4-4fbf-bfd0-c2e23f713103.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/f8d5dc47-8d40-4477-8fea-f2b871c2ecd3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/27a86ca8-f289-4e0c-9e81-f6536a5d75b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/2d9174fe-59ce-4de2-a7f5-4c94dd203112.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/d7c973b8-fed8-40f7-9f2f-c80a2a42a818.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/989f286c-b3d6-418e-bece-0eb3c454a3ea.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/6b4a8922-4638-4962-b681-0cfc95892799.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/3711ce2a-0ae4-4fbf-bfd0-c2e23f713103.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/f8d5dc47-8d40-4477-8fea-f2b871c2ecd3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/27a86ca8-f289-4e0c-9e81-f6536a5d75b0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/2d9174fe-59ce-4de2-a7f5-4c94dd203112.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/d7c973b8-fed8-40f7-9f2f-c80a2a42a818.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/989f286c-b3d6-418e-bece-0eb3c454a3ea.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/6b4a8922-4638-4962-b681-0cfc95892799.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/3711ce2a-0ae4-4fbf-bfd0-c2e23f713103.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/e731d8be-ff55-47eb-b55e-b3ccaec36f3c.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/1c16751b-0cc7-4253-a262-5efeebb9800d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/7b7d4e60-6533-4bd2-9830-0bc97aa487f4.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/1a1c0166-6ae4-47d1-ad76-d4addfcccaab.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fcb82171-290f-4223-86a6-1848a337ede8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/9fb699db-a10f-4105-94a5-c2a6c868521b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/e731d8be-ff55-47eb-b55e-b3ccaec36f3c.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/1c16751b-0cc7-4253-a262-5efeebb9800d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/7b7d4e60-6533-4bd2-9830-0bc97aa487f4.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/1a1c0166-6ae4-47d1-ad76-d4addfcccaab.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fcb82171-290f-4223-86a6-1848a337ede8.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/9fb699db-a10f-4105-94a5-c2a6c868521b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ae62565a-bee0-4de1-8c77-80eacf184173.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/c0816a69-3f36-4676-b593-7fe4983048f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/173b024e-2973-4d99-9eba-7f1a30cd4ac3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ae62565a-bee0-4de1-8c77-80eacf184173.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/c0816a69-3f36-4676-b593-7fe4983048f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/173b024e-2973-4d99-9eba-7f1a30cd4ac3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/ae62565a-bee0-4de1-8c77-80eacf184173.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/c0816a69-3f36-4676-b593-7fe4983048f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/173b024e-2973-4d99-9eba-7f1a30cd4ac3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/ae62565a-bee0-4de1-8c77-80eacf184173.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/c0816a69-3f36-4676-b593-7fe4983048f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/173b024e-2973-4d99-9eba-7f1a30cd4ac3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  /* ---- Brand core --------------------------------------------------- *
   *  The wordmark sits in two contexts:
   *   - white "blu" on bright cyan (splash, avatars, hero)
   *   - black "blu" on white (lockup, dark text on app feed)
   *  Navy + gradient appear only on the app icon and hero artwork.
   */

  /* Signature cyan - sampled from splash background + PRO badge */
  --blu-cyan:       #20CFE5;   /* the brand. saturated, hopeful */
  --blu-cyan-deep:  #16A8BD;   /* press / dark-on-dark */
  --blu-cyan-soft:  #CDF1F6;   /* tint surface, hover trays */
  --blu-cyan-ice:   #EAF9FB;   /* lightest surface tint */

  /* Brand neutrals */
  --blu-ink:        #0B0F1A;   /* near-black body text in app */
  --blu-graphite:   #1F2533;   /* secondary dark, toggle ON state */
  --blu-slate:      #6B7280;   /* meta / tertiary */
  --blu-mist:       #B9C0CD;   /* disabled */
  --blu-line:       #E6E8EE;   /* hairline divider */
  --blu-paper:      #FFFFFF;   /* default app surface */
  --blu-fog:        #F4F5F7;   /* grouped table background */

  /* Deep navy - hero / app-icon background, dark-mode surface */
  --blu-midnight:   #0A0E22;
  --blu-navy:       #131A36;
  --blu-twilight:   #1F2747;

  /* Hand-script accent ink - sampled from "we're sending you some swag" */
  --blu-marker:     #2C5C82;

  /* ---- Gradient stops (app icon / hero artwork) -------------------- */
  --grad-teal:      #6DD7DA;
  --grad-aqua:      #4FB8D1;
  --grad-violet:    #5E3F94;
  --grad-magenta:   #E5407F;
  --grad-coral:     #F26B71;
  --grad-blush:     #F8C5BA;

  /* Signature gradient (matches app icon B-03) */
  --blu-aurora:
    radial-gradient(120% 95% at 72% 18%,
      var(--grad-teal)    0%,
      var(--grad-aqua)   18%,
      #2C6C9C            36%,
      var(--grad-violet) 56%,
      var(--grad-magenta)76%,
      var(--grad-coral) 100%);
  --blu-aurora-soft:
    linear-gradient(135deg, var(--grad-teal) 0%, var(--grad-violet) 55%, var(--grad-magenta) 100%);
  --blu-aurora-text:
    linear-gradient(92deg, var(--blu-cyan) 0%, var(--grad-violet) 50%, var(--grad-magenta) 100%);

  /* ---- Semantic foreground / background ---------------------------- */
  --bg-page:        var(--blu-paper);
  --bg-surface:     var(--blu-paper);
  --bg-raised:      #FFFFFF;
  --bg-grouped:     var(--blu-fog);
  --bg-inset:       #F8F9FB;

  --fg-1:           var(--blu-ink);      /* primary text */
  --fg-2:           #2F3645;             /* secondary text / body */
  --fg-3:           var(--blu-slate);    /* meta */
  --fg-mute:        var(--blu-mist);     /* disabled */
  --fg-on-accent:   #FFFFFF;             /* text on cyan / dark */

  --line-1:         var(--blu-line);
  --line-2:         rgba(11,15,26,0.06);

  /* ---- Accent (semantic) ------------------------------------------ */
  --accent:         var(--blu-cyan);
  --accent-press:   var(--blu-cyan-deep);
  --accent-soft:    var(--blu-cyan-soft);
  --accent-hot:     var(--grad-magenta);

  --success:        #2BBF7E;
  --warning:        #FFB547;
  --danger:         #E64545;       /* notification badge red, "Sign out" */
  --live:           #FF2E55;       /* ON AIR / LIVE indicator */
  --pro:            var(--blu-cyan); /* "PRO" badge bg */

  /* AI / Summarize sparkle (seen in profile menu - violet) */
  --spark-violet:   #7B5CFF;

  /* ---- Type ------------------------------------------------------- */
  --font-display: "Quicksand", "Comfortaa", system-ui, sans-serif;
  --font-body:    "Inter", -apple-system, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-script:  "Caveat", "Permanent Marker", cursive;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Type scale */
  --t-display-xl: clamp(56px, 7vw, 96px);
  --t-display:    clamp(40px, 5vw, 64px);
  --t-h1:         clamp(28px, 3.6vw, 40px);
  --t-h2:         24px;
  --t-h3:         20px;
  --t-h4:         17px;     /* iOS list-row size in app */
  --t-body:       16px;
  --t-small:      14px;
  --t-micro:      13px;
  --t-eyebrow:    12px;

  --lh-tight:     1.05;
  --lh-snug:      1.2;
  --lh-body:      1.5;

  /* Spacing scale (4px base) */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  20px;
  --s-6:  24px;
  --s-8:  32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-16: 64px;
  --s-20: 80px;
  --s-24: 96px;

  /* Radii - generous, echo the rounded wordmark terminals */
  --r-xs:  6px;
  --r-sm:  10px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  28px;
  --r-2xl: 36px;
  --r-pill: 999px;

  /* Elevation - soft, low, cool-tinted */
  --shadow-1: 0 1px 2px rgba(11,15,26,0.06), 0 1px 1px rgba(11,15,26,0.04);
  --shadow-2: 0 6px 16px -6px rgba(11,15,26,0.12), 0 2px 4px rgba(11,15,26,0.06);
  --shadow-3: 0 18px 40px -18px rgba(11,15,26,0.20), 0 6px 14px -6px rgba(11,15,26,0.10);
  --shadow-glow: 0 0 0 1px rgba(32,207,229,0.40), 0 10px 30px -8px rgba(32,207,229,0.45);
  --shadow-logo: 0 6px 20px rgba(11,15,26,0.10);     /* subtle drop under wordmark */

  /* Motion */
  --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 140ms;
  --t-base: 220ms;
  --t-slow: 380ms;
}

/* ---- Dark surface override (hero sections / app icon contexts) ----- */
.theme-dark {
  --bg-page:    var(--blu-midnight);
  --bg-surface: var(--blu-navy);
  --bg-raised:  var(--blu-twilight);
  --bg-grouped: var(--blu-navy);
  --bg-inset:   #0F1431;
  --fg-1:       #F4F6FB;
  --fg-2:       #C5CBDD;
  --fg-3:       #8A93AE;
  --line-1:     rgba(255,255,255,0.10);
  --line-2:     rgba(255,255,255,0.06);
}

/* ---- Semantic typography ------------------------------------------- */
html, body {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: var(--fg-1);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Brand wordmark style - always lowercase, monoline, generous letter-spacing */
.brand, .brand-wordmark, .display-xl, .display, h1.brand, .brand-display {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
  text-transform: lowercase;
}
.display-xl, .brand-display { font-size: var(--t-display-xl); }
.display              { font-size: var(--t-display); }

h1 { font-family: var(--font-body); font-weight: 800; font-size: var(--t-h1); line-height: var(--lh-tight); letter-spacing: -0.02em; margin: 0; color: var(--fg-1); }
h2 { font-family: var(--font-body); font-weight: 700; font-size: var(--t-h2); line-height: var(--lh-snug); letter-spacing: -0.015em; margin: 0; color: var(--fg-1); }
h3 { font-family: var(--font-body); font-weight: 700; font-size: var(--t-h3); line-height: var(--lh-snug); letter-spacing: -0.01em; margin: 0; color: var(--fg-1); }
h4 { font-family: var(--font-body); font-weight: 600; font-size: var(--t-h4); line-height: var(--lh-snug); margin: 0; color: var(--fg-1); }
p  { font-family: var(--font-body); font-weight: 400; font-size: var(--t-body); line-height: var(--lh-body); margin: 0; color: var(--fg-2); }

.eyebrow {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--t-eyebrow);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-3);
}

.meta { font-size: var(--t-micro); color: var(--fg-3); letter-spacing: 0.01em; }
.code, code { font-family: var(--font-mono); font-size: 0.92em; }

/* Hand-marker accent - for short, joyful punctuating phrases.
   Use sparingly: 4-8 words max, paired with imagery. */
.script {
  font-family: var(--font-script);
  font-weight: 700;
  color: var(--blu-marker);
  font-size: 1.6em;
  letter-spacing: 0.01em;
  line-height: 1;
  transform: rotate(-2deg);
  display: inline-block;
}

.gradient-text {
  background: var(--blu-aurora-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* PRO badge - the inline brand badge from app header */
.pro-badge {
  display: inline-flex;
  align-items: center;
  background: var(--blu-cyan);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.62em;
  letter-spacing: 0.04em;
  padding: 0.25em 0.55em;
  border-radius: 8px;
  vertical-align: 0.45em;
  text-transform: uppercase;
}
