}
.X {background: #000} /* unidentified */
-.Xr {background: #111} /* reverse */
-.Co, .Xi.Co {background: #322} /* private */
+.X > span {background: #898; background: rgba(255, 255, 255, .25)} /* invisible contents */
+
+/* letter scripts */
+.Armenian,
+.Greek {background: #532}
+.Cyrillic {background: #420}
+.Latin {background: #440}
+.Aramaic,
+.Hebrew {background: #452}
+.Arabic {background: #343}
+.African {background: #434}
+.Brahmic {background: #411} /* same as number */
+.Khmer {background: #410}
+.Hangul,
+.Syllabic {background: #230}
+.Katakana {background: #240}
+.Hiragana {background: #241}
+.Bopomofo {background: #041}
+.Han {background: #143}
+.Alpha {background: #020} /* other scripts */
+
+/* other categories */
+.Nd, .Nl, .No {background: #411} /* number */
+.Sc {background: #401} /* currency */
+.Sm {background: #303} /* math */
+.So {background: #204} /* symbol */
+.Pd, .Po, .Pc {background: #124} /* punctuation */
+.Ps, .Pe, .Pi, .Pf {background: #024} /* quote */
+.Lm, .Sk {background: #044} /* spacing modifier */
+.Mn {background: #022} /* modifier */
+.Cc, .Cf {color: #AAA; background: #556} /* control */
+.Zs {background: #142} /* space */
+.Co, .Xi.Co {background: #322} /* private */
+.Xi, .Cs {background: #444} /* invalid */
+.Xd {color: #844} /* deprecated */
+.Xr {color: #888} /* reserved (digraph reverse or proposal) */
+.dimap .Xr {background: #333} /* reversed digraph */
+.ccmap .Xr {opacity:.4}
/* implementation-based alternatives */
.l1 {background: #411} /* bmp */
.ex { color: #777} /* disfavoured */
.u-invalid {background: #333} /* impossible */
+/* foreground representation */
+#digraphs .u-l4 {color: #4A4} /* partial */
+#digraphs .u-l5 {color: #6C4} /* experimental */
+#digraphs .u-l2 {color: #A44; color: rgba(191, 127, 127, .8)} /* unofficial */
+#digraphs .u-l1 {color: #D00; color: rgba(255, 63, 63, .8)} /* missing */
+
.p4::after {color: #F44}
.p3::after {color: #E66}
.p2::after {color: #C88}