/* Edge-Frfox - sidebery.css * https://github.com/bmFtZQ/edge-frfox */ /* This file needs to loaded into userContent.css so the @media rules can be * used for automatic tweaks configuration. */ /* Since the UUIDs are randomly generated, only a generic path can be specified, * this can cause conflicts with other extensions that use the same file * structure, but is unlikely to cause any major issues. */ @-moz-document regexp("^moz-extension://.*?/sidebar/sidebar.html") { /* Fix issues with rounded corners rendering. */ :root { color-scheme: light dark !important; background: light-dark(#aaa, #222) !important; } /* On macOS, ensure that text is rendered correctly. */ body { -moz-osx-font-smoothing: auto !important; } /* MARK: Default theme colours */ /* macOS light mode. */ body[style*="--s-frame-fg: rgba(0, 0, 0, 0.847)"], /* macOS dark mode. */ body[style*="--s-frame-fg: rgba(255, 255, 255, 0.847)"], /* Windows light mode. */ body[style*="--s-frame-bg: rgb(240, 240, 240)"], /* Windows dark mode. */ body[style*="--s-frame-bg: rgb(35, 34, 43)"], /* No theme enabled. */ body:not([style*="--s-frame-bg"]) { --s-frame-bg: light-dark(#cecece, #1C1C1C) !important; --s-frame-fg: light-dark(#000, #FFF) !important; --s-toolbar-bg: light-dark(#f7f7f7, #3B3B3B) !important; --s-toolbar-fg: light-dark(#252525, #fff) !important; --s-act-el-bg: light-dark(#fff, #4D4D4D) !important; --s-act-el-fg: light-dark(#000, #fff) !important; --s-act-el-border: transparent !important; --s-popup-bg: light-dark(#fff, #4A4A4A) !important; --s-popup-fg: light-dark(#1c1c1c, #fff) !important; --s-popup-border: light-dark(#dadada, #636363) !important; --s-accent: light-dark(#0078D4, #63ADE5) !important; } /* Linux/GTK support, side effect: Firefox themes do not work. */ @media (-moz-gtk-csd-available) { body:not([style*="--s-frame-bg"]) { --s-frame-bg: light-dark(color-mix(in srgb, ActiveCaption 90%, black), ActiveCaption) !important; --s-frame-fg: CaptionText !important; --s-toolbar-bg: light-dark(-moz-dialog, color-mix(in srgb, -moz-dialog 92%, white)) !important; --s-toolbar-fg: -moz-dialogtext !important; --s-act-el-bg: light-dark(-moz-dialog, color-mix(in srgb, -moz-dialog 80%, white)) !important; --s-act-el-fg: -moz-dialogtext !important; --s-act-el-border: transparent !important; --s-popup-bg: Field !important; --s-popup-fg: FieldText !important; --s-popup-border: light-dark(transparent, color-mix(in srgb, currentColor 17%, Field)) !important; --s-accent: AccentColor !important; } } /* MARK: Variables */ #root.root { --frame-bg: var(--s-toolbar-bg) !important; --frame-fg: var(--s-toolbar-fg) !important; --general-margin: 4px !important; --tabs-font: 12px system-ui !important; --tabs-height: 32px !important; --tabs-pinned-width: 32px !important; --tabs-pinned-height: 32px !important; --tabs-close-btn-margin: 8px !important; --ntb-btn-height: 32px !important; --tabs-inner-gap: 8px !important; --tabs-border-radius: 4px !important; --general-border-radius: 4px !important; --tabs-activated-shadow: 0 4px 4px rgb(0 0 0 / .18), 0 0px 2px rgb(0 0 0 / .19) !important; --tabs-normal-fg: color-mix(in srgb, var(--frame-fg) 87%, transparent) !important; --nav-btn-height: 32px !important; --nav-btn-width: 32px !important; --separator-color: color-mix(in srgb, var(--frame-fg) 20%, transparent) !important; --nav-btn-active-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.086), inset 0 1px 3px 0 rgb(0 0 0 / 0.086) !important; /* Light mode adjustments. */ &[data-frame-color-scheme="light"] { color-scheme: light !important; --tabs-normal-fg: color-mix(in srgb, var(--frame-fg) 82%, transparent) !important; } /* Dark mode adjustments. */ &[data-frame-color-scheme="dark"] { color-scheme: dark !important; --tabs-activated-shadow: 0 4px 4px rgb(0 0 0 / .44), 0 0px 2px rgb(0 0 0 / .47) !important; --nav-btn-active-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.071), 0 1px 3px 0 rgb(0 0 0 / 0.212) !important; } @media (-moz-bool-pref: "uc.tweak.rounded-corners") { --tabs-border-radius: 8px !important; } } /* MARK: Floating tabs vars */ @media (-moz-bool-pref: "uc.tweak.floating-tabs") { body[style*="--s-frame-fg: rgba(0, 0, 0, 0.847)"], body[style*="--s-frame-fg: rgba(255, 255, 255, 0.847)"], body[style*="--s-frame-bg: rgb(240, 240, 240)"], body[style*="--s-frame-bg: rgb(35, 34, 43)"], body:not([style*="--s-frame-bg"]) { --s-frame-bg: light-dark(#f3f3f3, #202020) !important; --s-act-el-bg: light-dark(#fff, #3F3F3F) !important; --s-act-el-border: light-dark(transparent, rgb(255 255 255 / 0.06)) !important; } #root.root { --frame-bg: var(--s-frame-bg) !important; --frame-fg: var(--s-frame-fg) !important; --toolbar-bg: var(--s-frame-bg) !important; --toolbar-fg: var(--s-frame-fg) !important; --s-toolbar-bg: light-dark(#f3f3f3, #202020) !important; --tabs-activated-shadow: 0 2.5px 3px 1px rgb(0 0 0 / .08), 0 0 0 1px rgb(0 0 0 / .11) !important; --tabs-border-radius: 8px !important; &[data-frame-color-scheme="dark"] { --tabs-activated-shadow: 0 2px 3px rgb(0 0 0 / .12) !important; } } } /* MARK: Tabs appearance */ .Tab { /* Active tab border. */ &[data-active="true"] .body { outline: 1px solid var(--s-act-el-border, transparent) !important; outline-offset: -1px !important; } /* Close button border radius. */ & .close { border-radius: 4px !important; } /* Make sure that tab icons use full opacity. */ & .fav svg { opacity: 1 !important; } /* Adjust spacing between tab icons and labels. */ & .title { padding-inline: 0 !important; } /* Colourised tab shadow and outline. */ &[data-colorized="true"] { --tabs-activated-shadow: unset !important; --s-act-el-border: light-dark(rgb(0 0 0 / 0.35), rgb(255 255 255 / 0.25)) !important; } & .ctx { box-shadow: none !important; border-radius: 2px !important; --uc-margin: 8px !important; --uc-width: 2px !important; --uc-offset: 1px !important; } &[data-active="true"] .ctx { --uc-margin: 6px !important; } &[data-pin="false"] { /* Inner spacing for tabs. */ & .fav { margin: 0 calc(var(--tabs-inner-gap) + 2px) 0 var(--tabs-inner-gap) !important; } /* Tab container indicator. */ & .ctx { inset-block: 0 !important; margin-block: auto !important; left: var(--uc-offset) !important; width: var(--uc-width) !important; height: calc(100% - var(--uc-margin) * 2) !important; } } #root[data-pinned-tabs-position="panel"] &[data-pin="true"] { /* Tab container indicator. */ & .ctx { inset-inline: 0 !important; margin-inline: auto !important; bottom: var(--uc-offset) !important; height: var(--uc-width) !important; width: calc(100% - var(--uc-margin) * 2) !important; } } } .Notifications + .main-box .central-box { height: 100% !important; margin-top: 0 !important; } /* Add space to the top of the tabs to allow shadows to be visible. */ .AnimatedTabList, .PinnedTabsBar { padding-top: var(--tabs-margin) !important; } /* Remove space between the tabs and horizontal navigation bar, as tabs have * their own space applied for the shadows. */ .top-horizontal-box { margin-bottom: 0 !important; & .NavigationBar.-top { padding-block-end: 0 !important; } } /* Pinned tabs separator. */ .PinnedTabsBar { /* Pinned tab grid. */ #root[data-pinned-tabs-position="panel"] & { padding-bottom: calc(var(--tabs-margin) + 1px) !important; } /* Pinned tab list. */ #root[data-pinned-tabs-position="panel"][data-pinned-tabs-list="true"] & { padding-bottom: 1px !important; } /* Separator element. */ &::after { display: unset !important; bottom: 0 !important; height: auto !important; border-bottom: 1px solid var(--separator-color) !important; background: transparent !important; opacity: 1 !important; } } /* MARK: New tab button */ .TabsPanel .new-tab-btns { /* Add space for the separator. */ padding-top: calc(var(--tabs-margin) + 1px) !important; /* Add separator before new tab button. */ &::before { width: calc(100% - var(--tabs-margin)*2) !important; inset-inline: auto !important; top: 0 !important; border-top: 1px solid var(--separator-color) !important; box-shadow: none !important; } /* Make sure the separator is hidden when there are only pinned tabs. */ &[data-new-tab-bar-position="after_tabs"]:first-child { padding-top: 0 !important; &::before { display: none !important; } } /* Hide unnecessary pseudo element. */ &::after { content: initial !important; } /* New tab button. */ & .new-tab-btn { justify-content: start !important; white-space: nowrap !important; overflow: hidden !important; border-radius: var(--tabs-border-radius) !important; /* Make sure images do not shrink when collapsed. */ & > svg, & > img { position: static !important; margin: 0 calc(var(--tabs-inner-gap) + 2px) 0 var(--tabs-inner-gap) !important; flex-shrink: 0 !important; } /* Fix new tab icon when badge is placed above it (open in container). */ & > .-badge { position: static !important; margin-top: 10px !important; margin-inline-start: calc(-1 * (14px + var(--tabs-inner-gap) / 2)) !important; margin-inline-end: calc(var(--tabs-inner-gap) - 1px) !important; } /* Add new tab label. */ &::after { content: "New Tab" !important; font: var(--tabs-font) !important; color: var(--frame-fg) !important; } } } /* Hide shadows at the top and bottom when scrolling. */ .ScrollBox > .top-shadow[data-show="true"], .ScrollBox > .bottom-shadow[data-show="true"] { display: none !important; } /* MARK: Icons */ /* New tab page icon. */ #icon_ff path { d: path("M3 1h10a2 2 0 01 2 2v10a2 2 0 01-2 2H3a2 2 0 01-2-2V3a2 2 0 01 2-2zm3 1H3a1 1 0 00-1 1v10a1 1 0 00 1 1h10a1 1 0 00 1-1V5H7.5A1.5 1.5 0 01 6 3.5zm1 0v1.5a.5.5 0 00 .5.5H14V3a1 1 0 00-1-1zM5 8a1 1 0 01 0 2 1 1 0 01 0-2zm3 0a1 1 0 01 0 2 1 1 0 01 0-2zm3 0a1 1 0 01 0 2 1 1 0 01 0-2z") !important; } /* Plus icon. */ #icon_plus path { d: path("M7 1a.5.5 0 01 1 0v6h6a.5.5 0 01 0 1H8v6a.5.5 0 01-1 0V8H1a.5.5 0 01 0-1h6z") !important; } }