Both instruction paragraphs in the PIN-entry dialog used TextAlign.Justify, producing visibly uneven inter-word gaps across the ~670dp-wide column in all three pin-entry scenarios (light, dark, error).
textAlign = TextAlign.Justify was set explicitly on two Text composables in PinEntryScreen.kt. Justify stretches words to fill the full column width; at this column width it creates wide “rivers” between words that harm readability. TextAlign.Start (the Compose default) is correct for UI body copy.
Removed the textAlign = TextAlign.Justify parameter from both Text calls at lines 74 and 82 of composeApp/src/commonMain/kotlin/krill/zone/app/startup/PinEntryScreen.kt. The default TextAlign.Start now applies.
textAlign unset (defaulting to Start) for body copy in Compose — only set it intentionally for headings or labels where centering is semantically meaningful.TextAlign.Justify is not a MaterialTheme.typography default and should not appear in UI body paragraphs; any new use warrants a review comment.