sig
  module Color :
    sig
      type name =
          Aliceblue
        | Antiquewhite
        | Aqua
        | Aquamarine
        | Azure
        | Beige
        | Bisque
        | Black
        | Blanchedalmond
        | Blue
        | Blueviolet
        | Brown
        | Burlywood
        | Cadetblue
        | Chartreuse
        | Chocolate
        | Coral
        | Cornflowerblue
        | Cornsilk
        | Crimson
        | Cyan
        | Darkblue
        | Darkcyan
        | Darkgoldenrod
        | Darkgray
        | Darkgreen
        | Darkgrey
        | Darkkhaki
        | Darkmagenta
        | Darkolivegreen
        | Darkorange
        | Darkorchid
        | Darkred
        | Darksalmon
        | Darkseagreen
        | Darkslateblue
        | Darkslategray
        | Darkslategrey
        | Darkturquoise
        | Darkviolet
        | Deeppink
        | Deepskyblue
        | Dimgray
        | Dimgrey
        | Dodgerblue
        | Firebrick
        | Floralwhite
        | Forestgreen
        | Fuchsia
        | Gainsboro
        | Ghostwhite
        | Gold
        | Goldenrod
        | Gray
        | Grey
        | Green
        | Greenyellow
        | Honeydew
        | Hotpink
        | Indianred
        | Indigo
        | Ivory
        | Khaki
        | Lavender
        | Lavenderblush
        | Lawngreen
        | Lemonchiffon
        | Lightblue
        | Lightcoral
        | Lightcyan
        | Lightgoldenrodyellow
        | Lightgray
        | Lightgreen
        | Lightgrey
        | Lightpink
        | Lightsalmon
        | Lightseagreen
        | Lightskyblue
        | Lightslategray
        | Lightslategrey
        | Lightsteelblue
        | Lightyellow
        | Lime
        | Limegreen
        | Linen
        | Magenta
        | Maroon
        | Mediumaquamarine
        | Mediumblue
        | Mediumorchid
        | Mediumpurple
        | Mediumseagreen
        | Mediumslateblue
        | Mediumspringgreen
        | Mediumturquoise
        | Mediumvioletred
        | Midnightblue
        | Mintcream
        | Mistyrose
        | Moccasin
        | Navajowhite
        | Navy
        | Oldlace
        | Olive
        | Olivedrab
        | Orange
        | Orangered
        | Orchid
        | Palegoldenrod
        | Palegreen
        | Paleturquoise
        | Palevioletred
        | Papayawhip
        | Peachpuff
        | Peru
        | Pink
        | Plum
        | Powderblue
        | Purple
        | Red
        | Rosybrown
        | Royalblue
        | Saddlebrown
        | Salmon
        | Sandybrown
        | Seagreen
        | Seashell
        | Sienna
        | Silver
        | Skyblue
        | Slateblue
        | Slategray
        | Slategrey
        | Snow
        | Springgreen
        | Steelblue
        | Tan
        | Teal
        | Thistle
        | Tomato
        | Turquoise
        | Violet
        | Wheat
        | White
        | Whitesmoke
        | Yellow
        | Yellowgreen
      val string_of_name : CSS.Color.name -> string
      val rgb_of_name : CSS.Color.name -> int * int * int
      type t =
          Name of CSS.Color.name
        | RGB of (int * int * int)
        | RGB_percent of (int * int * int)
        | RGBA of (int * int * int * float)
        | RGBA_percent of (int * int * int * float)
        | HSL of (int * int * int)
        | HSLA of (int * int * int * float)
      val rgb : ?a:float -> int -> int -> int -> CSS.Color.t
      val hsl : ?a:float -> int -> int -> int -> CSS.Color.t
      type js_t = private Js.js_string Js.t
      val string_of_t : CSS.Color.t -> string
      val js : CSS.Color.t -> CSS.Color.js_t
      val ml : CSS.Color.js_t -> CSS.Color.t
      val js_t_of_js_string : Js.js_string Js.t -> CSS.Color.js_t
    end
  module Length :
    sig
      type t =
          Zero
        | Em of float
        | Ex of float
        | Px of float
        | Gd of float
        | Rem of float
        | Vw of float
        | Vh of float
        | Vm of float
        | Ch of float
        | Mm of float
        | Cm of float
        | In of float
        | Pt of float
        | Pc of float
      type js_t = private Js.js_string Js.t
      val string_of_t : CSS.Length.t -> string
      val js : CSS.Length.t -> CSS.Length.js_t
      val ml : CSS.Length.js_t -> CSS.Length.t
    end
  module Angle :
    sig
      type t = Deg of float | Grad of float | Rad of float | Turns of float
      type js_t = private Js.js_string Js.t
      val string_of_t : CSS.Angle.t -> string
      val js : CSS.Angle.t -> CSS.Angle.js_t
      val ml : CSS.Angle.js_t -> CSS.Angle.t
    end
end