/* AyInnovate · Das Feld
   Zwei feste Ebenen voller Balken. Ein Winkel (28°), eine Breite (1u).
   Bewegt wird ausschließlich transform — nichts anderes wird je angefasst. */

.feld {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}
.feld--hinten { z-index: 1; }
.feld--vorn   { z-index: 3; }

.balken {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--u);
  height: var(--u);           /* Länge entsteht über scaleY = Modulanzahl */
  background: var(--hairline);
  transform-origin: 0 0;
  will-change: transform;
  backface-visibility: hidden;
}
.balken--schwarz { background: var(--tiefschwarz); }
.balken--signal  { background: var(--signal); }

/* Auf der Platte kehrt sich die Fassung um — als Schnitt, Balken für Balken,
   sobald seine Mitte die Kante überquert. Das Signal bleibt orange. */
.balken--invers { background: var(--hairline-invers); }
.balken--schwarz.balken--invers { background: var(--papier); }

/* Ohne Bewegungswunsch steht das Feld still — im Takt, dem Ruhezustand des Systems.
   Die Platzierung übernimmt js/motor.js; hier entfällt nur die Compositing-Reservierung. */
@media (prefers-reduced-motion: reduce) {
  .balken { will-change: auto; }
}
