/* ── what the phone says when things go wrong ────────────────────────── The error toast gets the notice's shape: the sentence, and one action beside it where there is one to offer — Try again, or Sign in when the trouble is that nobody is signed in. The rules mirror .toast.notice's above rather than sharing them: this toast is the red one, and its line WRAPS (a translated sentence is a sentence, not a label), which is the one thing the notice's .nt must never do. */ .toast { display: flex; align-items: center; gap: 12px; } .toast .nt { flex: 1; min-width: 0; } .toast .na { flex: none; color: #ffd7d7; font-weight: 800; font-size: 13px; padding: 4px 8px; margin: -4px -8px -4px 0; border-radius: 6px; white-space: nowrap; } .toast .na:active { background: rgba(255, 255, 255, 0.12); } /* a stub that is explaining a failure rather than an emptiness: the same card, with the backend's own words under the lead in the muted colour */ .stub.why { color: var(--text-muted); } /* the two lines a screen says instead of a spinner that will not end */ .sec-note.rooms-note, .sec-note.offline-note { color: #ffb4b4; } /* the library folder the rescan could not reach — a row under the folder itself, so the path and what to do about it are in the same place. The path is drawn exactly as the Library folder row above it draws its own (`.m mono`, which .row does not give a face — leave that as it is rather than making these two rows disagree). */ .row.folder-gone .t { color: #ffb4b4; }