/* ---------------------------------------------------------------------------
   Police arabe — lot 1 de docs/v2027/plan-i18n-arabe.md.

   Noto Naskh Arabic, fonte VARIABLE (un seul fichier couvre 400 à 700), dans le
   seul sous-ensemble « arabic » : les glyphes latins continuent de venir de la
   pile du site, rien n'est dupliqué.

   Auto-hébergée plutôt que servie par un CDN : pas d'origine tierce ajoutée à
   toute l'application pour une seule locale. Et grâce à l'`unicode-range`
   ci-dessous, le navigateur ne télécharge le fichier QUE s'il rencontre un
   caractère arabe : les cinq locales latines ne paient rien. C'est ce qui rend
   ces 92 kio acceptables au regard de la frugalité du projet, et ce qui permet
   de lier cette feuille inconditionnellement.

   Naskh plutôt qu'un sans-serif arabe : l'interface affiche beaucoup de petits
   corps (horaires, deltas signés, libellés de frise), où le naskh reste ouvert
   là où un sans-serif se referme.

   `font-display: swap` : le texte s'affiche tout de suite dans la fonte de
   repli puis bascule. Le jour d'une éclipse, une page blanche coûte plus cher
   qu'un changement de fonte.

   Licence : SIL Open Font License 1.1 — voir fonts/OFL.txt.
   --------------------------------------------------------------------------- */
@font-face {
    font-family: 'Noto Naskh Arabic';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-naskh-arabic-variable-arabic.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* La fonte arabe est ajoutée EN TÊTE du jeton de pile existant, pas en
   remplacement : `unicode-range` la limite aux caractères arabes, tout le reste
   retombe sur la pile du site, inchangée.

   Redéfinir le jeton plutôt que poser un `font-family` sur `html` évite d'entrer
   en concurrence avec les règles existantes, et couvre du même coup les libellés
   arabes qui apparaissent en locale LATINE — un nom de ville remonté par le
   géocodage n'attend pas que l'interface soit en arabe. */
:root {
    --font-family-sans: 'Noto Naskh Arabic', -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* À taille de police égale l'arabe paraît plus petit et supporte mal un
   interligne serré (plan §6.4). On relève l'interligne, PAS la taille : agir sur
   `font-size` de `html` rebaserait tous les `rem` et déplacerait tout le chrome,
   ce que le lot 1 cherche précisément à éviter. Le corps sera ajusté composant
   par composant une fois qu'il y aura du vrai texte arabe à regarder. */
html[dir="rtl"] body {
    line-height: 1.65;
}

/* L'arabe n'a pas de majuscules : `uppercase` n'y produit rien mais fausse les
   `letter-spacing` qui l'accompagnent. Neutralisé sur les 12 sélecteurs qui
   l'emploient — une règle universelle serait sans effet, sa spécificité nulle
   perdant contre celle de chaque composant. */
html[dir="rtl"] .custom-layers-control .panel-section-title,
html[dir="rtl"] .eclipse-calc-box .calc-section-title,
html[dir="rtl"] .eclipse-sheet__section-header,
html[dir="rtl"] .eclipse-horizon-modal__title,
html[dir="rtl"] .eclipse-sheet__block-live,
html[dir="rtl"] .eclipse-chip__base-tag,
html[dir="rtl"] .eclipse-chips__drawer-head,
html[dir="rtl"] .eclipse-frise__lrow-basetag,
html[dir="rtl"] .eclipse-options-popup__section-title,
html[dir="rtl"] .eclipse-mode-picker__lbl,
html[dir="rtl"] .eclipse-timer__free-tag,
html[dir="rtl"] .eclipse-layers-popup__cat {
    text-transform: none;
}

/* L'italique n'existe pas en arabe : le navigateur en synthétiserait une
   oblique, qui rend mal sur une écriture cursive. Même raisonnement de
   spécificité que ci-dessus, sur les 7 sélecteurs concernés. */
html[dir="rtl"] .eclipse-calc-box .loading,
html[dir="rtl"] .eclipse-calc-box .crosshair-info,
html[dir="rtl"] .eclipse-sheet__block-vis-nodata,
html[dir="rtl"] .eclipse-sheet__block-vis-3p-above,
html[dir="rtl"] .eclipse-vues-popup__empty,
html[dir="rtl"] .eclipse-help-popup__hint,
html[dir="rtl"] .eclipse-help-popup__error {
    font-style: normal;
}
