Fields for type="message":

Required:
  text                          str                                           (required)  — widget text content

Optional:
  font                          font name                                     default: panel default font  — BDF alias or hi-res font name
  font_color                    color | "rainbow" | "color_cycle" | "shimmer" | {style=...}  default: white  — text color or animated color provider
  bg_color                      [r, g, b] | none                              default: none  — solid background fill color
  center                        bool                                          default: true  — center text when it fits; false = left-align
  padding                       int (pixels)                                  default: 6  — end padding (spacing in side-by-side scroll)
  hold_time                     float (seconds)                               default: 0.0  — per-widget display duration floor; 0.0 defers to section
  animation                     "typewriter" | {style="typewriter", frames_per_char=N}  default: none  — text animation effect
  border                        "rainbow" | "color_cycle" | "lightbulbs" | [r,g,b] | {style="rainbow"|"color_cycle"|"constant"|"lightbulbs"|"bands", ...}  default: none  — animated border painted at panel edges — five styles (rainbow chase, color cycle, constant, bands, lightbulbs); see /concepts/borders/

Shared fields:
  type                          
  font_size                     int (pixels)  default: none  — text height in real pixels; required for hi-res fonts
  font_threshold                int 0–255  default: 128  — bitmask threshold for hi-res font rendering