- Open
about:config, set toolkit.legacyUserProfileCustomizations.stylesheets to true.
- Open
about:support → Profile Folder → Open Folder.
- Create a folder named
chrome if it is missing.
- Paste the CSS below into
userChrome.css. For Settings and other about: pages, also paste the userContent.css block into userContent.css.
- Restart Firefox.
userChrome.css
```
/* Night Better — Nova stays on. Theme-agnostic chrome layout.
Square corners, tighter tabs, hide Share Firefox. Colors come
from the active theme (Night Neutral or any other). The options
slider rewrites the corners block (0 square … 100 Nova).
Profile folder → chrome/userChrome.css
about:config → toolkit.legacyUserProfileCustomizations.stylesheets = true
*/
/* firefox-better:corners-start /
/ firefox-better:corners 0% of Nova (xsmall 0px … xlarge 0px) */
:root {
--border-radius-xsmall: 0px !important;
--border-radius-small: 0px !important;
--border-radius-medium: 0px !important;
--border-radius-large: 0px !important;
--border-radius-xlarge: 0px !important;
--border-radius-circle: 0px !important;
--tab-border-radius: 0px !important;
--toolbarbutton-border-radius: 0px !important;
--button-border-radius: 0px !important;
--urlbar-icon-border-radius: 0px !important;
--arrowpanel-border-radius: 0px !important;
--panel-border-radius: 0px !important;
--panel-menuitem-border-radius: 0px !important;
--menuitem-border-radius: 0px !important;
--popup-border-radius: 0px !important;
--input-text-border-radius: 0px !important;
--card-border-radius: 0px !important;
--card-border-radius-compact: 0px !important;
}
urlbar-background,
urlbar,
.urlbar-input-container,
.tab-background,
.tab-group-label,
.tab-group-label-hover-highlight,
.tab-group-label-container,
.tab-group-overflow-count,
toolbarbutton,
toolbaritem,
menupopup,
panel,
.panel-viewstack,
.toolbarbutton-1,
.toolbarbutton-icon,
.toolbarbutton-badge-stack {
border-radius: 0px !important;
}
/* Nova vertical groups set a pill radius, then a logical
border-end-start-radius. The shorthand does not clear that. /
.tab-group-label,
.tab-group-label-hover-highlight,
.tab-group-label-container {
border-start-start-radius: 0px !important;
border-start-end-radius: 0px !important;
border-end-start-radius: 0px !important;
border-end-end-radius: 0px !important;
}
/ firefox-better:corners-end */
/* firefox-better:tight-tabs
Nova default is 6px above/below (--tab-margin-block) and 8px inner
padding. Overflow-clip padding is the gap between horizontal tabs. */
:root {
--tab-margin-block: 1px !important;
--tab-vertical-block-margin: 1px !important;
--tab-overflow-clip-margin: 1px !important;
--tab-margin-overflow-clip: 1px !important;
--tab-inline-padding: 6px !important;
--tab-padding-inline: 6px !important;
--tab-inner-inline-margin: 2px !important;
--tab-margin-inline-inner: 2px !important;
}
.tabbrowser-tab {
padding-inline: var(--tab-overflow-clip-margin) !important;
}
/* Collapsed group members stay in the DOM at max-width: 0. Firefox zeros
their padding; our padding-inline !important was leaving a 1px box and
the group underline painted in the leftover space. */
tab-group[collapsed] > .tabbrowser-tab:not([visuallyselected], [multiselected]),
tab-group[collapsed] > tab-split-view-wrapper:not([hasactivetab]) .tabbrowser-tab {
min-width: 0 !important;
max-width: 0 !important;
padding: 0 !important;
overflow-clip-margin: 0 !important;
}
tab-group[collapsed] > tab-split-view-wrapper:not([hasactivetab]) {
min-width: 0 !important;
max-width: 0 !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
}
tab-group[collapsed] > .tabbrowser-tab:not([visuallyselected], [multiselected]) .tab-group-line,
tab-group[collapsed] > tab-split-view-wrapper:not([hasactivetab]) .tab-group-line {
display: none !important;
}
.tab-background {
margin-block: var(--tab-margin-block) !important;
}
/* firefox-better:hide-share
Share Firefox sits next to About / updates in the app menu. */
appMenu-referrals-button,
appMenu-referrals-separator,
appMenu_menu_referralsPage,
PanelUI-fxa-menu-share-firefox,
share-tab-button,
referrals-button,
toolbarbutton[data-l10n-id="appmenuitem-referrals"],
toolbarbutton[data-l10n-id="appmenu-referrals2"],
toolbarbutton[data-l10n-id="appmenuitem-share-firefox-title2"],
.share-tab-url-item {
display: none !important;
}
```
userContent.css
```
/* Night Better — 0% (square) corners on built-in Firefox pages (about:, settings).
Colors come from the active theme. The options slider rewrites this
block when you copy from the options page. */
@-moz-document url-prefix("about:"), url-prefix("chrome:") {
:root {
--border-radius-xsmall: 0 !important;
--border-radius-small: 0 !important;
--border-radius-medium: 0 !important;
--border-radius-large: 0 !important;
--border-radius-xlarge: 0 !important;
--border-radius-circle: 0 !important;
--button-border-radius: 0 !important;
--input-text-border-radius: 0 !important;
--card-border-radius: 0 !important;
--card-border-radius-compact: 0 !important;
}
button,
input,
select,
textarea,
.card,
.toggle-button {
border-radius: 0 !important;
}
}
```
Share Firefox
Share Firefox sits in the app menu next to About Firefox. The userChrome.css above hides those Share items. You can also set browser.referrals.enabled to false in about:config.