由于最近 Firefox 的隐私声明问题,包括这几年的一些操作,把一直用的 Firefox 换成了 LibreWolf。一个舒服、顺手的浏览器对我很重要。

firefox config

Info

  • about:profiles => Root Directory =>user.js

  • about:profiles => Root Directory => chrome 文件夹 => userChrome.css

  • about:config => font.name.sans-serif.zh-CN -> Hack Nerd Font

  • about:config => layout.css.grid-template-masonry-value.enabled -> true

  • 插件 Vimium => 自定义css

  • 插件 Sidebery ,垂直标签栏

  • 插件 uBlacklist

    https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list_uBlacklist.txt

    https://raw.githubusercontent.com/obgnail/chinese-internet-is-dead/master/blocklist.txt

    https://raw.githubusercontent.com/popcar2/BadWebsiteBlocklist/refs/heads/main/uBlacklist.txt

user.js

//
/* You may copy+paste this file and use it as it is.
 *
 * If you make changes to your about:config while the program is running, the
 * changes will be overwritten by the user.js when the application restarts.
 *
 * To make lasting changes to preferences, you will have to edit the user.js.
 */

/****************************************************************************
 * Betterfox                                                                *
 * "Ad meliora"                                                             *
 * version: 135                                                             *
 * url: https://github.com/yokoffing/Betterfox                              *
****************************************************************************/

/****************************************************************************
 * SECTION: FASTFOX                                                         *
****************************************************************************/
/** GENERAL ***/
user_pref("content.notify.interval", 100000);

/** GFX ***/
user_pref("gfx.canvas.accelerated.cache-size", 512);
user_pref("gfx.content.skia-font-cache-size", 20);

/** DISK CACHE ***/
user_pref("browser.cache.disk.enable", false);

/** MEDIA CACHE ***/
user_pref("media.memory_cache_max_size", 65536);
user_pref("media.cache_readahead_limit", 7200);
user_pref("media.cache_resume_threshold", 3600);

/** IMAGE CACHE ***/
user_pref("image.mem.decode_bytes_at_a_time", 32768);

/** NETWORK ***/
user_pref("network.http.max-connections", 1800);
user_pref("network.http.max-persistent-connections-per-server", 10);
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
user_pref("network.http.pacing.requests.enabled", false);
user_pref("network.dnsCacheExpiration", 3600);
user_pref("network.ssl_tokens_cache_capacity", 10240);

/** SPECULATIVE LOADING ***/
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("network.prefetch-next", false);
user_pref("network.predictor.enabled", false);
user_pref("network.predictor.enable-prefetch", false);

/** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true);

/****************************************************************************
 * SECTION: SECUREFOX                                                       *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.helperApps.deleteTempFileOnExit", true);
user_pref("browser.uitour.enabled", false);
user_pref("privacy.globalprivacycontrol.enabled", true);

/** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 1);
user_pref("security.remote_settings.crlite_filters.enabled", true);
user_pref("security.pki.crlite_mode", 2);

/** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false);

/** DISK AVOIDANCE ***/
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("browser.sessionstore.interval", 60000);

/** SHUTDOWN & SANITIZING ***/
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
user_pref("privacy.history.custom", true);

/** SEARCH / URL BAR ***/
user_pref("browser.urlbar.trimHttps", true);
user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false);
user_pref("security.insecure_connection_text.enabled", true);
user_pref("security.insecure_connection_text.pbmode.enabled", true);
user_pref("network.IDN_show_punycode", true);

/** HTTPS-FIRST POLICY ***/
user_pref("dom.security.https_first", true);

/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("editor.truncate_user_pastes", false);

/** MIXED CONTENT + CROSS-SITE ***/
user_pref("security.mixed_content.block_display_content", true);
user_pref("pdfjs.enableScripting", false);

/** EXTENSIONS ***/
user_pref("extensions.enabledScopes", 5);

/** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);

/** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true);

/** SAFE BROWSING ***/
user_pref("browser.safebrowsing.downloads.remote.enabled", false);

/** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", "");

/** TELEMETRY ***/
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true);
user_pref("toolkit.coverage.endpoint.base", "");
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);

/** EXPERIMENTS ***/
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");

/** CRASH REPORTS ***/
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);

/** DETECTION ***/
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);

/****************************************************************************
 * SECTION: PESKYFOX                                                        *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.aboutwelcome.enabled", false);
user_pref("browser.profiles.enabled", true);

/** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS

/** COOKIE BANNER HANDLING ***/
user_pref("cookiebanners.service.mode", 1);
user_pref("cookiebanners.service.mode.privateBrowsing", 1);

/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.timeout", 0);

/** URL BAR ***/
user_pref("browser.urlbar.suggest.calculator", true);
user_pref("browser.urlbar.unitConversion.enabled", true);
user_pref("browser.urlbar.trending.featureGate", false);

/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
user_pref("browser.newtabpage.activity-stream.showWeather", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);

/** POCKET ***/
user_pref("extensions.pocket.enabled", false);

/** DOWNLOADS ***/
user_pref("browser.download.manager.addToRecentDocs", false);

/** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true);

/** TAB BEHAVIOR ***/
user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("browser.menu.showViewImageInfo", true);
user_pref("findbar.highlightAll", true);
user_pref("layout.word_select.eat_space_to_next_word", false);

/****************************************************************************
 * START: MY OVERRIDES                                                      *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:

/****************************************************************************
 * SECTION: SMOOTHFOX                                                       *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line:

/****************************************************************************
 * END: BETTERFOX                                                           *
****************************************************************************/

userChrome.css

@media (prefers-color-scheme:dark){
    :root{
        --bg: #181818 !important; /* 2A2A2A */

        --urlbar-bg: #222222;
        --urlbar-border-top: #000;
        --urldrop-bg: #222222; /* #1D1D1D */
        --urlbar-border-bottom: #404040;
        --urlbar-outline: #96a6c8;

        --fullscreen-warn: rgb(25,25,25);

        --arrowpanel-background: var(--urlbar-bg) !important;
        --button-hover-bgcolor: rgba(159, 159, 159, 0.35) !important;
        --button-active-bgcolor: rgba(255, 255, 255, .2) !important;
        --button-bgcolor: rgba(117, 117, 117, 0.9) !important;
        --toolbarbutton-icon-fill-opacity: 0.8 !important;
        --arrowpanel-border-color: rgb(55, 55, 55) !important;
        --identity-btn-hover-color: rgba(117,117,117) !important;

        --dark-menu-background-color: rgba(34, 34, 36, .5) !important;
        --dark-menu-border-color: rgb(55, 55, 55) !important;
        --dark-menuitem-hover-background-color: rgba(159, 159, 159, 0.35) !important;
    }
}

@media (prefers-color-scheme:light){
    :root{   
        --bg: #f1f5f9;

        --urlbar-bg: #cbd5e1;
        --urlbar-border-top: #9ca3af;
        --urlbar-border-bottom: #fff;
        --urldrop-bg: #cbd5e1;
        --urlbar-outline: #94a3b8;

        --fullscreen-warn: rgb(25,25,25);

        --arrowpanel-background: #e2e8f0 !important;
        --button-hover-bgcolor: #cbd5e1 !important;
        --button-active-bgcolor: #cbd5e1 !important;
        --identity-btn-hover-color: white !important;
    }
}

/* Suppress Connecting/Waiting/Reading/Transerring */
/*  #statuspanel[type="status"] {
   display: none !important;
 } */

/* Suppress Link Destination Overlay */
/*  #statuspanel[type="overLink"] {
   display: none !important;
 } */


/* URL BAR */
#urlbar {
    border-radius: 24px !important;
    border: 0 !important;
}

#urlbar:not(.megabar):not([focused="true"]):hover {
    outline: 1px solid var(--urlbar-outline) !important;
}

#urlbar[focused="true"] {
    border: 0 !important;
    border-top: 1px solid var(--urlbar-border-top) !important;
    border-bottom: 1px solid var(--urlbar-border-bottom) !important;
    border-radius: 24px !important;
}

#urlbar[breakout][breakout-extend]{
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px,
                rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px,
                rgba(0, 0, 0, 0.09) 0px 32px 16px !important;
    top: calc(
        (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2 ) !important;
    left: 0 !important;
    width: 100% !important;
}

#urlbar-container{
    margin-top: 4px !important;
    margin-bottom: 1px !important;
    display: initial;

}

#urlbar-background {
    box-shadow: none !important;
    border-radius: 24px !important;
    background: var(--urlbar-bg) !important;  
}

#urlbar[focused="true"] #urlbar-background{
    box-shadow: inset 1px 1px 1px 0px rgba(0, 0, 0, 0.35) !important;
    outline: none !important;
}

#wrapper-urlbar-container #urlbar {
    height: 24px !important;
}

/* Active Address/Search Field Dropdown */
#urlbar[breakout][breakout-extend] > #urlbar-background {
    outline: none !important;
    box-shadow: none !important;
    background: var(--urldrop-bg) !important;
    border-radius: 10px !important;
}

#urlbar[breakout][breakout-extend] > #urlbar-input-container,
#urlbar-input-container {
    height: var(--urlbar-height) !important;
    padding-block: 0px !important;
    padding-inline: 0px !important;
    transition: none !important;
}
/* 控制搜索框弹出的大小 */
#urlbar[breakout][breakout-extend] {
    /* 控制展开时的整体尺寸 */
    position: relative !important;
    top: 2px !important;
    left: 0 !important;
    width: 60% !important;        /* 减小整体宽度 */
    margin-left: 20% !important;  /* 居中显示 */
    
    /* 限制框体大小 */
    height: auto !important;
    padding: 0 !important;
    border: none !important;
}

#urlbar[breakout][breakout-extend] > #urlbar-background {
    /* 控制背景框的大小 */
    width: 100% !important;
    height: 100% !important;
    border: 1px solid var(--urlbar-border-bottom) !important;  /* Add border */
    border-radius: 24px !important;  /* Match the regular urlbar radius */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;  /* Add subtle shadow */
    outline: none !important;
}

#urlbar[breakout][breakout-extend] > #urlbar-input-container {
    padding: 4px !important;  /* Add some padding */
}

#urlbar-results {
    /* 控制结果列表的大小 */
    width: 100% !important;
    max-height: 50vh !important;  /* 可以调整这个值来改变下拉列表高度 */
}


/* Idendity icon button */
#identity-icon-box.identity-box-button{
    margin: 2px 0 2px 2px;
    border-radius: 12px !important;
    background-color: var(--bg) !important;
    opacity: 0.8
}

#identity-icon-box.identity-box-button:hover{
    cursor: pointer;  
    background-color: var(--identity-btn-hover-color) !important;
}

/* Track protection icon */
#tracking-protection-icon-container{
    border-radius: 12px !important;
}

#tracking-protection-icon-container:hover{
    cursor: pointer !important;
}

/* Star button */
#star-button-box{
    border-radius: 12px !important;
}

#star-button-box:hover{
    cursor: pointer !important;
}

/* | Borders | */
.tabbrowser-tab::after {
    border: 0 !important;
}
.titlebar-spacer[type="pre-tabs"] {
    border: 0 !important;
}
#navigator-toolbox {
    border: 1 !important;
}

.titlebar-spacer[type="pre-tabs"] {
    border: 0 !important;
}

.tabbrowser-tab::after {
    border: 0 !important;
}

#urlbar-background {
    border: 0 !important;
}

#urlbar[open] > .urlbarView > .urlbarView-body-outer > .urlbarView-body-inner {
    border-top: 0 !important;
}


/* Active Tab */
:root:not([lwt-default-theme-in-dark-mode]) .tab-background[selected],
.tab-background[multiselected="true"] { 
    background: rgba(0,0,0,.05) !important;
}

:root[lwt-default-theme-in-dark-mode] .tab-background[selected],
.tab-background[multiselected="true"] { 
    background: rgba(0,0,0,.2) !important;
}


/* Navigation Bar */

.titlebar-buttonbox{
    appearance: none !important
}

#nav-bar {
    margin-top: -8px !important;
    background-color: var(--bg) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 28px !important;
}

#nav-bar[inFullscreen="true"]{
    margin-top: -10px;
}

/* Bookmarks Bar */
#PersonalToolbar {
    background-color: var(--bg) !important;
}

/* Navigation Bar Separator */
#navigator-toolbox {
    border-color: var(--bg) !important;
    background-color: var(--bg) !important;
    padding-top: 1px !important;
}

/* Navigation bar Buttons */
toolbarbutton{
    margin-top: 0px !important;
}

toolbarbutton:hover{
    cursor: pointer;
}

/* Show Tab close button on hover */
.tabbrowser-tab:not([pinned]) .tab-close-button {
    display: -moz-box !important;
    opacity: 0;
    visibility: collapse !important;
    transition: opacity 0.25s, visibility 0.25s ease-in !important;
}
.tabbrowser-tab:not([pinned]):hover .tab-close-button {
    opacity: 1;
    visibility: visible !important;
    border-radius: 3px 3px 3px 3px !important;
}

/* Show URL buttons on Hover */
#nav-bar:not([customizing="true"])
            > #nav-bar-customization-target
            > #urlbar-container:not(:hover)
                                   > #urlbar:not([focused])
                                                > #urlbar-input-container
                                                > #page-action-buttons {
    opacity: 0;
}
#page-action-buttons {
    transition: opacity 0.15s ease;
}
#nav-bar:not([customizing="true"])
            > #nav-bar-customization-target
            > #urlbar-container:not(:hover)
                                   > #urlbar:not([focused])
                                                > #urlbar-input-container
                                                > #tracking-protection-icon-container {
    opacity: 0;
}
#tracking-protection-icon-container {
    transition: opacity 0.15s ease;
}


/*Full Screen Warning*/

#fullscreen-warning{
    background-color: var(--fullscreen-warn) !important;
    border-color: var(--fullscreen-warn) !important;
    max-width: 500px !important;
    max-height: 50px !important;
    border-radius: 50px !important;
    font-size: 12px !important;
    opacity: 0.8 !important;
}

.pointerlockfswarning-generic-text,
.pointerlockfswarning-domain-text{
    font-size: 15px !important;
    color: rgb(255,255,255) !important;
    text-shadow: none !important;
}


/* Uncomment to Hide tabs bar for Tree style tabs (Credit u/jfgxyz on Reddit) */
toolbar#TabsToolbar {
    height: 0px;
    min-height: 0 !important;
    padding-top: 5px !important;
    background-color: var(--bg) !important;     
}
.toolbar-items {
    visibility: collapse;
}
hbox#nav-bar-customization-target {
    padding-left: 80px !important;
}

/* SIDEBERY */

/* hides the sidebar header */
#sidebar-header {
    display: none !important;
}

.tab[selected="true"] {
    visibility: collapse;
    height: 0px;
}

.tabbrowser-tab {
    visibility: collapse;
    height: 0px;
}

.tabbrowser-tab[visuallyselected="true"] {
    visibility: collapse;
    height: 0px;
}

/* AUTO HIDE SIDE BAR */

#sidebar-box {
    --uc-sidebar-width: 42px; 
    --uc-sidebar-hover-width: 245px;
    --uc-autohide-sidebar-delay: 1ms; /* Waiting time before hiding sidebar */
    position: relative;
    min-width: var(--uc-sidebar-width) !important;
    width: var(--uc-sidebar-width) !important;
    max-width: var(--uc-sidebar-width) !important;
    z-index: 100;
}

#sidebar-box[positionend] {
    direction: rtl;
}
#sidebar-box[positionend] > * {
    direction: ltr;
}

#sidebar-box[positionend]:-moz-locale-dir(rtl) {
    direction: ltr;
}
#sidebar-box[positionend]:-moz-locale-dir(rtl) > * {
    direction: rtl;
}

/* HIDE SIDE BAR IN FULL SCREEN */
/* #main-window[inFullscreen="true"] #sidebar-box {
        --uc-sidebar-width: 0px;
} */

#sidebar-splitter {
    display: none;
}

#sidebar-header {
    overflow: hidden;
    color: var(--chrome-color, inherit) !important;
}

#sidebar {
    transition: min-width 115ms linear var(--uc-autohide-sidebar-delay) !important;
    min-width: var(--uc-sidebar-width) !important;
    will-change: min-width;
}

#sidebar-box:hover > #sidebar {
    min-width: var(--uc-sidebar-hover-width) !important;
    transition-delay: 0ms !important;
}

/* Add padding to sidebery content */
#sidebar-box #sidebar {
    padding-left: 3px !important;
}

#sidebar .panel-content {
    padding-left: 3px !important;
}

#sidebar .sidebar-panel {
    padding-left: 3px !important;
}

/* Commented out hover state padding reset */
/* #sidebar-box:hover #sidebarcontainer-Sidebery .browser-tab {
    padding-left: 0 !important;
} */

.sidebar-panel {
    background-color: transparent !important;
    color: var(--newtab-text-primary-color) !important;
}

.sidebar-panel #search-box {
    -moz-appearance: none !important;
    background-color: rgba(249, 249, 250, 0.1) !important;
    color: inherit !important;
}

/* Add sidebar divider and give it background */

#sidebar,
#sidebar-header {
    background-color: inherit !important;
    /*  border-inline: 1px solid rgb(80, 80, 80); */
    border-inline-width: 0px 1px;
}

#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
#sidebar-box[positionend] > * {
    border-inline-width: 1px 0px;
}

/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */

#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel {
    inset-inline: auto 0px !important;
}
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label {
    margin-inline: 0px !important;
    border-left-style: solid !important;
}

userContent.css

::selection {
  background-color: #476287; 
  color: #fbfbfe; 
}

Vimium

/* Define variables within a Vimium-specific scope */
#vomnibar,
#vimiumHintMarkerContainer,
div.vimiumHUD,
div#vimiumHelpDialogContainer {
  --font-size: 14px;
  --font-size-hints: 14px;
  --font-size-url: 14px;
  --font-weight: normal;
  --font-weight-medium: medium;
  --font-weight-bold: bold;
  --font: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --padding: 1px;
  --padding-vomnibar: 8px;
  --shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.25);
  --blur: 40px;
  --fg: #e0e0e0;          /* Soft light gray */
  --fg-dark: #c9c9c9;
  --fg-url: #84bffa;
  --fg-match: #2165d9;
  --bg: rgba(30, 30, 30, 0.8);
  --bg-selected: rgba(150, 150, 150, 0.3);
  --border: #464646;
  --fg-hints: #ffd752;
}

/* HINTS */
#vimiumHintMarkerContainer div.internalVimiumHintMarker,
#vimiumHintMarkerContainer div.vimiumHintMarker {
  background: var(--bg);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  padding: 2px 3px;
}

#vimiumHintMarkerContainer div span {
  color: var(--fg-hints);
  font-family: var(--font);
  font-size: var(--font-size-hints);
  font-weight: var(--font-weight-bold);
  text-shadow: none;
}

#vimiumHintMarkerContainer div > .matchingCharacter {
  opacity: 0.3;
}

#vimiumHintMarkerContainer div > .matchingCharacter ~ span {
  color: var(--fg-hints);
}

/* VOMNIBAR */
#vomnibar {
  background: var(--bg);
  backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 15px;
  overflow: hidden;
  left: 50%;
  margin-left: -400px;
  max-width: 800px;
}

#vomnibar .vomnibarSearchArea,
#vomnibar input {
  background: transparent;
  border: none;
  box-shadow: none;
  color: var(--fg);
  font-family: var(--font);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
}

#vomnibar .vomnibarSearchArea {
  padding: 4px 10px;
  border-radius: 6px;
}

#vomnibar input {
  border: none;
  padding: var(--padding);
}

.vomnibarNoInsertText {
  display: none;
}

#vomnibar ul {
  background: transparent;
  border-top: 1px solid var(--border);
  margin: 0;
  padding: var(--padding-vomnibar);
}

#vomnibar li {
  border-bottom: none;
  padding: 8px;
}

#vomnibar li .vomnibarTopHalf {
  padding: var(--padding);
}

#vomnibar li .vomnibarBottomHalf {
  padding-top: 0px;
  padding-bottom: 0px;
}

#vomnibar li .vomnibarSource {
  color: var(--fg-dark);
  font-family: var(--font);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

#vomnibar li em,
#vomnibar li .vomnibarTitle {
  color: var(--fg);
  font-family: var(--font);
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
}

#vomnibar li .vomnibarUrl {
  color: var(--fg-url);
  font-family: var(--font);
  font-size: var(--font-size-url);
  font-weight: var(--font-weight-medium);
}

#vomnibar li .vomnibarMatch {
  color: var(--fg-match);
  font-weight: normal;
}

#vomnibar li .vomnibarTitle .vomnibarMatch {
  color: var(--fg);
  font-weight: bold;
}

#vomnibar li.vomnibarSelected {
  background-color: var(--bg-selected);
  backdrop-filter: blur(20px);
  border-radius: 8px;
}

#vomnibar li.vomnibarSelected .vomnibarUrl {
  color: var(--fg-url);
}

#vomnibar li.vomnibarSelected .vomnibarMatch {
  color: var(--fg);
}

/* HUD */
div.vimiumHUD {
  background: var(--bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 6px;
}

div.vimiumHUD span#hud-find-input,
div.vimiumHUD .vimiumHUDSearchAreaInner {
  color: var(--fg);
  font-family: var(--font);
  font-size: 13px;
  font-weight: var(--font-weight-medium);
}

div.vimiumHUD .hud-find {
  background-color: transparent;
  border: none;
}

div.vimiumHUD .vimiumHUDSearchArea {
  background-color: transparent;
  padding: 4px;
}

/* HELP DIALOG */
div#vimiumHelpDialogContainer {
  background-color: transparent !important;
  border: none !important;
}

div#vimiumHelpDialog {
  background: var(--bg);
  backdrop-filter: blur(var(--blur));
  border: 1px solid var(--border);
  border-radius: 15px;
  font-family: var(--font);
  font-size: var(--font-size);
  padding: 10px 8px !important;
}

span#vimiumTitle {
  color: var(--fg);
}

a:link.vimiumHelDialogLink,
a:visited.vimiumHelDialogLink,
a:hover.vimiumHelDialogLink,
a:active.vimiumHelDialogLink,
a#toggleAdvancedCommands {
  color: var(--fg-url);
  font-family: var(--font);
  font-size: var(--font-size);
}

span.vimiumHelpDialogKey {
  background-color: var(--bg-hints, var(--bg)); /* Fallback to --bg if --bg-hints undefined */
  border: 1px solid var(--border-hints, var(--border)); /* Fallback */
  box-shadow: var(--shadow);
  padding: 1px 2px;
  color: var(--fg-hints);
  font-family: var(--font);
  font-size: var(--font-size-hints);
  font-weight: var(--font-weight-bold);
  text-shadow: none;
}

td.vimiumHelpSectionTitle,
td.vimiumHelpDescription {
  color: var(--fg);
  font-family: var(--font);
}

div.vimiumColumn {
  color: var(--fg);
  font-family: var(--font);
}

vimium-zen-theme

:root {
  --font-size: 18px;
  --font-size-title: 16px;
  --font-size-hints: 12px;
  --font-size-url: 12px;

  --font-weight: normal;
  --font-weight-medium: medium;
  --font-weight-bold: bold;

  --font: "Cantarell", "Noto Serif", "Arial", sans-serif;

  --padding: 2px;
  --padding-vomnibar: 10px 0;
  --shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.25);
  --blur: 40px;

  /* Vomnibar & hud */
  --fg: #e0e0e0;          /* Soft light gray */
  --fg-match: #2165d9;
  --fg-dark: #c9c9c9;
  --fg-match: #2165d9;
  --fg-url: #84bffa;

  --bg: #202020;
  --bg-selected: rgba(150, 150, 150, 0.3);

  --border: #38373e;

  /* Hints */
  --fg-hints: #ffd752;
}

/* CSS */

/* Vomnibar */

#vomnibar {
  background: var(--bg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 15px;
  overflow: hidden;
  left: 50%;
  margin-left: -400px;
  max-width: 800px;
}

#vomnibar #vomnibar-search-area,
#vomnibar input {
  background: transparent;
  border: none;
  box-shadow: none;
  color: var(--fg);
  font-family: var(--font);
  font-size: var(--font-size);
  font-weight: var(--font-weight-medium);
}

#vomnibar #vomnibar-search-area {
  padding: 14px 50px;
  border-radius: 6px;
}

#vomnibar input {
  border: none;
  padding: var(--padding);
}

#vomnibar #vomnibar-search-area::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 20px;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M14.9536 14.9458L21 21M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z' stroke='%23dfdfdf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
}

.no-insert-text {
  display: none;
}

#vomnibar ul {
  background: transparent;
  border-top: 2px solid var(--border);
  margin: 0 15px;
  margin-bottom: 5px;
  padding: var(--padding-vomnibar);
}

#vomnibar li {
  border-bottom: none;
  padding: 15px;
}

#vomnibar li .top-half {
  padding: var(--padding);
}

#vomnibar li .bottom-half {
  padding: 0px 0px 0px 2px;
  margin: 0;
}

#vomnibar li .source {
  color: var(--fg-dark);
  font-family: var(--font);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  text-transform: capitalize;
}

#vomnibar li em,
#vomnibar li .title {
  color: var(--fg);
  font-family: var(--font);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-medium);
}

#vomnibar li .url {
  color: var(--fg-url);
  font-family: var(--font);
  font-size: var(--font-size-url);
  font-weight: var(--font-weight-medium);
}

#vomnibar li .match {
  color: var(--fg-match);
}

#vomnibar li .title .match {
  color: var(--fg);
  font-weight: bold;
}

#vomnibar li.selected {
  background-color: var(--bg-selected);
  backdrop-filter: blur(20px);
  border-radius: 8px;
}

#vomnibar li.selected .url {
  color: var(--fg-url);
}

#vomnibar li.selected .match {
  color: var(--fg);
}

/* Hints Marks*/

#vimium-hint-marker-container div.internal-vimium-hint-marker,
#vimium-hint-marker-container div.vimiumHintMarker {
  background: var(--bg);
  border: none;
  box-shadow: var(--shadow);
  padding: 3px 4px;
}

#vimium-hint-marker-container div span {
  color: var(--fg-hints);
  font-family: var(--font);
  font-size: var(--font-size-hints);
  font-weight: var(--font-weight-bold);
  text-shadow: none;
}

#vimium-hint-marker-container div > .matchingCharacter {
  opacity: 0.3;
}

#vimium-hint-marker-container div > .matchingCharacter ~ span {
  color: var(--fg-hints);
}

/* Hud */

#hud-container {
  background: var(--bg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 6px;
}

#hud-container span#hud-find-input,
#hud-container #hud {
  color: var(--fg);
  font-family: var(--font);
  font-size: 13;
  font-weight: var(--font-weight-medium);
}

#hud-container .hud-find {
  background-color: transparent;
  border: none;
}

#hud-container #search-area {
  background-color: transparent;
  padding: 6px;
}