-td.u-di,
-td.X:hover {cursor: help}
-td.Greek:hover, td.Armenian:hover {background: #FA8}
-td.Cyrillic:hover {background: #FB7}
-td.Latin:hover {background: #EE4}
-td.Hebrew:hover, td.Aramaic:hover {background: #FFA}
-td.Arabic:hover {background: #CFD}
-td.African:hover {background: #BDB}
-td.Syllabic:hover, td.Hangul:hover {background: #CE6}
-td.Katakana:hover {background: #BF7}
-td.Hiragana:hover {background: #AF8}
-td.Bopomofo:hover {background: #8FA}
-td.Brahmic:hover {background: #F77}
-td.Khmer:hover {background: #F87}
-td.Han:hover {background: #5EB}
-td.Alpha:hover {background: #5C5}
-td.Nd:hover, td.Nl:hover, td.No:hover {background: #F99} /* number */
-td.Sc:hover {background: #F8C} /* currency */
-td.Sm:hover {background: #F8F} /* math */
-td.So:hover {background: #A8F} /* symbol */
-td.Pd:hover, td.Po:hover, td.Pc:hover {background: #8AF} /* punctuation */
-td.Ps:hover, td.Pe:hover, td.Pi:hover, td.Pf:hover {background: #8DF} /* quote */
-td.Lm:hover, td.Sk:hover {background: #BFF} /* spacing modifier */
-td.Mn:hover {background: #CDE} /* modifier */
-td.Zs:hover {background: #CED} /* space */
-td.Cc:hover, td.Cf:hover {background: #DDD} /* control */
-td.Co:hover {background: #A77} /* private */
-td.Xr:hover {background: #FFF} /* reserved */
-td.Xa:hover {outline: 1px solid #0F0} /* ascii */
-td.Xl:hover {outline: 1px solid #0C0} /* latin1 */
-td.Xz:hover {outline: 1px solid #F00} /* proposed */
-td.l0:hover {background: #F88}
-td.l2:hover {background: #FC8}
-td.l4:hover {background: #FF8}
-td.l5:hover {background: #CF8}
-td.l6:hover {background: #8F8}
-td.ex:hover {background: #BBB}
+.u-di,
+.X:hover {cursor: help}
+.X:hover > span {background: #FFF} /* whitespace marker */
+.Greek:hover, .Armenian:hover {background: #FA8}
+.Cyrillic:hover {background: #FB7}
+.Latin:hover {background: #EE4}
+.Hebrew:hover, .Aramaic:hover {background: #FFA}
+.Arabic:hover {background: #CFD}
+.African:hover {background: #BDB}
+.Syllabic:hover, .Hangul:hover {background: #CE6}
+.Katakana:hover {background: #BF7}
+.Hiragana:hover {background: #AF8}
+.Bopomofo:hover {background: #8FA}
+.Brahmic:hover {background: #F77}
+.Khmer:hover {background: #F87}
+.Han:hover {background: #5EB}
+.Alpha:hover {background: #5C5}
+.Nd:hover, .Nl:hover, .No:hover {background: #F99} /* number */
+.Sc:hover {background: #F8C} /* currency */
+.Sm:hover {background: #F8F} /* math */
+.So:hover {background: #A8F} /* symbol */
+.Pd:hover, .Po:hover, .Pc:hover {background: #8AF} /* punctuation */
+.Ps:hover, .Pe:hover, .Pi:hover, .Pf:hover {background: #8DF} /* quote */
+.Lm:hover, .Sk:hover {background: #BFF} /* spacing modifier */
+.Mn:hover {background: #CDE} /* modifier */
+.Zs:hover {background: #CED} /* space */
+.Cc:hover, .Cf:hover {background: #DDD} /* control */
+.Co:hover {background: #A77} /* private */
+.Xr:hover {background: #FFF} /* reserved */
+.Xi:hover {background: #DDD} /* invalid */
+.Xa:hover {outline: 1px solid #0F0} /* ascii */
+.Xl:hover {outline: 1px solid #0C0} /* latin1 */
+.u-prop:hover {outline: 1px solid #F00} /* proposed */
+.l0:hover {background: #888}
+.l1:hover {background: #F88}
+.l2:hover {background: #FC8}
+.l3:hover {background: #FF8}
+.l4:hover {background: #CF8}
+.l5:hover {background: #8F8}