Die Musterseite zu Vertrag S-1: jeder Zustand hat GENAU EINE definierte Darstellung, und jeder Screen der App zieht sie von hier. Aufbau jeder Szene immer gleich: 3D-Objekt, Überschrift, Erklärtext, ein primärer und ein sekundärer Knopf. Kein Zustand ohne Ausweg. Jede Ansicht trägt ihre state_uid sichtbar über dem Mock.
Mocks mit lila 2 px-Rahmen sind ERGÄNZT: nicht in der bestellten Achterliste, aber vom Vertrag verlangt (S-1 nennt Druck/Fokus nicht, wohl aber „dauerhaft verweigert"; E-7/E-8 definieren den Recovery-Dialog). Sie stehen hier, damit die Zustandsszene vollständig ist, und sind als Ergänzung markiert statt still untergeschoben.
Vier Zustände, vier verschiedene Wahrheiten, deshalb vier Texte: offline heißt dein Gerät hat kein Netz (Wolke), Netzfehler heißt unterwegs abgerissen (Flieger), Backend heißt bei uns, nicht bei dir (Blitz), Zeitablauf heißt zu langsam, aber nichts passiert (Uhr). Jeder Text sagt zuerst, dass nichts verloren ist, dann was zu tun ist. Keine internen Wörter, keine Schuldzuweisung.

Deine Daten sind sicher gespeichert. Sobald du wieder Netz hast, geht es hier von allein weiter.

Die Verbindung ist unterwegs abgerissen. Es ist nichts verloren gegangen.

Das liegt nicht an dir. Wir kümmern uns schon darum, probier es gleich noch einmal.

Die Antwort kam nicht rechtzeitig. Dein Stand ist gespeichert, es ist nichts passiert.
Die Zahlung läuft: der Betrag heißt vorgemerkt, nie abgebucht, solange die Bestätigung fehlt (Autorisierung ist keine Belastung). Der Countdown sitzt IM Kartenkopf, dem Haltband aus dem Buchungsablauf, Format noch M:SS Min. Unbekannter Ausgang: ehrlich sagen, dass wir es nicht wissen, und zusichern, dass nichts doppelt abgebucht wird. Wiederholen: die App versucht es von allein weiter, der Knopf beschleunigt nur.

Der Betrag ist erst vorgemerkt und noch nicht abgebucht. Das dauert meist unter einer Minute.

Ob die Zahlung angekommen ist, wissen wir noch nicht sicher. Es wird nichts doppelt abgebucht. Wir sagen dir Bescheid, sobald es Klarheit gibt.

Der nächste Versuch startet gleich von allein. Du kannst ihn auch sofort anstoßen.
Beispiel Kontolöschung. Die Konsequenz steht VOR der Entscheidung und ist die ehrliche aus Q-3: anonymisiert, nicht gelöscht. Der sichere Weg trägt das Lila, die Konsequenz ist eine Kontur in der Statusfarbe: destruktiv bestätigt man nie über die Markenfläche, sonst sieht der gefährlichste Knopf aus wie jeder andere Hauptknopf.

Dein Name und deine Kontaktdaten werden entfernt. Deine Spiele und Buchungen bleiben anonymisiert bestehen, sie werden nicht gelöscht.
S-3: ein deaktiviertes Element erklärt, warum. Der Knopf wird graue Fläche UND sagt darunter, was ihm fehlt: Grau allein ist keine Erklärung. Beim Slot steht der Zustand als Wort im Slot selbst: frei ist antippbar mit Kontur, vergeben hat keine Kontur, keine Aktion und trägt sein Warum im eigenen Feld.
Geht los, sobald du eine Startzeit gewählt hast.
Als Regel im CSS, nicht als Behauptung im Text: der obere Knopf trägt die :active-Regel brightness(.95) und scale(.98), zum Prüfen gedrückt halten. Der untere zeigt den Fokusring dauerhaft: 2 px Markenlila mit 2 px Abstand, im echten Einsatz an :focus-visible. Ergänzt markiert, weil S-1 diese beiden nicht als Zustände listet, ein Designsystem sie aber definieren muss.
Halte den Knopf: 95 % Helligkeit, 98 % Größe.
Fokusring 2 px in der Markenfarbe, 2 px Abstand.
E-7: eigener Dialog mit klarer Beschreibung, Abbrechen und Zu den Einstellungen, hier als Blatt von unten, Beispiel Mitteilungen. Ohne Vorwurf: „sind ausgeschaltet", nie „du hast abgelehnt". E-8: liefert der Sprung false, nennt ein Hinweis den Pfad in Worten, und der Einstellungen-Knopf wird nicht noch einmal angeboten (ein Knopf, dessen einzige Antwort eine Absage wäre). Im Browser entfällt der Einstellungen-Knopf von vornherein. Ergänzt markiert: nicht in der Achterliste, aber von S-1 („dauerhaft verweigert") und E-7/E-8 verlangt.
Für padelsmart sind Mitteilungen im System gerade ausgeschaltet. Zum Einschalten geht es einmal kurz in die Einstellungen deines Handys.
Zu den Einstellungen AbbrechenDein System hat den direkten Sprung nicht erlaubt. So kommst du von Hand hin:
Einstellungen › Apps › padelsmart › Mitteilungen Alles klar