Generate Downloadable userChrome.css File

Updated February 23, 2022. Originally posted by jscher2000 on April 26, 2018 beta

You can paste CSS into this lightweight editor (Ace) and then generate a userChrome.css file for download. All text entry and file generation is done within the page without sending any code to my server. This page is not backed up as you work. The editor is not checking your code. (Because the syntax checking is obsolete, I turned it off.)

/***** START of Sample Rules (delete and replace with your your own rules) *****/

/**** Maximize Print Overlay Preview Size ****/

  /** Allow panel to be taller and wider **/

  .dialogBox.printDialogBox[sizeto="available"]{
    --box-ideal-height: 888 !important;
    width: calc(1080px + 250px + 50px) !important;
    max-width: calc(100vw - 4px) !important;
    max-height: calc(100vh - var(--box-top-px) - 4px) !important;
  }


/**** Audio Playing / Mute Button side-by-side when sound is playing ****/

  #TabsToolbar {
    --user-mute-button-height: 20px;  /* default size is 12px, site icon is 16px */
  }

  /* Move the mute/unmute button to the right and enlarge it */
  .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) {
    width: var(--user-mute-button-height) !important;
    height: var(--user-mute-button-height) !important;
    margin-left: calc(var(--user-mute-button-height) / 2 + 2px) !important; /* pushes icon to the right */
    margin-right: 2px !important; /* closes up some space before the text */
    padding: 0 !important; /* allows icon to expand to full size */
  }

  /* Move the site icon to the left a bit and adjust position */
  .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) {
    margin-left: -4px !important; /* pushes icon to the left */
    margin-top: calc((var(--user-mute-button-height) - 16px) / 2) !important;  /* keep site icon reasonably positioned */
  }

  /* Override the rules for hover/not hover visibility */
   /* for mute button */
  .tabbrowser-tab:not(:hover) .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]), 
   /* for site icon */
  .tabbrowser-tab:hover .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay), 
   /* for site icon with Compact density */
  :root[uidensity="compact"] .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) {
    opacity: 1 !important; /* overrides full transparency with full opacity */
  }

  /* Color the icon on hover for confirmation or avoidance */
  .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]):hover {
    fill: green !important;
  }
  [lwthemetextcolor="bright"] .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]):hover {
    fill: lightgreen !important; /* for dark themes */
  }

/***** END of Sample Rules *****/

using file name: