/* Mauszeiger im Spiel-Look. Bilder: cursor-images.css (generiert aus src/styles/cursors/
   per node scripts/build-cursors.mjs). Sprache: dunkler Pfeil mit Goldrand = ruhig; goldener
   Pfeil mit Funken = klickbar; offene Hand = eigene Figur greifbar, Faust = in der Hand
   (board-lift.css); rotes Fadenkreuz = Schlagziel, blaue Raute = Faehigkeitsziel
   (Farbcode des Bretts: Rot Schlag, Gold Zug, Blau Faehigkeit). Auf Touch-Geraeten
   bleiben die Variablen Browser-Schluesselwoerter, dort aendert sich nichts.
   Die cursor:-Angaben in allen anderen Stylesheets zeigen auf dieselben Variablen. */
html { cursor: var(--mp-cur-arrow); }

/* Der Browser setzt auf Links/Knoepfen/Auswahlfeldern eigene Zeiger (auto/default),
   die die Vererbung von html brechen. :where() haelt die Spezifitaet bei null, damit
   jede Klassenregel (.btn:disabled, .x.disabled ...) weiterhin gewinnt. */
:where(a[href], button, select, summary, label[for],
  input[type="checkbox"], input[type="radio"], input[type="range"],
  input[type="submit"], input[type="button"], input[type="file"], input[type="color"]) {
  cursor: var(--mp-cur-pointer);
}
:where(button, select, input):disabled { cursor: var(--mp-cur-arrow); }
:where(input:not([type]), input[type="text"], input[type="email"], input[type="password"],
  input[type="search"], input[type="number"], input[type="url"], input[type="tel"],
  textarea, [contenteditable="true"]) {
  cursor: text;
}

/* Spielbrett. Felder ruhig; Figuren klickbar (Auswahl oder Karte); eigene Figur, die
   man jetzt greifen darf (render/board-drag.js setzt .canGrab, auch vorgegriffen im
   Gegnerzug): Hand; Zielfelder in der Zugfarbe. Die Figur selbst erbt vom Feld. */
.sq { cursor: var(--mp-cur-arrow); }
.chip { cursor: inherit; }
.sq.move, .sq.extra, .sq.selected, .sq.placeTarget, .sq.pickCandidate,
.sq.tutorialTarget { cursor: var(--mp-cur-pointer); }
/* Eigene Regel: ein Browser ohne :has() verwirft nur diese Zeile, nicht die obere. */
.sq:has(.chip) { cursor: var(--mp-cur-pointer); }
.sq.canGrab { cursor: var(--mp-cur-grab); }
.sq.capture, .sq.actionCaptureTarget { cursor: var(--mp-cur-strike); }
.sq.actionSourceTarget { cursor: var(--mp-cur-effect); }

/* Startseiten-Brett (hero-board.css): Schlagziel ebenfalls mit Fadenkreuz. */
.heroBoardStage.is-playable .heroBoardTile.target-capture { cursor: var(--mp-cur-strike); }
