/* ===========================================
   Bilingual Journal — Fonts（全面セルフホスト）
   CSP（style-src 'self' / font-src 'self' data:）準拠のため
   Google Fonts への外部参照は禁止。woff2 は public/fonts/ に同梱。
   サブセット分割と unicode-range は Google Fonts の配信構造を踏襲。
   =========================================== */

/* 日本語は fonts-japanese.css を HTML から直接読み込む。 */

/* --- Outfit: Latin UI 主フォント --- */

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/outfit-400-latin.92684e4acde79ef0.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;
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/outfit-400-latin-ext.9e38b3f1575daba3.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;
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/outfit-500-latin.92684e4acde79ef0.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;
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/outfit-500-latin-ext.9e38b3f1575daba3.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;
}


/* ===========================================
   GovoriteCyrillic — キリル文字専用フェイス
   ロシア語をファーストクラスのコンテンツとして描画するためのエイリアス。
   ストレスマーク（結合アクセント U+0301、例 приве́т）を母音直上に正しく配置する
   PT Sans を採用（Raleway/Inter は U+0301 を母音右上に浮かせストレス表記を破壊）。
   unicode-range をキリル + 結合分音記号に限定し、per-glyph フォールバックで
   キリル文字のみを本フェイスにルーティング（Latin / 日本語は主フォント維持）。
   =========================================== */

@font-face {
  font-family: "GovoriteCyrillic";
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
  src: local("SF Pro Text"), local("SFProText-Regular"), local("PT Sans"), local("PTSans-Regular"), url("/assets/fonts/pt-sans-400-cyrillic.9503de4dcabf36b0.woff2") format("woff2");
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+0300-036F;
}

@font-face {
  font-family: "GovoriteCyrillic";
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/pt-sans-400-cyrillic-ext.2bce65df35cec488.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "GovoriteCyrillic";
  font-weight: 600 900;
  font-style: normal;
  font-display: swap;
  src: local("SF Pro Text"), local("SFProText-Bold"), local("PT Sans Bold"), local("PTSans-Bold"), url("/assets/fonts/pt-sans-700-cyrillic.3259cd13d9825252.woff2") format("woff2");
  unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+0300-036F;
}

@font-face {
  font-family: "GovoriteCyrillic";
  font-weight: 600 900;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/pt-sans-700-cyrillic-ext.b18f12b8938243fe.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}


/* --- PT Serif: 日記本文用セリフ（--font-diary からのみ参照） ---
   Latin + キリル両対応。cyrillic サブセットに U+0301 を含み、
   ストレスマーク付きロシア語をセリフでも正しく描画。 */

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-400-latin.202b8aa6108ec44b.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;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-400-latin-ext.3a274c5ae6fd7bcb.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;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-400-cyrillic.a60d74d7dc6d8344.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-400-cyrillic-ext.3a7b3ec02adf7294.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-700-latin.57d3ae6c4b78cc2d.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;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-700-latin-ext.1895f8fe0add5c53.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;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-700-cyrillic.8e7689d802131334.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/pt-serif-700-cyrillic-ext.117410c3c0e4fb2c.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
