/* ==========================================================================
   EWB Radar -- inspector.css
   Inspector (inspector.js): Messwert-Sprechblase und Vorrang vor fremden Ebenen.
   Die Grundlage der Optik gibt .ruler-tooltip (ruler.css); was die Sprechblase anders hält,
   setzen die Regeln hier.
   ========================================================================== */

/* Etwas größer als die Lineal-Beschriftung: der Wert ist hier die ganze Aussage. */
.inspector-tooltip {
  font-size: var(--text-sm);
}

/* Die Blase selbst ist nicht fett, anders als die Lineal-Beschriftung: Ortsname und
   Koordinaten einer eingefrorenen stehen im normalen Gewicht. Zwei Klassen, damit die Regel
   das Gewicht der `.ruler-tooltip` (eine Klasse) schlägt, gleich, in welcher Reihenfolge die
   Dateien geladen werden. */
.ruler-tooltip.inspector-tooltip {
  font-weight: normal;
}

/* Die erste Zeile jeder Blase (bubbleHead in inspector_bubble.js), der Wert: im Gewicht der
   Lineal-Beschriftung (ruler.css). Eine Blase, die nur den Wert zeigt -- die folgende, die
   eingeklappte, die an einem Max/Min-Fadenkreuz --, ist damit ganz fett; in der mehrzeiligen
   setzt sich der Wert von den Zeilen darunter ab. Die Regel sitzt am span selbst und gilt
   deshalb vor jedem Gewicht, das er von der Blase erbte. */
.inspector-head {
  font-weight: 600;
}

/* Die eingefrorenen Sprechblasen nehmen Klicks an -- ein Klick kopiert die Zeilen der
   getroffenen, ein langer Druck klappt sie auf schmalem Fenster aus. Zwei Klassen, damit die
   Regel `.ruler-tooltip { pointer-events: none }` (eine Klasse) schlägt, gleich, in welcher
   Reihenfolge die Dateien geladen werden. Die dem Zeiger folgende nicht: sie liegt unter dem
   Zeiger und finge dessen Bewegungen ab. Ohne Textauswahl und Kontextmenü des Systems: der
   lange Druck gehört dem Ausklappen. */
.ruler-tooltip.inspector-tooltip--frozen {
  pointer-events: auto;
  cursor: pointer;
  max-width: min(75vw, 20rem);
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* Der Ortsname einer eingefrorenen Blase (inspector_bubble.js): die Breite gibt die
   Koordinatenzeile vor, ein längerer Name endet mit einer Ellipse. `width: 0` nimmt ihn aus
   der Breitenrechnung der Blase, `min-width: 100%` füllt danach die Breite, die die übrigen
   Zeilen ergeben. Die Koordinatenzeile bricht nicht um (white-space der .ruler-tooltip). */
.inspector-place {
  display: inline-block;
  vertical-align: top;
  width: 0;
  min-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Eine Farbstufe statt eines Messwerts (Werte-Kachel fehlt, Nowcast): kursiv. Der
   Screenshot übernimmt font-style, das Kennzeichen kommt mit ins Bild. */
.inspector-tooltip--approx {
  font-style: italic;
}

/* Die Näherung betrifft nur den Wert: Ortsname und Koordinaten einer eingefrorenen Blase
   bleiben gerade. Die erste Zeile (.inspector-head) steht nicht in dieser Regel und erbt die
   Kursive der Blase. */
.inspector-tooltip--approx .inspector-place,
.inspector-tooltip--approx .inspector-coords {
  font-style: normal;
}

/* Vorrang vor fremden Sprechblasen, solange der Inspector an ist (.inspector-aim am
   Karten-Container): Warnflächen, KONRAD-Flächen und alle übrigen anfassbaren
   Vektorflächen nehmen den Zeiger nicht mehr an, ihre Sprechblasen öffnen nicht.
   Drei Klassen schlagen Leaflets `.leaflet-pane > svg path.leaflet-interactive`. */
.inspector-aim .leaflet-pane > svg path.leaflet-interactive {
  pointer-events: none;
}

/* Dasselbe für die KONRAD-Marken: Zielkreuz und Vorhersagepunkte sind Marker in eigenen
   Panes (konrad_layer.js) und öffnen beim Überfahren oder Anklicken das Infofenster ihrer
   Zelle. Drei Klassen schlagen Leaflets `.leaflet-marker-icon.leaflet-interactive`. */
.inspector-aim .leaflet-konradCrosshair-pane .leaflet-interactive,
.inspector-aim .leaflet-konradDot-pane .leaflet-interactive {
  pointer-events: none;
}

/* Und für POI- und Standort-Marker (GPS, eigener Pin): beide bauen ihr Icon über
   createMarkerIcon() in poi_layer.js mit der Klasse poi-marker. Die eingefrorenen
   Fadenkreuze des Inspectors tragen sie nicht und bleiben klickbar. Vier Klassen schlagen
   Leaflets `.leaflet-marker-icon.leaflet-interactive`. */
.inspector-aim .leaflet-marker-icon.poi-marker.leaflet-interactive {
  pointer-events: none;
}
