/*
 * ibm-plex-inject.css
 * Inyectado en AFFiNE via Nginx sub_filter para board.eternum.lat
 * Sobreescribe las variables tipográficas de AFFiNE con IBM Plex.
 *
 * Familia IBM Plex usada:
 *   - IBM Plex Sans     → UI general, cuerpo de texto
 *   - IBM Plex Serif    → títulos / documentos
 *   - IBM Plex Mono     → bloques de código
 *
 * Fuente: https://unpkg.com/@ibm/plex/
 * Alternativa self-host: descargar @ibm/plex desde npm y servir desde /fonts/ibm-plex/
 */

/* ----- IBM Plex Sans ----- */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ----- IBM Plex Serif ----- */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* ----- IBM Plex Mono ----- */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('https://unpkg.com/@ibm/plex@6.4.0/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ----- Sobreescritura de variables CSS de AFFiNE ----- */
:root {
  --affine-font-family: 'IBM Plex Sans', sans-serif !important;
  --affine-font-mono: 'IBM Plex Mono', monospace !important;
}

/* Aplicación global — cubre casos donde AFFiNE no usa las variables */
body,
.affine-editor-container,
.affine-page-root-block-container,
[data-block-is-root="true"] {
  font-family: 'IBM Plex Sans', sans-serif !important;
}

/* Títulos y headings */
h1, h2, h3, h4, h5, h6,
.affine-paragraph-block-container h1,
.affine-paragraph-block-container h2,
.affine-paragraph-block-container h3 {
  font-family: 'IBM Plex Serif', serif !important;
}

/* Bloques de código */
code,
pre,
.affine-code-block-container,
[data-block-flavour="affine:code"] {
  font-family: 'IBM Plex Mono', monospace !important;
}

/* UI general — sidebar, menús, botones */
.affine-sidebar-container,
.affine-app-sidebar,
button,
input,
select,
textarea {
  font-family: 'IBM Plex Sans', sans-serif !important;
}
