/* Thumb part: the fingerprint button on the sign-in screen (the shell's colour variables only). */
.th-signin { margin-bottom: 16px; }
.th-signin .th-go { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--tap, 48px); }
.th-signin .th-go svg { width: 22px; height: 22px; flex: none; }
.th-or { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; color: var(--muted); font-size: 0.9em; }
.th-or::before, .th-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
/* The app lock (lock_on_open): a plain screen over everything while the phone's fingerprint screen is up. */
.th-lock { position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 14px; padding: 32px 16px; background: var(--bg); color: var(--text); text-align: center; }
.th-lock-icon { width: 84px; height: 84px; border-radius: 20px; }
.th-lock-note { min-height: 1.4em; margin: 0; max-width: 320px; }
.th-lock .btn { min-width: 200px; min-height: var(--tap, 48px); }
.th-lock { cursor: pointer; }
.th-lock.th-quiet > * { visibility: hidden; }   /* NUK5: a blank cover until he cancels the phone's own fingerprint screen */
.th-lock-go { display: grid; place-items: center; width: 112px; height: 112px; border-radius: 50%; border: 0;
  background: transparent; color: var(--accent, var(--text)); padding: 0; cursor: pointer; }
html.th-locked, html.th-locked body { overflow: hidden; }
