/* Outil · Redresser (Straighten) : seulement ce qui lui est propre (le reste vient de app/kit.css).
   Préfixe des classes : rs- (rd- est pris par Calcul RAID)
   À gauche : la zone fixe (l'image ajustée, et par-dessus un calque SVG aux coordonnées de l'image : ligne d'horizon,
   coins, lignes de mesure, poignées), la ligne d'info, Exporter. À droite : le mode, la consigne (2 lignes fixes), son
   panneau (les trois empilés dans la même case), une autre photo. */
.rs .outil-fixe { align-items: stretch; }
.rs-zone { position: relative; height: 480px; border-radius: 14px; display: grid; place-items: center; overflow: hidden; box-shadow: inset 0 0 0 1px var(--filet-doux); background: rgba(0, 0, 0, .18); }
.rs-zone.survol { box-shadow: inset 0 0 0 1.5px var(--orange); }
.rs-scene { position: relative; }
.rs-scene[hidden] { display: none; }
.rs-scene canvas, .rs-calque { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.rs-calque { touch-action: none; overflow: visible; }
.rs[data-mode="mesurer"] .rs-calque { cursor: crosshair; }
.rs-trait, .rs-mesure { stroke: var(--papier); fill: none; }
.rs-ref { stroke: var(--orange); fill: none; }
.rs-quad { fill: rgba(var(--orange-rgb), .08); stroke: var(--orange); stroke-linejoin: round; }
.rs-poignee { fill: rgba(18, 16, 14, .55); stroke: var(--papier); cursor: grab; }
.rs-poignee-ref { stroke: var(--orange); }
.rs-etiquette { fill: var(--papier); font-family: var(--mono); font-weight: 600; text-anchor: middle; paint-order: stroke; stroke: rgba(0, 0, 0, .7); stroke-linejoin: round; }
.rs-vide { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 20px; }
.rs-vide[hidden] { display: none; }
.rs-vide p { margin: 0; font: 600 16px/1.3 var(--corps); color: var(--papier); }
.rs-info { flex: none; height: 1lh; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rs-actions, .rs-ligne { display: flex; justify-content: center; }
.rs-ligne { justify-content: flex-start; }
.rs .pastille { cursor: pointer; }
.rs .pastille:hover { translate: none; }
.rs .pastille:disabled { opacity: .3; cursor: default; }
.rs-modes button { padding-inline: 4px; }
.rs-consigne { margin: 0; height: 3em; font: 400 13.5px/1.5 var(--corps); color: var(--texte2); }
.rs-panneaux { display: grid; }
.rs-panneau { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 14px; }
.rs-panneau[hidden] { display: flex; visibility: hidden; }
.rs-puces { flex-wrap: wrap; }
.rs-puces .puce { cursor: pointer; }
.rs-deux { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; align-items: end; }
.rs-mesures-tete { display: flex; justify-content: space-between; align-items: center; }
.rs-mesures-tete .groupe { padding: 0; }
.rs-mesure-ligne { height: 38px; cursor: default; }
.rs-mesure-ligne .val { color: var(--papier); font-variant-numeric: tabular-nums; }
@media (max-width: 959px) {
  .rs-zone { height: 340px; }
  .rs-deux { grid-template-columns: 1fr; }
}
