I've done a bit more playing, and I have information.
Street Atlas and Topo 6 support only a handful of styles. Most of those
are not actually stored in the "linestyle" member of the an1_line_record
struct, because they're supposed to look like roads, so they use the
"roadtype" member instead. There's a start on documenting those values
in a file in intdoc, though there are differences and I'm not sure the
road styles are really worth worrying about anyway. Roadtype also does
double duty as some kind of serial number. It's messy and not
completely understood. Only the first five styles in the dropdown
actually set the "style" member.
It's possible for a line to be translucent. This seems to be encoded in
the "unk5" member, which I've just determined has the same (poorly
understood) semantics as "fillflags" for a waypoint record. That is,
it's 0x3 for solid ones and 0x8200 for translucent ones. Feel free to
rename it now that we know what it is.
Line weight is definitely in pixels and doesn't change with zoom level.
Ugly when you zoom out very far, but that's the way it is.
3 dash - dot
4 dash - dot - dot
00bbggrr as suspected
either 100% or 50%, depending on fillflags/unk5.
pixels, scale independent.
I'll send your .an1 file in a separate email.