   '⍝':fg:'#008888'
   '!':fg:'#ff0000'
   'L':fg:'#000088'
-  'cu':lb:'#ff0000'
-  'mb':bg:'#ff0000'
+  'mb':bg:'#ffff88'
   'sc':bg:'#ff8800'
   'mo':bg:'#eeeeee'
 

      selectGroup H[' ']
    return
  $('#col-group').change -> selectGroup +@value; return
  $('#col-fg        ').change -> model[sel].fg         = @value;      updateSampleStyle(); return
  $('#col-bg        ').change -> model[sel].bg         = @value;      updateSampleStyle(); return
  $('#col-bold      ').click  -> model[sel].bold       = +!!@checked; updateSampleStyle(); return
  $('#col-italic    ').click  -> model[sel].italic     = +!!@checked; updateSampleStyle(); return
  $('#col-underlined').click  -> model[sel].underlined = +!!@checked; updateSampleStyle(); return
  ['fg', 'bg', 'lb'].forEach (p) ->
    $("#col-#{p}-cb").click ->
      $("#col-#{p}").toggle @checked

  '''
  return

props = qw 'fg bg B I U lb' # properties in style objects
getModelAsObject = -> # keyed by token type, contains only diffs from defaults, suitable for putting in localStorage
  v = {}
  for g, i in G
