/* Self-hosted Google Fonts
   PL-028: Eliminate render-blocking external DNS lookups for fonts

   Inter: Main body and heading font (400, 500, 600, 700 weights)
   JetBrains Mono: Monospace for stats/numbers (400, 700 weights)
   Noto Sans JP: Japanese support (400, 500, 700 weights) - for /jp/ page
*/

/* ===============================================================
   INTER - Main font
   =============================================================== */

/* Inter 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHAPMtNVgZC.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter 400 italic */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHAPMtNVgZC.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter 500 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHAPMtNVgZC.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHAPMtNVgZC.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter 700 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHAPMtNVgZC.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===============================================================
   JETBRAINS MONO - Monospace for stats/numbers
   =============================================================== */

/* JetBrains Mono 400 */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/jetbrainsmono/v18/tDbY2o-flEEny0FZhsfOoy2xFd-x_bMd2cUkZNGmGo.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* JetBrains Mono 700 */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/jetbrainsmono/v18/tDbY2o-flEEny0FZhsfOoy2xFd-x_bMd2cUkZNGmGo.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===============================================================
   NOTO SANS JP - Japanese support (for /jp/ page)
   =============================================================== */

/* Noto Sans JP 400 */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/notoSansJp/v42/-F6ofjtqLzI2JPCgQBnw7HFVVukDz2xv.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0124-0125, U+0136-0137, U+013B-013C, U+0139-013A, U+0149, U+0122-0123, U+0144-0146, U+0156-0157, U+015A-015B, U+0160-0161, U+0164-0165, U+0198-0199, U+021A-021B, U+0218-0219, U+0259, U+021E-021F, U+0162-0163, U+0200-0211, U+0213-0214, U+0258, U+023B-023C, U+0265, U+029F, U+0252, U+04BB, U+0490-0491, U+05B0-05C7, U+05D0-05EA, U+05EF-05F4, U+0591-05C7, U+20AA, U+200E, U+2670-2671, U+FB1D-FB36, U+FB38-FB3C, U+FB3E, U+FB40-FB41, U+FB43-FB44, U+FB46-FB4F, U+0386, U+0388-038A, U+038C, U+038E-03A1, U+03A3-03FF, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+0462-0463, U+0472-0473, U+0490-0491, U+04C0-04C1, U+04D0-04D7, U+1C90-1CBA, U+1CBD-1CBF, U+10A0-10C5, U+10C7, U+10CD, U+10D0-10FA, U+2D00-2D25, U+2D27, U+2D2D, U+0640, U+0641-064A, U+064B-0655, U+0656-066F, U+0671-06DC, U+06DD-06FF, U+0750-077F, U+08A0-08B4, U+0903, U+0904-0939, U+093D-0950, U+0955-0963, U+0966-097F, U+0981-0983, U+0985-098C, U+098F-0990, U+0993-09A8, U+09AA-09B0, U+09B2, U+09B6-09B9, U+09BD-09C4, U+09C7-09C8, U+09CB-09CE, U+09D7, U+09DC-09DD, U+09DF-09E3, U+09E6-09FE, U+0A01-0A03, U+0A05-0A0A, U+0A0F-0A10, U+0A13-0A28, U+0A2A-0A30, U+0A32-0A33, U+0A35-0A36, U+0A38-0A39, U+0A3D-0A3E, U+0A59-0A5C, U+0A5E, U+0A66-0A75, U+0A81-0A83, U+0A85-0A8D, U+0A8F-0A91, U+0A93-0AA8, U+0AAA-0AB0, U+0AB2-0AB3, U+0AB5-0AB9, U+0ABD-0AC5, U+0AC7-0AC9, U+0ACB-0ACD, U+0AD0, U+0AE0-0AE3, U+0AE6-0AF1, U+0AF9-0AFF, U+0B01-0B03, U+0B05-0B0C, U+0B0F-0B10, U+0B13-0B28, U+0B2A-0B30, U+0B32-0B33, U+0B35-0B39, U+0B3D-0B44, U+0B47-0B48, U+0B4B-0B4D, U+0B56-0B57, U+0B5C-0B5D, U+0B5F-0B63, U+0B66-0B77, U+0B82-0B83, U+0B85-0B8A, U+0B8E-0B90, U+0B92-0B95, U+0B99-0B9A, U+0B9C, U+0B9E-0B9F, U+0BA3-0BA4, U+0BA8-0BAA, U+0BAE-0BB9, U+0BBD-0BC2, U+0BC6-0BC8, U+0BCA-0BCD, U+0BD0, U+0BD7, U+0BE6-0BEF, U+0C00-0C0C, U+0C0E-0C10, U+0C12-0C28, U+0C2A-0C39, U+0C3D-0C44, U+0C46-0C48, U+0C4A-0C4D, U+0C55-0C56, U+0C58-0C5B, U+0C60-0C63, U+0C66-0C6F, U+0C80-0C8C, U+0C8E-0C90, U+0C92-0CA8, U+0CAA-0CB3, U+0CB5-0CB9, U+0CBD-0CC4, U+0CC6-0CC8, U+0CCA-0CCD, U+0CD5-0CD6, U+0CDD-0CDE, U+0CE0-0CE3, U+0CE6-0CEF, U+0CF1-0CF2, U+0D00-0D0C, U+0D0E-0D10, U+0D12-0D44, U+0D46-0D48, U+0D4A-0D4F, U+0D54-0D63, U+0D66-0D78, U+0D82-0D83, U+0D85-0D96, U+0D9A-0DB1, U+0DB3-0DBB, U+0DBD, U+0DC0-0DC6, U+0DCA, U+0DCF-0DD4, U+0DD6, U+0DD8-0DDF, U+0DE6-0DEF, U+0E01-0E3A, U+0E40-0E5B, U+0E81-0E82, U+0E84, U+0E87-0E88, U+0E8A, U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EBB, U+0EBD-0EC4, U+0EC6, U+0EC8-0ECD, U+0ED0-0ED9, U+0EDC-0EDF, U+0F00, U+0F35, U+0F37, U+0F39, U+0F3E-0F47, U+0F49-0F6C, U+0F88-0F8C, U+0FBD, U+0FCD, U+0FD5-0FD8, U+0FD9-0FDA, U+1000-109F, U+1680, U+1400-167F, U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+2B820-2CEAF, U+2CEB0-2EBEF, U+30000-3134F, U+F900-FAFF, U+2F800-2FA1F, U+3131-318E, U+3200-321E, U+3260-327E, U+AC00-D7AF, U+3041-3096, U+3099-30FF, U+2E9D-2EFF, U+2F00-2FDF, U+2000-206F, U+3000-303E, U+3099-30FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF;
}

/* Noto Sans JP 500 */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/notoSansJp/v42/-F6ofjtqLzI2JPCgQBnw7HFVVukDz2xv.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0124-0125, U+0136-0137, U+013B-013C, U+0139-013A, U+0149, U+0122-0123, U+0144-0146, U+0156-0157, U+015A-015B, U+0160-0161, U+0164-0165, U+0198-0199, U+021A-021B, U+0218-0219, U+0259, U+021E-021F, U+0162-0163, U+0200-0211, U+0213-0214, U+0258, U+023B-023C, U+0265, U+029F, U+0252, U+04BB, U+0490-0491, U+05B0-05C7, U+05D0-05EA, U+05EF-05F4, U+0591-05C7, U+20AA, U+200E, U+2670-2671, U+FB1D-FB36, U+FB38-FB3C, U+FB3E, U+FB40-FB41, U+FB43-FB44, U+FB46-FB4F, U+0386, U+0388-038A, U+038C, U+038E-03A1, U+03A3-03FF, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+0462-0463, U+0472-0473, U+0490-0491, U+04C0-04C1, U+04D0-04D7, U+1C90-1CBA, U+1CBD-1CBF, U+10A0-10C5, U+10C7, U+10CD, U+10D0-10FA, U+2D00-2D25, U+2D27, U+2D2D, U+0640, U+0641-064A, U+064B-0655, U+0656-066F, U+0671-06DC, U+06DD-06FF, U+0750-077F, U+08A0-08B4, U+0903, U+0904-0939, U+093D-0950, U+0955-0963, U+0966-097F, U+0981-0983, U+0985-098C, U+098F-0990, U+0993-09A8, U+09AA-09B0, U+09B2, U+09B6-09B9, U+09BD-09C4, U+09C7-09C8, U+09CB-09CE, U+09D7, U+09DC-09DD, U+09DF-09E3, U+09E6-09FE, U+0A01-0A03, U+0A05-0A0A, U+0A0F-0A10, U+0A13-0A28, U+0A2A-0A30, U+0A32-0A33, U+0A35-0A36, U+0A38-0A39, U+0A3D-0A3E, U+0A59-0A5C, U+0A5E, U+0A66-0A75, U+0A81-0A83, U+0A85-0A8D, U+0A8F-0A91, U+0A93-0AA8, U+0AAA-0AB0, U+0AB2-0AB3, U+0AB5-0AB9, U+0ABD-0AC5, U+0AC7-0AC9, U+0ACB-0ACD, U+0AD0, U+0AE0-0AE3, U+0AE6-0AF1, U+0AF9-0AFF, U+0B01-0B03, U+0B05-0B0C, U+0B0F-0B10, U+0B13-0B28, U+0B2A-0B30, U+0B32-0B33, U+0B35-0B39, U+0B3D-0B44, U+0B47-0B48, U+0B4B-0B4D, U+0B56-0B57, U+0B5C-0B5D, U+0B5F-0B63, U+0B66-0B77, U+0B82-0B83, U+0B85-0B8A, U+0B8E-0B90, U+0B92-0B95, U+0B99-0B9A, U+0B9C, U+0B9E-0B9F, U+0BA3-0BA4, U+0BA8-0BAA, U+0BAE-0BB9, U+0BBD-0BC2, U+0BC6-0BC8, U+0BCA-0BCD, U+0BD0, U+0BD7, U+0BE6-0BEF, U+0C00-0C0C, U+0C0E-0C10, U+0C12-0C28, U+0C2A-0C39, U+0C3D-0C44, U+0C46-0C48, U+0C4A-0C4D, U+0C55-0C56, U+0C58-0C5B, U+0C60-0C63, U+0C66-0C6F, U+0C80-0C8C, U+0C8E-0C90, U+0C92-0CA8, U+0CAA-0CB3, U+0CB5-0CB9, U+0CBD-0CC4, U+0CC6-0CC8, U+0CCA-0CCD, U+0CD5-0CD6, U+0CDD-0CDE, U+0CE0-0CE3, U+0CE6-0CEF, U+0CF1-0CF2, U+0D00-0D0C, U+0D0E-0D10, U+0D12-0D44, U+0D46-0D48, U+0D4A-0D4F, U+0D54-0D63, U+0D66-0D78, U+0D82-0D83, U+0D85-0D96, U+0D9A-0DB1, U+0DB3-0DBB, U+0DBD, U+0DC0-0DC6, U+0DCA, U+0DCF-0DD4, U+0DD6, U+0DD8-0DDF, U+0DE6-0DEF, U+0E01-0E3A, U+0E40-0E5B, U+0E81-0E82, U+0E84, U+0E87-0E88, U+0E8A, U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EBB, U+0EBD-0EC4, U+0EC6, U+0EC8-0ECD, U+0ED0-0ED9, U+0EDC-0EDF, U+0F00, U+0F35, U+0F37, U+0F39, U+0F3E-0F47, U+0F49-0F6C, U+0F88-0F8C, U+0FBD, U+0FCD, U+0FD5-0FD8, U+0FD9-0FDA, U+1000-109F, U+1680, U+1400-167F, U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+2B820-2CEAF, U+2CEB0-2EBEF, U+30000-3134F, U+F900-FAFF, U+2F800-2FA1F, U+3131-318E, U+3200-321E, U+3260-327E, U+AC00-D7AF, U+3041-3096, U+3099-30FF, U+2E9D-2EFF, U+2F00-2FDF, U+2000-206F, U+3000-303E, U+3099-30FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF;
}

/* Noto Sans JP 700 */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/notoSansJp/v42/-F6ofjtqLzI2JPCgQBnw7HFVVukDz2xv.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0124-0125, U+0136-0137, U+013B-013C, U+0139-013A, U+0149, U+0122-0123, U+0144-0146, U+0156-0157, U+015A-015B, U+0160-0161, U+0164-0165, U+0198-0199, U+021A-021B, U+0218-0219, U+0259, U+021E-021F, U+0162-0163, U+0200-0211, U+0213-0214, U+0258, U+023B-023C, U+0265, U+029F, U+0252, U+04BB, U+0490-0491, U+05B0-05C7, U+05D0-05EA, U+05EF-05F4, U+0591-05C7, U+20AA, U+200E, U+2670-2671, U+FB1D-FB36, U+FB38-FB3C, U+FB3E, U+FB40-FB41, U+FB43-FB44, U+FB46-FB4F, U+0386, U+0388-038A, U+038C, U+038E-03A1, U+03A3-03FF, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+0462-0463, U+0472-0473, U+0490-0491, U+04C0-04C1, U+04D0-04D7, U+1C90-1CBA, U+1CBD-1CBF, U+10A0-10C5, U+10C7, U+10CD, U+10D0-10FA, U+2D00-2D25, U+2D27, U+2D2D, U+0640, U+0641-064A, U+064B-0655, U+0656-066F, U+0671-06DC, U+06DD-06FF, U+0750-077F, U+08A0-08B4, U+0903, U+0904-0939, U+093D-0950, U+0955-0963, U+0966-097F, U+0981-0983, U+0985-098C, U+098F-0990, U+0993-09A8, U+09AA-09B0, U+09B2, U+09B6-09B9, U+09BD-09C4, U+09C7-09C8, U+09CB-09CE, U+09D7, U+09DC-09DD, U+09DF-09E3, U+09E6-09FE, U+0A01-0A03, U+0A05-0A0A, U+0A0F-0A10, U+0A13-0A28, U+0A2A-0A30, U+0A32-0A33, U+0A35-0A36, U+0A38-0A39, U+0A3D-0A3E, U+0A59-0A5C, U+0A5E, U+0A66-0A75, U+0A81-0A83, U+0A85-0A8D, U+0A8F-0A91, U+0A93-0AA8, U+0AAA-0AB0, U+0AB2-0AB3, U+0AB5-0AB9, U+0ABD-0AC5, U+0AC7-0AC9, U+0ACB-0ACD, U+0AD0, U+0AE0-0AE3, U+0AE6-0AF1, U+0AF9-0AFF, U+0B01-0B03, U+0B05-0B0C, U+0B0F-0B10, U+0B13-0B28, U+0B2A-0B30, U+0B32-0B33, U+0B35-0B39, U+0B3D-0B44, U+0B47-0B48, U+0B4B-0B4D, U+0B56-0B57, U+0B5C-0B5D, U+0B5F-0B63, U+0B66-0B77, U+0B82-0B83, U+0B85-0B8A, U+0B8E-0B90, U+0B92-0B95, U+0B99-0B9A, U+0B9C, U+0B9E-0B9F, U+0BA3-0BA4, U+0BA8-0BAA, U+0BAE-0BB9, U+0BBD-0BC2, U+0BC6-0BC8, U+0BCA-0BCD, U+0BD0, U+0BD7, U+0BE6-0BEF, U+0C00-0C0C, U+0C0E-0C10, U+0C12-0C28, U+0C2A-0C39, U+0C3D-0C44, U+0C46-0C48, U+0C4A-0C4D, U+0C55-0C56, U+0C58-0C5B, U+0C60-0C63, U+0C66-0C6F, U+0C80-0C8C, U+0C8E-0C90, U+0C92-0CA8, U+0CAA-0CB3, U+0CB5-0CB9, U+0CBD-0CC4, U+0CC6-0CC8, U+0CCA-0CCD, U+0CD5-0CD6, U+0CDD-0CDE, U+0CE0-0CE3, U+0CE6-0CEF, U+0CF1-0CF2, U+0D00-0D0C, U+0D0E-0D10, U+0D12-0D44, U+0D46-0D48, U+0D4A-0D4F, U+0D54-0D63, U+0D66-0D78, U+0D82-0D83, U+0D85-0D96, U+0D9A-0DB1, U+0DB3-0DBB, U+0DBD, U+0DC0-0DC6, U+0DCA, U+0DCF-0DD4, U+0DD6, U+0DD8-0DDF, U+0DE6-0DEF, U+0E01-0E3A, U+0E40-0E5B, U+0E81-0E82, U+0E84, U+0E87-0E88, U+0E8A, U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EBB, U+0EBD-0EC4, U+0EC6, U+0EC8-0ECD, U+0ED0-0ED9, U+0EDC-0EDF, U+0F00, U+0F35, U+0F37, U+0F39, U+0F3E-0F47, U+0F49-0F6C, U+0F88-0F8C, U+0FBD, U+0FCD, U+0FD5-0FD8, U+0FD9-0FDA, U+1000-109F, U+1680, U+1400-167F, U+3040-309F, U+30A0-30FF, U+31F0-31FF, U+4E00-9FFF, U+3400-4DBF, U+20000-2A6DF, U+2A700-2B73F, U+2B740-2B81F, U+2B820-2CEAF, U+2CEB0-2EBEF, U+30000-3134F, U+F900-FAFF, U+2F800-2FA1F, U+3131-318E, U+3200-321E, U+3260-327E, U+AC00-D7AF, U+3041-3096, U+3099-30FF, U+2E9D-2EFF, U+2F00-2FDF, U+2000-206F, U+3000-303E, U+3099-30FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF;
}
