/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   bloc-cote.css — le partiel « bloc-cote » : le dessin, ses lignes d'attache, ses chaînes de cote.
   @registre /css/la-cote.css

   Lot 2 de « La cote » (`one-cote-label`, 2026-09-16). Cette feuille REPRODUIT le style des cotes de
   la page 2 du plan (pdfkit) en HTML + CSS ; elle ne le partage pas — il n'y a pas de moteur de rendu
   commun (spécification §6). Ce qui est partagé : la géométrie (shared/furniture-renderer.js) et le
   producteur de la chaîne d'une cote (shared/cote-label.js). Toute valeur ici est un jeton du registre
   déclaré ci-dessus (le recenseur tools/audit-css/one-set-of-values.js tient cette feuille à zéro
   littéral parce qu'elle NOMME son registre — registry by design, avant même qu'une page la lie).

   Anatomie (shared/bloc-cote.js émet ce balisage) :
     .bloc-cote                figure
       .bloc-cote__scene       le cadre : position relative, fond --surface-donnee (« fond des dessins »)
         .bloc-cote__dessin    le SVG du renderer (sa couche de cotes retirée), largeur 100 %, rapport
                               fixe par son viewBox — jamais en unités de fenêtre (§4)
         .bloc-cote__traits    un second SVG, même viewBox, posé dessus : lignes d'attache (tirets),
                               flèches, pointes — traits à épaisseur constante (vector-effect)
         .bloc-cote__ancre     un point (0 × 0) posé en % sur la scène ; la cote se centre dessus sans
                               transform (flex sur une boîte vide) — la chaîne garde ses 11 px quelle que
                               soit la largeur du dessin (plancher absolu de §2.2)
           .bloc-cote__cote    la chaîne : niveau « cote sur dessin » du registre (.cote-dessin), sur
                               une puce --surface-donnee pour que le trait ne la traverse pas
             .bloc-cote__tag   la lettre (L · H · P), couleur étiquette, capitales
             .bloc-cote__valeur la chaîne produite par shared/cote-label.js — jamais composée ici
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */

.bloc-cote { margin: 0; }
.bloc-cote__scene { position: relative; background: var(--surface-donnee); }
.bloc-cote__dessin svg { display: block; width: 100%; height: auto; }

/* La couche des traits : même viewBox que le dessin, posée dessus, transparente aux pointeurs. */
.bloc-cote__traits { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.bloc-cote__attache { stroke: var(--cote); stroke-width: var(--trait-filet); stroke-dasharray: 3 3; fill: none; vector-effect: non-scaling-stroke; }
.bloc-cote__fleche { stroke: var(--cote); stroke-width: var(--trait-filet); fill: none; vector-effect: non-scaling-stroke; }
.bloc-cote__pointe { fill: var(--cote); stroke: none; }

/* L'ancre : une boîte vide posée au point de la cote ; la cote se centre dessus (aucun transform). */
.bloc-cote__ancre { position: absolute; width: 0; height: 0; display: flex; align-items: center; justify-content: center; }
.bloc-cote__ancre--debut { justify-content: flex-start; }
.bloc-cote__ancre--fin { justify-content: flex-end; }

/* La cote : le niveau du registre porte la fonte, la taille (11 px, plancher), le lettrage et la couleur. */
.bloc-cote__cote { flex: 0 0 auto; display: inline-flex; align-items: baseline; gap: var(--espace-4); white-space: nowrap; padding: 0 var(--espace-4); background: var(--surface-donnee); }
/* Cote verticale (hauteurs) : le système aligné, lue de bas en haut comme sur le plan. Là où
   `sideways-lr` n'est pas pris en charge, la déclaration est ignorée et la cote reste horizontale. */
.bloc-cote__cote--verticale { writing-mode: sideways-lr; }
.bloc-cote__tag { color: var(--encre-etiquette); text-transform: uppercase; }
