/* -----------------------------------------------------------------------------
   Les pictogrammes des insignes

   Poses en CSS et non dans le HTML : les insignes se dessinent a QUATRE
   endroits, la barre du haut et la page publique en JavaScript, la liste des
   amis et le classement en PHP. Une icone glissee dans le balisage aurait ete
   a recopier quatre fois.

   Et dans un fichier a part, pas dans app.css : la page des amis a sa propre
   feuille, courte et autonome, elle ne charge pas app.css. Recopier ces
   dessins dans les deux aurait fait deux verites a maintenir.

   Le centrage vertical ne se regle pas au pixel pres ici. .badge est en
   inline-flex avec align-items:center : le picto se cale sur le milieu du
   texte quelle que soit la police installee sur la machine. Un vertical-align
   chiffre aurait donne un resultat different chez chacun.

   Ce sont des SVG en pixels, un chemin par ligne de meme couleur, inclus
   directement dans la feuille : aucun fichier a televerser, aucune requete de
   plus, et le dessin reste net a toutes les tailles et sur tous les ecrans.

   shape-rendering:crispEdges empeche le navigateur de lisser les bords. Sans
   lui, un carre de 11 px sur un ecran a densite non entiere devient flou et
   perd l'aspect pixel.
   ----------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   LES DESSINS, DECLARES UNE FOIS ET NOMMES

   Ils etaient ecrits directement dans la regle qui les utilisait. Ca tenait
   tant qu'un dessin ne servait qu'a un endroit ; la Master Ball en sert deux
   depuis que la fenetre de l'offre l'affiche a cote de son nom, et une Poke
   Ball est apparue la aussi sans qu'aucun insigne ne la porte.

   Recopier un data:image dans deux regles, c'est deux verites a corriger le
   jour ou le dessin change, et une des deux qu'on oublie. Les voici donc
   nommees une fois pour toutes : qui veut une Ball la demande par son nom.

   Elles sont sur :root et non sur .badge, pour que app.css puisse les lire
   depuis d'autres selecteurs. Toutes les pages qui affichent une Ball
   chargent cette feuille — index.php (et u.php qui l'inclut), compte.php,
   amis.php — donc aucune ne peut demander un dessin absent.
   --------------------------------------------------------------------------- */
:root{
  /* La Poke Ball. Elle ne sert a aucun insigne : elle designe l'offre
     gratuite dans la fenetre de l'abonnement, en face de la Master Ball. */
  --ball-poke:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 12%22 shape-rendering=%22crispEdges%22><path d=%22M4 0h4v1h-4z%22 fill=%22%23120c06%22/><path d=%22M2 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 1h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M8 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M1 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 2h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 3h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 4h10v1h-10z%22 fill=%22%23e0323c%22/><path d=%22M11 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 5h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M5 5h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M7 5h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M11 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 6h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M2 6h2v1h-2z%22 fill=%22%23e0323c%22/><path d=%22M4 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M5 6h2v1h-2z%22 fill=%22%23e8ecf3%22/><path d=%22M7 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M8 6h2v1h-2z%22 fill=%22%23e0323c%22/><path d=%22M10 6h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M0 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 7h1v1h-1z%22 fill=%22%23e8ecf3%22/><path d=%22M2 7h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M5 7h2v1h-2z%22 fill=%22%23e8ecf3%22/><path d=%22M7 7h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M10 7h1v1h-1z%22 fill=%22%23e8ecf3%22/><path d=%22M11 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 8h3v1h-3z%22 fill=%22%23e8ecf3%22/><path d=%22M5 8h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M7 8h3v1h-3z%22 fill=%22%23e8ecf3%22/><path d=%22M10 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 9h8v1h-8z%22 fill=%22%23e8ecf3%22/><path d=%22M10 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 10h4v1h-4z%22 fill=%22%23e8ecf3%22/><path d=%22M8 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 11h4v1h-4z%22 fill=%22%23120c06%22/></svg>");
  --ball-admin:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22><path d=%22M7 0h6v1h-6z%22 fill=%22%23120c06%22/><path d=%22M4 1h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M7 1h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M13 1h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M3 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M4 2h12v1h-12z%22 fill=%22%23e8ecf3%22/><path d=%22M16 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M3 3h14v1h-14z%22 fill=%22%23e8ecf3%22/><path d=%22M17 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 4h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 5h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 6h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 7h7v1h-7z%22 fill=%22%23e8ecf3%22/><path d=%22M8 7h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M12 7h7v1h-7z%22 fill=%22%23e8ecf3%22/><path d=%22M19 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 8h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M7 8h1v1h-1z%22 fill=%22%23e0323c%22/><path d=%22M8 8h4v1h-4z%22 fill=%22%23e8ecf3%22/><path d=%22M12 8h1v1h-1z%22 fill=%22%23e0323c%22/><path d=%22M13 8h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M19 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 9h7v1h-7z%22 fill=%22%23e0323c%22/><path d=%22M8 9h4v1h-4z%22 fill=%22%23e8ecf3%22/><path d=%22M12 9h7v1h-7z%22 fill=%22%23e0323c%22/><path d=%22M19 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 10h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 10h7v1h-7z%22 fill=%22%23e0323c%22/><path d=%22M8 10h4v1h-4z%22 fill=%22%23e8ecf3%22/><path d=%22M12 10h7v1h-7z%22 fill=%22%23e0323c%22/><path d=%22M19 10h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 11h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 11h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M7 11h1v1h-1z%22 fill=%22%23e0323c%22/><path d=%22M8 11h4v1h-4z%22 fill=%22%23e8ecf3%22/><path d=%22M12 11h1v1h-1z%22 fill=%22%23e0323c%22/><path d=%22M13 11h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M19 11h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 12h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 12h7v1h-7z%22 fill=%22%23e8ecf3%22/><path d=%22M8 12h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M12 12h7v1h-7z%22 fill=%22%23e8ecf3%22/><path d=%22M19 12h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 13h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 13h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 13h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 14h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 14h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 14h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 15h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 15h16v1h-16z%22 fill=%22%23e8ecf3%22/><path d=%22M18 15h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 16h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M3 16h14v1h-14z%22 fill=%22%23e8ecf3%22/><path d=%22M17 16h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M3 17h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M4 17h12v1h-12z%22 fill=%22%23e8ecf3%22/><path d=%22M16 17h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M4 18h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M7 18h6v1h-6z%22 fill=%22%23e8ecf3%22/><path d=%22M13 18h3v1h-3z%22 fill=%22%23120c06%22/><path d=%22M7 19h6v1h-6z%22 fill=%22%23120c06%22/></svg>");
  --ball-memoire:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 12%22 shape-rendering=%22crispEdges%22><path d=%22M4 0h4v1h-4z%22 fill=%22%23120c06%22/><path d=%22M2 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 1h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M8 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M1 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 2h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 3h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 4h3v1h-3z%22 fill=%22%23e0323c%22/><path d=%22M4 4h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M8 4h3v1h-3z%22 fill=%22%23e0323c%22/><path d=%22M11 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 5h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M5 5h2v1h-2z%22 fill=%22%23e0323c%22/><path d=%22M7 5h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M11 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 6h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M5 6h2v1h-2z%22 fill=%22%23e0323c%22/><path d=%22M7 6h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M11 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 7h3v1h-3z%22 fill=%22%23e0323c%22/><path d=%22M4 7h4v1h-4z%22 fill=%22%234a4f5c%22/><path d=%22M8 7h3v1h-3z%22 fill=%22%23e0323c%22/><path d=%22M11 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 8h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 9h8v1h-8z%22 fill=%22%23e0323c%22/><path d=%22M10 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 10h4v1h-4z%22 fill=%22%23e0323c%22/><path d=%22M8 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 11h4v1h-4z%22 fill=%22%23120c06%22/></svg>");
  --ball-master:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 12%22 shape-rendering=%22crispEdges%22><path d=%22M4 0h4v1h-4z%22 fill=%22%23120c06%22/><path d=%22M2 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 1h4v1h-4z%22 fill=%22%237c3aed%22/><path d=%22M8 1h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M1 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 2h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M3 2h1v1h-1z%22 fill=%22%23f472b6%22/><path d=%22M4 2h4v1h-4z%22 fill=%22%237c3aed%22/><path d=%22M8 2h1v1h-1z%22 fill=%22%23f472b6%22/><path d=%22M9 2h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M10 2h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 3h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M3 3h2v1h-2z%22 fill=%22%23f472b6%22/><path d=%22M5 3h2v1h-2z%22 fill=%22%237c3aed%22/><path d=%22M7 3h2v1h-2z%22 fill=%22%23f472b6%22/><path d=%22M9 3h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M10 3h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 4h2v1h-2z%22 fill=%22%237c3aed%22/><path d=%22M3 4h1v1h-1z%22 fill=%22%23f472b6%22/><path d=%22M4 4h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M5 4h2v1h-2z%22 fill=%22%23f472b6%22/><path d=%22M7 4h1v1h-1z%22 fill=%22%237c3aed%22/><path d=%22M8 4h1v1h-1z%22 fill=%22%23f472b6%22/><path d=%22M9 4h2v1h-2z%22 fill=%22%237c3aed%22/><path d=%22M11 4h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 5h4v1h-4z%22 fill=%22%230f1420%22/><path d=%22M5 5h2v1h-2z%22 fill=%22%23e8ecf3%22/><path d=%22M7 5h4v1h-4z%22 fill=%22%230f1420%22/><path d=%22M11 5h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 6h4v1h-4z%22 fill=%22%230f1420%22/><path d=%22M5 6h2v1h-2z%22 fill=%22%23e8ecf3%22/><path d=%22M7 6h4v1h-4z%22 fill=%22%230f1420%22/><path d=%22M11 6h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M0 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 7h10v1h-10z%22 fill=%22%23c3ccd9%22/><path d=%22M11 7h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 8h8v1h-8z%22 fill=%22%23c3ccd9%22/><path d=%22M10 8h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M1 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 9h8v1h-8z%22 fill=%22%23c3ccd9%22/><path d=%22M10 9h1v1h-1z%22 fill=%22%23120c06%22/><path d=%22M2 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 10h4v1h-4z%22 fill=%22%23c3ccd9%22/><path d=%22M8 10h2v1h-2z%22 fill=%22%23120c06%22/><path d=%22M4 11h4v1h-4z%22 fill=%22%23120c06%22/></svg>")
}
/* Seuls ces trois insignes ont un dessin. Ecrit sur .badge tout court, la
   regle collait aussi une boite vide de 11 px a l'insigne "nouveau" de la
   liste des amis, qui n'a pas d'icone : un blanc inexplique en fin de
   pastille. */
.badge.adm::after,.badge.pio::after,.badge.pro::after{content:"";display:inline-block;width:11px;height:11px;vertical-align:-1px;background-repeat:no-repeat;background-position:center;background-size:contain}
/* LA COURONNE EST REMPLACEE PAR UNE BALL, comme les deux autres insignes.
   Trois insignes cote a cote, deux Ball et une couronne : l'intrus se
   remarquait avant de se lire. Ici les trois disent la meme chose de la
   meme facon, et c'est la Ball qui change, pas le genre de dessin.

   Plus de largeur ni de hauteur a part : la couronne etait plus large que
   haute et avait besoin de ses propres mesures. Une Ball rentre dans le
   carre commun, elle reprend donc la regle du dessus.

   Les couleurs sont celles de la famille — le meme noir que les deux
   autres, le blanc et le gris de la Master Ball, le rouge de la Memoire
   Ball — et non les valeurs brutes du dessin d'origine : trois pictos
   dans la meme rangee ne doivent pas avoir trois blancs differents. */
.badge.adm::after{background-image:var(--ball-admin)}
.badge.pio::after{background-image:var(--ball-memoire)}
.badge.pro::after{background-image:var(--ball-master)}
