diff --git a/modules/home-manager/browser/floorp/README.md b/modules/home-manager/browser/floorp/README.md
new file mode 100644
index 0000000..1d5d6ff
--- /dev/null
+++ b/modules/home-manager/browser/floorp/README.md
@@ -0,0 +1,3 @@
+# Floorp userchrome
+
+borrowed from https://github.com/AmadeusWM/dotfiles-hyprland/tree/main/dots/firefox
diff --git a/modules/home-manager/browser/floorp/chrome/config.css b/modules/home-manager/browser/floorp/chrome/config.css
new file mode 100644
index 0000000..ed594b6
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/config.css
@@ -0,0 +1,163 @@
+/* Main sass file that contains the theme */
+@import "icons/extension-icons.css";
+@import "window-controls/no-wc-without-tabline.css";
+@import "hide-tabline.css";
+@import "userChrome-hover.css";
+:root {
+ --ap-radius-s: 4px;
+ --ap-radius-m: 8px;
+ --ap-radius-l: 10px;
+ --ap-radius-xl: 16px;
+ --ap-primary-h: 211.3636363636deg;
+ --ap-primary-s: 100%;
+ --ap-primary-l: 91.3725490196%;
+ --ap-primary-d: 80%;
+ --ap-primary: #d3e8ff;
+ --ap-secondary-h: 312.1621621622deg;
+ --ap-secondary-s: 72.5490196078%;
+ --ap-secondary-l: 80%;
+ --ap-secondary-d: 70%;
+ --ap-secondary: #f1a7e2;
+ --ap-base1-h: 249.2307692308deg;
+ --ap-base1-s: 31.7073170732%;
+ --ap-base1-l: 8.0392156863%;
+ --ap-base1-d: 20%;
+ --ap-base0: #0B0A10;
+ --ap-base0-h: 250deg;
+ --ap-base0-s: 23.0769230769%;
+ --ap-base0-l: 5.0980392157%;
+ --ap-base0-d: 20%;
+ --ap-base1: #100E1B;
+ --ap-red: #f38ba8;
+ --ap-green: #a6e3a1;
+ --ap-blue: #d3e8ff;
+ --ap-purple: #f1a7e2;
+ --ap-aqua: #94e2d5;
+ --ap-yellow: #f9e2af;
+ --ap-orange: #fab387;
+ --ap-color-strong: #f5c2e7;
+ --ap-color-quote: #f5c2e7;
+ --ap-color-italic: #f5c2e7;
+ --ap-color-tag-background: #2c2537;
+ --ap-color-tag-text: #EEEEEE;
+ --ap-code-gray-1: #5b5c5f;
+ --ap-code-gray-2: #45474c;
+ --ap-code-red: var(--ap-red);
+ --ap-code-green: var(--ap-green);
+ --ap-code-blue: var(--ap-blue);
+ --ap-code-purple: var(--ap-purple);
+ --ap-code-aqua: var(--ap-aqua);
+ --ap-code-yellow: var(--ap-yellow);
+ --ap-code-orange: var(--ap-orange);
+ --ap-color-dp0: #100E1B;
+ --ap-color-dp1: #0B0A10;
+ --ap-color-dp2: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 5%));
+ --ap-color-dp3: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 10%));
+ --ap-color-dp4: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 15%));
+ --ap-color-dp5: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 40%));
+ --ap-color-dp6: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 50%));
+ --ap-color-dp7: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 60%));
+ --ap-color-dp8: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 70%));
+ --ap-color-dp9: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 80%));
+ --ap-color-dp10: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 85%));
+ --ap-color-dp11: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 90%));
+ --ap-h1: var(--ap-red);
+ --ap-h2: var(--ap-purple);
+ --ap-h3: var(--ap-blue);
+ --ap-h4: var(--ap-green);
+ --ap-h5: var(--ap-orange);
+ --ap-h6: var(--ap-yellow);
+ --ap-h1-size: 2.5em;
+ --ap-h2-size: 1.9882em;
+ --ap-h3-size: 1.5811em;
+ --ap-h4-size: 1.2574em;
+ --ap-h5-size: 1em;
+ --ap-h6-size: 0.7953em;
+ --ap-size-text: 1em;
+ --ap-size-text-header: 1em;
+ --ap-size-text-item: 1em;
+ --ap-container-padding: 8px;
+ --ap-frame-left: 10px;
+ --ap-font-text: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-interface: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-monospace: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-title: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-header: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-hashtag: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+}
+
+/* order of these files is important and should not be changed */
+/*
+WINDOW CONTROLS BEHAVIOUR (buttons to close, minimize, ... firefox)
+* Window control buttons to the right: @import "window-controls/wc-without-tabline-r.css";
+* Window control buttons to the left: @import "window-controls/wc-without-tabline.css";
+* With tabs in top bar: @import "window-controls/wc-with-tabline.css";
+*/
+/*
+SIDEBAR BEHAVIOUR
+for a sidebar which pops out on hover
+ * @import "userChrome-hover.css"
+one that stays (static)
+ * @import "userChrome-static.css"
+*/
+:root {
+ --dark-0: var(--ap-color-dp0);
+ --dark-base: var(--ap-color-dp0);
+ --dark-1: var(--ap-color-dp1);
+ --dark-2: var(--ap-color-dp1);
+ --dark-3: var(--ap-color-dp2);
+ --dark-4: var(--ap-color-dp3);
+ --light-0: var(--ap-color-dp11);
+ --light-base: var(--ap-color-dp11);
+ --light-1: var(--ap-color-dp10);
+ --light-2: var(--ap-color-dp9);
+ --light-3: var(--ap-color-dp8);
+ --light-4: var(--ap-color-dp7);
+ --accent: var(--ap-primary);
+ --yellow: var(--ap-yellow);
+ --green: var(--ap-green);
+ --red: var(--ap-red);
+ /* expanded width of the sidebar.
+ used for userChrome-static, and hover */
+ --sidebar-width: 250px;
+ /* initial width of the sidebar.
+ advised not to change since tst css relies on this value*/
+ --sidebar-collapsed-width: 60px;
+ --dividers: 2px;
+ --tl-animation-duration: 200ms;
+ /*--tl-tab-background-gradient: */
+ /* uncomment and add gradient value for selected tab gradient*/
+ /******WINDOW CONTROL PLACEMENT VARS******/
+ --wc-vertical-shift: 16px;
+ /* larger value moves window controls down,*/
+ /* can be negative(moves controls up) */
+ /* Experiemntal: 55px if tabline visible, -25px if tabline hidden */
+ --wc-left-space: 15px; /* add space to the left of window controls*/
+ --wc-right-space: 18px; /* add space to the right of window controls*/
+ /* left-space shifts window-controls */
+ /* if you want to shift window controls to the left: positive value */
+ /* if you want to shift them to the right: smaller or negative value */
+ /* right-space shifts rest of the navbar (forward,backward,urlbar,etc.) to the right */
+ /* if you want to increase/decrease space between window-controls and navbars: */
+ /* set positive/smaller or negative value for right-space*/
+}
+
+:root[privatebrowsingmode=temporary] {
+ --dark-0: #1C0E34;
+ --dark-base: #20103c;
+ --dark-1: #2F1D4E;
+ --dark-2: #38225D;
+ --dark-3: #4A2D7B;
+ --dark-4: #53338A;
+ --light-0: #CC6B9C;
+ --light-base: #B9407C;
+ --light-1: #AB3B73;
+ --light-2: #9C3569;
+ --light-3: #8D305E;
+ --light-4: #7D2B54;
+ --accent: #e9207e;
+ --yellow: #C9B336;
+ --green: #36C987;
+ --red: #C9365D;
+ --extension-icon-mask: grayscale(85%) invert(17%) sepia(42%) saturate(2474%) hue-rotate(241deg) brightness(94%) contrast(92%);
+}
diff --git a/modules/home-manager/browser/floorp/chrome/content/inner-rounded.css b/modules/home-manager/browser/floorp/chrome/content/inner-rounded.css
new file mode 100644
index 0000000..c17f3a7
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/content/inner-rounded.css
@@ -0,0 +1,13 @@
+/* make borders from inner content rounded */
+@media all and (display-mode: browser) {
+ #tabbrowser-tabpanels browser[type="content"] {
+ color-scheme: env(-moz-content-preferred-color-scheme);
+ border-top-left-radius: 16px;
+ }
+}
+
+/* comment this out for padding around the content */
+/* .browserContainer{
+ padding-right: 10px !important;
+ padding-bottom: 10px !important;
+} */
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/hide-tabline.css b/modules/home-manager/browser/floorp/chrome/hide-tabline.css
new file mode 100644
index 0000000..9893286
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/hide-tabline.css
@@ -0,0 +1,8 @@
+/* /1* hide tabs *1/ */
+.tabbrowser-tab {
+ display: none;
+}
+
+#tabs-newtab-button {
+ display: none;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/icons/addons.svg b/modules/home-manager/browser/floorp/chrome/icons/addons.svg
new file mode 100644
index 0000000..edae4f6
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/addons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/arrow-back-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/arrow-back-1x.svg
new file mode 100644
index 0000000..ecab6ff
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/arrow-back-1x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/arrow-back-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/arrow-back-2x.svg
new file mode 100644
index 0000000..3c9aff6
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/arrow-back-2x.svg
@@ -0,0 +1,3 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/audio-muted.svg b/modules/home-manager/browser/floorp/chrome/icons/audio-muted.svg
new file mode 100644
index 0000000..36b338c
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/audio-muted.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/audio.svg b/modules/home-manager/browser/floorp/chrome/icons/audio.svg
new file mode 100644
index 0000000..08a54d1
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/audio.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/bank-card.svg b/modules/home-manager/browser/floorp/chrome/icons/bank-card.svg
new file mode 100644
index 0000000..39ffa07
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/bank-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/bookmark.svg b/modules/home-manager/browser/floorp/chrome/icons/bookmark.svg
new file mode 100644
index 0000000..e5a7cba
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/bookmark.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/bug.svg b/modules/home-manager/browser/floorp/chrome/icons/bug.svg
new file mode 100644
index 0000000..0c3d633
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/bug.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/close.svg b/modules/home-manager/browser/floorp/chrome/icons/close.svg
new file mode 100644
index 0000000..f000a27
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/close.svg
@@ -0,0 +1,3 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/copy.svg b/modules/home-manager/browser/floorp/chrome/icons/copy.svg
new file mode 100644
index 0000000..bcae83e
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/copy.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/custom-adblock.svg b/modules/home-manager/browser/floorp/chrome/icons/custom-adblock.svg
new file mode 100644
index 0000000..7be3c54
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/custom-adblock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/customize.svg b/modules/home-manager/browser/floorp/chrome/icons/customize.svg
new file mode 100644
index 0000000..4f2d424
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/customize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/cut.svg b/modules/home-manager/browser/floorp/chrome/icons/cut.svg
new file mode 100644
index 0000000..ad4e0fb
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/cut.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/dark-mode.svg b/modules/home-manager/browser/floorp/chrome/icons/dark-mode.svg
new file mode 100644
index 0000000..b517dc8
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/dark-mode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/developer.svg b/modules/home-manager/browser/floorp/chrome/icons/developer.svg
new file mode 100644
index 0000000..274c795
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/developer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/email.svg b/modules/home-manager/browser/floorp/chrome/icons/email.svg
new file mode 100644
index 0000000..6c85cf3
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/email.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/extension-icons.css b/modules/home-manager/browser/floorp/chrome/icons/extension-icons.css
new file mode 100644
index 0000000..ae30a93
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/extension-icons.css
@@ -0,0 +1,40 @@
+.webextension-browser-action > .toolbarbutton-badge-stack > .toolbarbutton-badge {
+ background-color: var(--lwt-toolbarbutton-icon-fill-attention) !important;
+ color: var(--dark-base) !important;
+}
+
+/**extension filter based on --light-base**/
+.webextension-browser-action:not(badge):not(#ublock0_raymondhill_net-browser-action):not(#support_lastpass_com-browser-action):not(#privacy_privacy_com-browser-action):not(#addon_darkreader_org-browser-action):not(#_7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1_-browser-action):not(#_eec37db0-22ad-4bf1-9068-5ae08df8c7e9_-browser-action)
+ > .toolbarbutton-badge-stack
+ > .toolbarbutton-icon {
+ padding: 1px !important;
+ filter: var(--extension-icon-mask);
+}
+
+:root[privatebrowsingmode="temporary"]
+ .webextension-browser-action:not(#ublock0_raymondhill_net-browser-action):not(#support_lastpass_com-browser-action):not(#privacy_privacy_com-browser-action):not(#addon_darkreader_org-browser-action):not(#_7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1_-browser-action):not(#_eec37db0-22ad-4bf1-9068-5ae08df8c7e9_-browser-action)
+ > .toolbarbutton-badge-stack
+ > .toolbarbutton-icon {
+ filter: var(--extension-icon-mask);
+}
+
+.webextension-browser-action[data-extensionid="uBlock0@raymondhill.net"] {
+ list-style-image: url(custom-adblock.svg) !important;
+}
+
+.webextension-browser-action[data-extensionid="support@lastpass.com"],
+.webextension-browser-action[data-extensionid="{eec37db0-22ad-4bf1-9068-5ae08df8c7e9}"] {
+ list-style-image: url(key.svg) !important;
+}
+
+.webextension-browser-action[data-extensionid="privacy@privacy.com"] {
+ list-style-image: url(bank-card.svg) !important;
+}
+
+.webextension-browser-action[data-extensionid="addon@darkreader.org"] {
+ list-style-image: url(dark-mode.svg) !important;
+}
+
+.webextension-browser-action[data-extensionid="{7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1}"] {
+ list-style-image: url(bookmark.svg) !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/icons/folder.svg b/modules/home-manager/browser/floorp/chrome/icons/folder.svg
new file mode 100644
index 0000000..84d224a
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/folder.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/forget.svg b/modules/home-manager/browser/floorp/chrome/icons/forget.svg
new file mode 100644
index 0000000..69f1a84
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/forget.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/fullscreen.svg b/modules/home-manager/browser/floorp/chrome/icons/fullscreen.svg
new file mode 100644
index 0000000..2da1058
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/fullscreen.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/globe.svg b/modules/home-manager/browser/floorp/chrome/icons/globe.svg
new file mode 100644
index 0000000..a0dd65f
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/globe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/history.svg b/modules/home-manager/browser/floorp/chrome/icons/history.svg
new file mode 100644
index 0000000..fdfa06e
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/history.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/home-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/home-1x.svg
new file mode 100644
index 0000000..b7de4e3
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/home-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/home-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/home-2x.svg
new file mode 100644
index 0000000..3186394
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/home-2x.svg
@@ -0,0 +1,3 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/hyperlink.svg b/modules/home-manager/browser/floorp/chrome/icons/hyperlink.svg
new file mode 100644
index 0000000..4e4b621
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/hyperlink.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/icons.css b/modules/home-manager/browser/floorp/chrome/icons/icons.css
new file mode 100755
index 0000000..f692721
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/icons.css
@@ -0,0 +1,305 @@
+.toolbarbutton-1:-moz-any(#back-button, #forward-button),
+#context-back,
+#context-forward,
+.subviewbutton-back,
+.identity-popup-expander {
+ list-style-image: url(arrow-back-1x.svg) !important;
+}
+
+#PanelUI-menu-button {
+ list-style-image: url(menu.svg) !important;
+}
+
+#PanelUI-menu-button[badge-status|="update"] {
+ list-style-image: url(menu-update.svg) !important;
+}
+
+#reload-button,
+#context-reload {
+ list-style-image: url(refresh-1x.svg) !important;
+}
+
+#stop-button {
+ list-style-image: url(stop-1x.svg) !important;
+}
+
+.toolbarbutton-1#forward-button,
+#context-forward {
+ transform: scaleX(-1) !important;
+}
+
+#home-button {
+ list-style-image: url(home-2x.svg) !important;
+}
+
+#star-button,
+#context-bookmarkpage,
+#pageAction-panel-bookmark,
+#panelMenuBookmarkThisPage {
+ list-style-image: url(star-1x.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#reader-mode-button{
+ list-style-image: url(reader-mode.svg) !important;
+}
+
+#star-button[starred],
+#tracking-protection-icon-box[active] {
+ list-style-image: url(star-filled.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill-attention) !important;
+}
+
+#star-button[starred],
+#context-bookmarkpage[starred],
+#panelMenuBookmarkThisPage {
+ fill-opacity: 1 !important;
+}
+
+#bookmarks-menu-button,
+#appMenu-library-bookmarks-button,
+#panelMenu_toggleBookmarksMenu {
+ list-style-image: url(bookmark.svg) !important;
+}
+
+#library-button,
+#appMenu-library-button {
+ list-style-image: url(library-1x.svg) !important;
+}
+
+#sidebar-button {
+ list-style-image: url(sidebar.svg) !important;
+}
+
+#preferences-button,
+#appMenu-preferences-button,
+.identity-popup-preferences-button,
+#urlbar-anon-search-settings-compact .button-icon {
+ list-style-image: url(settings.svg) !important;
+}
+
+#appMenu-customize-button {
+ list-style-image: url(customize.svg) !important;
+}
+
+#history-panelmenu,
+#appMenu-library-history-button {
+ list-style-image: url(history.svg) !important;
+}
+
+#appMenu-logins-button,
+richlistitem[originaltype="loginWithOrigin"] .ac-site-icon,
+richlistitem[originaltype="loginsFooter"] .ac-site-icon {
+ list-style-image: url(key.svg) !important;
+}
+
+.subviewbutton[type="highlight-history"]::after {
+ content: url(history.svg) !important;
+}
+
+#panic-button {
+ list-style-image: url(forget.svg) !important;
+}
+
+#developer-button {
+ list-style-image: url(developer.svg) !important;
+}
+
+#add-ons-button,
+#appMenu-addons-button {
+ list-style-image: url(addons.svg) !important;
+}
+
+#email-link-button,
+#pageAction-panel-emailLink {
+ list-style-image: url(email.svg) !important;
+}
+
+#pageAction-panel-shareURL {
+ list-style-image: url(share.svg) !important;
+}
+
+#pageAction-panel-copyURL {
+ list-style-image: url(hyperlink.svg) !important;
+}
+
+#pageAction-panel-webcompat-reporter_mozilla_org {
+ list-style-image: url(bug.svg) !important;
+}
+
+#pageAction-panel-webcompat-reporter_mozilla_org > .toolbarbutton-icon {
+ list-style-image: inherit !important;
+}
+
+#nav-bar-overflow-button {
+ list-style-image: url(overflow.svg) !important;
+}
+
+#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-left {
+ background-image: url(screenshot.svg) !important;
+ background-position: 4px center !important;
+ background-repeat: no-repeat !important;
+}
+
+#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-icon {
+ visibility: hidden !important;
+}
+
+#tabs-newtab-button,
+#new-tab-button {
+ list-style-image: url(new-tab.svg) !important;
+}
+
+#fxa-avatar-image {
+ /* icon should be 20px, but we don't want to affect button size */
+ transform: scale(1.25) !important;
+ border-radius: 50% !important;
+}
+
+:root:not([fxastatus="signedin"]) #fxa-avatar-image {
+ list-style-image: url(profile-inactive.svg) !important;
+}
+
+:root[fxastatus="signedin"]:not([style*="--avatar-image-url"]) #fxa-avatar-image {
+ list-style-image: url(profile.svg) !important;
+}
+
+:root[privatebrowsingmode] #fxa-avatar-image {
+ list-style-image: url(incognito.svg) !important;
+}
+
+#urlbar[pageproxystate="invalid"] #identity-icon,
+.searchbar-search-icon,
+#PopupAutoCompleteRichResult .ac-type-icon[type="keyword"],
+#PopupAutoCompleteRichResult .ac-site-icon[type="searchengine"],
+#appMenu-find-button,
+#find-button,
+#panelMenu_searchBookmarks {
+ list-style-image: url(search.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#print-button {
+ list-style-image: url(print.svg) !important;
+}
+
+#edit-controls #cut-button,
+#appMenu-cut-button {
+ list-style-image: url(cut.svg) !important;
+}
+
+#edit-controls #copy-button,
+#appMenu-copy-button {
+ list-style-image: url(copy.svg) !important;
+}
+
+#edit-controls #paste-button,
+#appMenu-paste-button {
+ list-style-image: url(paste.svg) !important;
+}
+
+#privatebrowsing-button {
+ list-style-image: url(incognito.svg) !important;
+}
+
+#fullscreen-button {
+ list-style-image: url(fullscreen.svg) !important;
+}
+
+#appMenu-fxa-label,
+#PanelUI-fxa-menu-syncnow-button,
+#appMenu-fxa-icon,
+#PanelUI-remotetabs-syncnow {
+ list-style-image: url(sync.svg) !important;
+}
+
+/* toolbarbutton bookmark folder icon */
+toolbarbutton[class="bookmark-item"][container="true"] > .toolbarbutton-icon {
+ list-style-image: url(folder.svg) !important;
+}
+
+.tab-icon-image:not([src]) {
+ list-style-image: url(globe.svg) !important;
+}
+
+.tab-icon-image[src="chrome://browser/skin/settings.svg"]
+{
+ display: none !important;
+}
+
+.tab-icon-image[src="chrome://browser/skin/settings.svg"] ~ .tab-icon-overlay
+{
+ display: -moz-box !important;
+ margin: 0 !important;
+ list-style-image: url(settings.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+}
+
+.tab-icon-overlay[soundplaying],
+.tab-icon-sound {
+ list-style-image: url(audio.svg) !important;
+}
+
+.tab-icon-overlay[muted],
+.tab-icon-sound[muted] {
+ list-style-image: url(audio-muted.svg) !important;
+}
+
+.tab-icon-overlay[activemedia-blocked],
+.tab-icon-sound[activemedia-blocked] {
+ list-style-image: url(media-blocked.svg) !important;
+}
+
+.downloadIconShow .button-icon {
+ list-style-image: url(folder.svg) !important;
+}
+
+.panel-banner-item[notificationid^="update"] {
+ list-style-image: url(menu-update.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2) {
+ .toolbarbutton-1:-moz-any(#back-button, #forward-button),
+ #context-back,
+ #context-forward,
+ .subviewbutton-back,
+ .identity-popup-expander {
+ list-style-image: url(arrow-back-2x.svg) !important;
+ }
+
+ #PanelUI-menu-button:not([badge-status|="update"]) .toolbarbutton-icon {
+ transform: translate(-0.5px, -0.5px) !important;
+ }
+
+ #stop-button {
+ list-style-image: url(stop-2x.svg) !important;
+ }
+
+ #reload-button,
+ #context-reload {
+ list-style-image: url(refresh-2x.svg) !important;
+ }
+
+ #home-button {
+ list-style-image: url(home-2x.svg) !important;
+ }
+
+ #star-button,
+ #context-bookmarkpage,
+ #pageAction-panel-bookmark,
+ #panelMenuBookmarkThisPage {
+ list-style-image: url(star-2x.svg) !important;
+ }
+
+ #bookmarks-menu-button .toolbarbutton-icon {
+ transform: translateX(0.5px) !important;
+ }
+
+ #library-button {
+ list-style-image: url(library-2x.svg) !important;
+ }
+}
diff --git a/modules/home-manager/browser/floorp/chrome/icons/incognito.svg b/modules/home-manager/browser/floorp/chrome/icons/incognito.svg
new file mode 100644
index 0000000..7160772
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/incognito.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/key.svg b/modules/home-manager/browser/floorp/chrome/icons/key.svg
new file mode 100644
index 0000000..9b52f93
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/key.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/library-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/library-1x.svg
new file mode 100644
index 0000000..dce0c54
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/library-1x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/library-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/library-2x.svg
new file mode 100644
index 0000000..c819565
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/library-2x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/lock.svg b/modules/home-manager/browser/floorp/chrome/icons/lock.svg
new file mode 100644
index 0000000..cea0c86
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/lock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/menu-update.svg b/modules/home-manager/browser/floorp/chrome/icons/menu-update.svg
new file mode 100644
index 0000000..bef9a10
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/menu-update.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/menu.svg b/modules/home-manager/browser/floorp/chrome/icons/menu.svg
new file mode 100644
index 0000000..e20e90d
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/menu.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/new-tab.svg b/modules/home-manager/browser/floorp/chrome/icons/new-tab.svg
new file mode 100644
index 0000000..b071566
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/new-tab.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/overflow.svg b/modules/home-manager/browser/floorp/chrome/icons/overflow.svg
new file mode 100644
index 0000000..9871e75
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/overflow.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/page-action.svg b/modules/home-manager/browser/floorp/chrome/icons/page-action.svg
new file mode 100644
index 0000000..8413f5e
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/page-action.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/password-manager.svg b/modules/home-manager/browser/floorp/chrome/icons/password-manager.svg
new file mode 100644
index 0000000..6d2f3d3
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/password-manager.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/paste.svg b/modules/home-manager/browser/floorp/chrome/icons/paste.svg
new file mode 100644
index 0000000..e8e25d7
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/paste.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/print.svg b/modules/home-manager/browser/floorp/chrome/icons/print.svg
new file mode 100644
index 0000000..6e31d17
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/print.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/profile-inactive.svg b/modules/home-manager/browser/floorp/chrome/icons/profile-inactive.svg
new file mode 100644
index 0000000..482419d
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/profile-inactive.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/profile.svg b/modules/home-manager/browser/floorp/chrome/icons/profile.svg
new file mode 100644
index 0000000..11eb0a9
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/profile.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/reader-mode.svg b/modules/home-manager/browser/floorp/chrome/icons/reader-mode.svg
new file mode 100644
index 0000000..98a1fa1
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/reader-mode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/refresh-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/refresh-1x.svg
new file mode 100644
index 0000000..6a947a4
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/refresh-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/refresh-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/refresh-2x.svg
new file mode 100644
index 0000000..1f414ce
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/refresh-2x.svg
@@ -0,0 +1,16 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/screenshot.svg b/modules/home-manager/browser/floorp/chrome/icons/screenshot.svg
new file mode 100644
index 0000000..2457281
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/screenshot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/search.svg b/modules/home-manager/browser/floorp/chrome/icons/search.svg
new file mode 100644
index 0000000..c18e227
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/settings.svg b/modules/home-manager/browser/floorp/chrome/icons/settings.svg
new file mode 100644
index 0000000..f618fba
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/share.svg b/modules/home-manager/browser/floorp/chrome/icons/share.svg
new file mode 100644
index 0000000..5ae5d87
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/sidebar.svg b/modules/home-manager/browser/floorp/chrome/icons/sidebar.svg
new file mode 100644
index 0000000..dd2878f
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/sidebar.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/star-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/star-1x.svg
new file mode 100644
index 0000000..c0b3e95
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/star-1x.svg
@@ -0,0 +1,7 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/star-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/star-2x.svg
new file mode 100644
index 0000000..35cc583
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/star-2x.svg
@@ -0,0 +1,2 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/star-filled.svg b/modules/home-manager/browser/floorp/chrome/icons/star-filled.svg
new file mode 100644
index 0000000..fba5577
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/star-filled.svg
@@ -0,0 +1,7 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/stop-1x.svg b/modules/home-manager/browser/floorp/chrome/icons/stop-1x.svg
new file mode 100644
index 0000000..cf6357a
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/stop-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/stop-2x.svg b/modules/home-manager/browser/floorp/chrome/icons/stop-2x.svg
new file mode 100644
index 0000000..c687332
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/stop-2x.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/icons/sync.svg b/modules/home-manager/browser/floorp/chrome/icons/sync.svg
new file mode 100644
index 0000000..6ffa6da
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/sync.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/icons/tracking-protection.svg b/modules/home-manager/browser/floorp/chrome/icons/tracking-protection.svg
new file mode 100644
index 0000000..6f47545
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/icons/tracking-protection.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/interface/interface.css b/modules/home-manager/browser/floorp/chrome/interface/interface.css
new file mode 100644
index 0000000..526de8f
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/interface/interface.css
@@ -0,0 +1,34 @@
+#customization-footer button,
+#editBookmarkPanelBottomButtons button {
+ -moz-appearance: none !important;
+ border: none !important;
+ padding: 7px !important;
+ color: var(--arrowpanel-color) !important;
+ background: var(--arrowpanel-background) !important;
+ border-radius: 5px !important;
+ margin-left: 10px !important;
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
+ transition: transform 300ms ease-in-out !important;
+}
+
+#editBookmarkPanelBottomButtons button,
+#editBMPanel_foldersExpander button {
+ background: var(--lwt-accent-color) !important;
+}
+button#editBookmarkPanelDoneButton {
+ color: var(--lwt-accent-color) !important;
+ background-color: var(--lwt-toolbarbutton-icon-fill-attention) !important;
+}
+
+button:hover {
+ transform: translateY(-2px) !important;
+}
+
+#editBookmarkPanel input {
+ -moz-appearance: none !important;
+ border-radius: 5px;
+ padding: 7px;
+ background: var(--lwt-accent-color) !important;
+ background-color: var(--lwt-accent-color) !important;
+ border-color: var(--arrowpanel-dimmed-further) !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/connection-1x.svg b/modules/home-manager/browser/floorp/chrome/navbar/connection-1x.svg
new file mode 100644
index 0000000..f8568ac
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/connection-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/connection-2x.svg b/modules/home-manager/browser/floorp/chrome/navbar/connection-2x.svg
new file mode 100644
index 0000000..cfabbde
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/connection-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-1x.svg b/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-1x.svg
new file mode 100644
index 0000000..94e73cd
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-2x.svg b/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-2x.svg
new file mode 100644
index 0000000..ec5553b
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/connection-warning-2x.svg
@@ -0,0 +1,3 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/identity-icons-brand.svg b/modules/home-manager/browser/floorp/chrome/navbar/identity-icons-brand.svg
new file mode 100644
index 0000000..4870645
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/identity-icons-brand.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/info-1x.svg b/modules/home-manager/browser/floorp/chrome/navbar/info-1x.svg
new file mode 100644
index 0000000..005445a
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/info-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/info-2x.svg b/modules/home-manager/browser/floorp/chrome/navbar/info-2x.svg
new file mode 100644
index 0000000..39e87c3
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/info-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-1x.svg b/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-1x.svg
new file mode 100644
index 0000000..59327d5
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-1x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-2x.svg b/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-2x.svg
new file mode 100644
index 0000000..549aad2
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/naughty-shield-2x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/navbar/navbar.css b/modules/home-manager/browser/floorp/chrome/navbar/navbar.css
new file mode 100644
index 0000000..3cf5340
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/navbar/navbar.css
@@ -0,0 +1,134 @@
+.titlebar-spacer {
+ display: none !important;
+}
+
+/* change! - removed the bottom border (same color anyways, just missaligns everything) */
+/* toolbox#navigator-toolbox {
+ border-bottom: solid var(--dividers) var(--sidebar-shadow-color) !important;
+} */
+
+#nav-bar {
+ min-height: 36px !important;
+ box-shadow: none !important;
+ padding-inline: 5px 6px !important;
+ background-color: var(--toolbar-bgcolor) !important;
+ padding: 8px !important;
+}
+
+.private-browsing-indicator {
+ display: none !important;
+}
+
+#reload-button[disabled]:not(:-moz-window-inactive) > .toolbarbutton-icon {
+ opacity: 1 !important;
+}
+
+toolbar .toolbarbutton-1 {
+ margin-left: 3px !important;
+ margin-right: 3px !important;
+}
+
+#stop-reload-button[animate="true"] .toolbarbutton-animatable-box {
+ transform: translateX(2px) translateY(16px) !important;
+}
+
+.toolbarbutton-1[checked="true"] > .toolbarbutton-icon {
+ background: transparent !important;
+ fill: var(--lwt-toolbarbutton-icon-fill-attention);
+}
+
+toolbar .toolbarbutton-1 > .toolbarbutton-icon {
+ border-radius: 7px !important;
+ padding: 7px !important;
+}
+
+:root:not([customizing]) #back-button[disabled="true"] {
+ opacity: 0.5 !important;
+}
+
+/* #back-button:not(:hover),
+#back-button:not(:hover) > .toolbarbutton-icon {
+ background: transparent !important;
+ border: none !important;
+ box-shadow: none !important;
+}
+
+#back-button:hover,
+#back-button:hover > .toolbarbutton-icon {
+ background: transparent !important;
+ border: none !important;
+ box-shadow: none !important;
+ border: none !important;
+}
+
+#back-button:hover:not([disabled]) > .toolbarbutton-icon {
+ background: var(--lwt-toolbarbutton-hover-background) !important;
+}
+*/
+#back-button > .toolbarbutton-icon {
+ padding: 4px !important;
+}
+#forward-button > .toolbarbutton-icon {
+ padding: 3px !important;
+}
+toolbar:not([customizing="true"])
+ .toolbarbutton-1:not(.titlebar-button):not(#back-button):not(#forward-button)
+ > .toolbarbutton-icon {
+ padding: 6px !important;
+}
+.toolbarbutton-1 .toolbarbutton-badge-stack #fxa-avatar-image {
+ padding: 1px !important;
+}
+
+/* Windows */
+#PanelUI-button {
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+#PanelUI-menu-button[badge-status|="update"] .toolbarbutton-badge {
+ display: none !important;
+}
+
+:root[privatebrowsingmode] #fxa-toolbar-menu-button {
+ pointer-events: none !important;
+}
+
+/* show "Private" label for en languages only */
+:root[titlemodifier="(Private Browsing)"] #fxa-toolbar-menu-button::before {
+ content: "Private" !important;
+ display: -moz-box !important;
+ margin-inline-start: 12px !important;
+ margin-inline-end: 6px !important;
+}
+
+#nav-bar-customization-target {
+ overflow: visible !important;
+}
+
+/* animated download box (do this to get it into the url bar */
+/* .toolbarbutton-animatable-box {
+ transform: translateX(-80px) !important;
+ top: 1px !important;
+ z-index: 10 !important;
+} */
+
+#PersonalToolbar {
+ margin-top: -40px !important;
+ opacity: 0;
+ transition: all var(--transition-time) var(--ease-out) !important;
+}
+
+toolbox[id="navigator-toolbox"]:hover #PersonalToolbar {
+ opacity: 1;
+ margin: 0 !important;
+}
+
+#PlacesToolbarItems {
+ margin: 7px 4px !important;
+}
+
+toolbarbutton[class="bookmark-item"]:not(:hover) {
+ opacity: 0.6 !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/popup/checkmark-blank.svg b/modules/home-manager/browser/floorp/chrome/popup/checkmark-blank.svg
new file mode 100644
index 0000000..ed4b321
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/checkmark-blank.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/popup/checkmark.svg b/modules/home-manager/browser/floorp/chrome/popup/checkmark.svg
new file mode 100644
index 0000000..e63bed7
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/checkmark.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/popup/folder.svg b/modules/home-manager/browser/floorp/chrome/popup/folder.svg
new file mode 100644
index 0000000..84d224a
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/folder.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/popup/menu-right-1x.svg b/modules/home-manager/browser/floorp/chrome/popup/menu-right-1x.svg
new file mode 100644
index 0000000..fa4eef0
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/menu-right-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/popup/menu-right-2x.svg b/modules/home-manager/browser/floorp/chrome/popup/menu-right-2x.svg
new file mode 100644
index 0000000..401a0f5
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/menu-right-2x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/popup/popup.css b/modules/home-manager/browser/floorp/chrome/popup/popup.css
new file mode 100644
index 0000000..5620e5b
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/popup/popup.css
@@ -0,0 +1,913 @@
+menupopup,
+menupopup menuitem,
+menupopup menu,
+menupopup menuseparator {
+ -moz-appearance: none !important;
+}
+
+menupopup,
+panel[type="autocomplete-richlistbox"] {
+ -moz-window-shadow: none !important;
+ background: 0 !important;
+ border: 0 !important;
+ color: var(--arrowpanel-color) !important;
+ box-sizing: content-box !important;
+}
+
+menupopup {
+ padding: 11px 14px 18px !important;
+ margin: -19px -14px 0 !important;
+}
+
+/* needs to align with textbox/bookmark-button but can't overlap it */
+panel[type="autocomplete-richlistbox"],
+.bookmark-item:not(menu) > menupopup[placespopup] {
+ padding: 1px 14px 18px !important;
+ margin: 0 -14px 0 !important;
+}
+
+.panel-arrowcontent {
+ background: 0 !important;
+ padding: 0 !important;
+ box-shadow: none !important;
+ font: -moz-pull-down-menu !important;
+ border: 0 !important;
+}
+
+.popup-internal-box,
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox,
+#PopupSearchAutoComplete > *,
+.menupopup-arrowscrollbox {
+ background: var(--arrowpanel-background) !important;
+}
+
+/* themes a menupopup (or other root level / shadow dom popup) as a panel */
+/* Mozilla's use of shadow dom means we can't use a menupopup > .popup-internal-box */
+.popup-internal-box,
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox,
+.menupopup-arrowscrollbox {
+ margin: 0 !important;
+ padding: 8px 0 !important;
+ border-radius: 4px !important;
+ color: inherit !important;
+}
+
+.popup-internal-box,
+.menupopup-arrowscrollbox {
+ box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14),
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important;
+}
+
+#PopupSearchAutoComplete > * {
+ border-radius: 0 !important;
+}
+
+#PopupSearchAutoComplete > :first-child {
+ border-radius: 4px 4px 0 0 !important;
+}
+
+#PopupSearchAutoComplete > :last-child {
+ border-radius: 0 0 4px 4px !important;
+}
+
+/* autocomplete panel can't overlap the textbox, so shadow can't go up
+ more than 1px */
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox {
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px -0px rgba(0, 0, 0, 0.14),
+ 0 3px 14px -5px rgba(0, 0, 0, 0.12) !important;
+}
+
+/* search panel gets special treatment; it has multiple children */
+#PopupSearchAutoComplete > .autocomplete-richlistbox {
+ box-shadow: none !important;
+}
+
+#PopupSearchAutoComplete {
+ filter: drop-shadow(0 8px 6px rgba(0, 0, 0, 0.25)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.125)) !important;
+}
+
+/* reset non-layout props when embedded in a panel
+ (panel handles panel theming in this case) */
+.panel-arrowcontent > .popup-internal-box {
+ background: 0 !important;
+ border-radius: 0 !important;
+ box-shadow: none !important;
+}
+
+/* shotgun approach to undo this selector...
+ #BMB_bookmarksPopup menupopup[placespopup="true"]:-moz-lwtheme::part(innerbox)
+ ...without being able to use ::part() in userChrome.css */
+[part="innerbox"] {
+ /* this could cause side effects elsewhere */
+ box-shadow: none !important;
+ margin: 0 !important;
+}
+
+menupopup menuseparator {
+ margin: 8px 0 !important;
+ padding: 0 !important;
+ height: 1px !important;
+ background: currentColor !important;
+ opacity: 0.12 !important;
+}
+
+menupopup menuitem,
+menupopup menu,
+.autocomplete-richlistitem {
+ height: 32px !important;
+ padding: 0 16px !important;
+ border: 0 !important;
+ background: 0 !important;
+ color: inherit !important;
+ fill-opacity: initial !important;
+}
+
+menupopup menuitem:hover:not([disabled="true"]),
+menupopup menu:hover:not([disabled="true"]),
+.autocomplete-richlistitem:hover:not([disabled="true"]):not([selected="true"]) {
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+menupopup menuitem:hover:active:not([disabled="true"]),
+menupopup menu:hover:active:not([disabled="true"]),
+.autocomplete-richlistitem:hover:active:not([disabled="true"]),
+.autocomplete-richlistitem[selected="true"] {
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+menupopup menuitem[disabled="true"],
+menupopup menu[disabled="true"],
+.autocomplete-richlistitem[disabled="true"] {
+ opacity: 0.5 !important;
+}
+
+/* disable vertical menu scroll buttons and use a good ol' scrollbar */
+/* this is a shotgun approach, expect side effects */
+/* >=71 */
+scrollbox[orient=vertical] {
+ overflow-y: auto !important;
+}
+
+/* this is a bit depressing... */
+/* work around lack of ::part selector support */
+:root {
+ --scrollbutton-display: -moz-box !important;
+}
+
+/* hide ancient-looking scrollbuttons in menupopups */
+/* add other selectors here to disable more scrollbuttons */
+menupopup {
+ --scrollbutton-display: none !important;
+}
+
+/* this is disabled to prevent glitchy jump effects on very small screens */
+/* #scrollbutton-up[part],
+#scrollbutton-down[part] {
+ display: var(--scrollbutton-display) !important;
+} */
+
+.menuitem-iconic,
+.menu-iconic-icon /* .menu-iconic-icons not necessarily within a .menuitem-iconic (don't ask me why...) */ {
+ fill: currentColor !important;
+ -moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important;
+}
+
+.menuitem-iconic[class*="identity-color"] .menu-iconic-icon {
+ fill: var(--identity-icon-color) !important;
+}
+
+.menu-iconic-left {
+ -moz-appearance: none !important;
+}
+
+/* hide icon if no image (default on macOS but not Windows) */
+.subviewbutton:not(:-moz-any([image], [targetURI], .bookmark-item)) > .menu-iconic-left {
+ display: none;
+}
+
+.menu-iconic-icon {
+ margin-inline-start: 0 !important;
+ margin-inline-end: 16px !important;
+ width: 24px !important;
+ height: 24px !important;
+ padding: 4px !important;
+}
+
+.menu-text {
+ -moz-appearance: none !important;
+ padding: 0 !important;
+}
+
+.menu-right {
+ -moz-appearance: none !important;
+ -moz-context-properties: fill !important;
+ fill: currentColor !important;
+ list-style-image: url(menu-right-2x.svg) !important;
+ margin-inline-end: 0 !important;
+ margin-inline-start: 16px !important;
+}
+
+.menu-iconic.bookmark-item .menu-right {
+ transform: scale(2) !important;
+}
+
+menuitem[type="checkbox"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[type="radio"] > .menu-iconic-left > .menu-iconic-icon {
+ padding: 3px !important;
+}
+
+menuitem[type="checkbox"][checked="false"] > .menu-iconic-left > .menu-iconic-icon {
+ list-style-image: url(checkmark-blank.svg) !important;
+}
+
+menuitem[type="checkbox"][checked="true"] > .menu-iconic-left > .menu-iconic-icon {
+ list-style-image: url(checkmark.svg) !important;
+}
+
+menu[container="true"] > .menu-iconic-left > .menu-iconic-icon {
+ list-style-image: url(folder.svg) !important;
+}
+
+#context-navigation {
+ background: 0 !important;
+}
+
+#context-navigation .menuitem-iconic {
+ background: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#context-navigation .menu-iconic-left {
+ border-radius: 50% !important;
+ padding: 8px !important;
+}
+
+#context-navigation .menu-iconic-icon {
+ padding: 0 !important;
+ margin: 0 !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+
+#context-navigation .menuitem-iconic:hover:not([disabled]) .menu-iconic-left {
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+#context-navigation .menuitem-iconic:hover:active:not([disabled]) .menu-iconic-left {
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+panel[type="arrow"] {
+ -moz-window-shadow: none !important;
+
+ margin: 0 -14px -18px !important;
+ padding: 0 14px 18px !important;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"] {
+ margin-left: -39px !important;
+ margin-right: -39px !important;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"] {
+ margin-top: -44px;
+ margin-bottom: -44px;
+}
+
+.panel-arrowcontent {
+ background: var(--arrowpanel-background) !important;
+ border: 0 !important;
+ border-radius: 4px !important;
+ box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14),
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important;
+ color: var(--arrowpanel-color) !important;
+}
+
+.panel-arrowbox,
+.cui-widget-panel .panel-arrowbox {
+ display: none !important;
+}
+
+/* .subview-subheader, */
+panelview .toolbarbutton-1,
+.subviewbutton,
+.widget-overflow-list .toolbarbutton-1,
+.panel-banner-item {
+ min-height: 32px !important;
+ /* padding: 0 16px !important; */
+}
+
+.subviewbutton .toolbarbutton-icon,
+.panel-banner-item .toolbarbutton-icon {
+ /* margin-inline-end: 16px !important; */
+ width: 18px !important;
+ height: 18px !important;
+ padding: 4px !important;
+}
+
+.subviewbutton label,
+.panel-banner-item label {
+ padding-inline-start: 0 !important;
+}
+
+#appMenu-zoom-controls > .subviewbutton,
+#appMenu-edit-controls > .subviewbutton {
+ min-width: 32px !important;
+ border-radius: 16px !important;
+ padding: 0 8px !important;
+ border: 0 !important;
+ margin-inline-start: 4px !important;
+}
+
+#appMenu-zoom-controls > toolbarseparator[orient="vertical"] + .subviewbutton {
+ margin-inline-start: 0 !important;
+}
+
+#appMenu-zoom-controls > .subviewbutton-iconic,
+#appMenu-edit-controls > .subviewbutton-iconic {
+ padding: 0 !important;
+}
+
+.panel-banner-item {
+ border: 0 !important;
+}
+
+#appMenu-addon-banners:not(:empty) ~ #appMenu-fxa-status,
+.panel-banner-item:not([hidden]) + #appMenu-fxa-status {
+ border-top: 1px solid var(--panel-separator-color) !important;
+ margin-top: 5px !important;
+ padding-top: 5px !important;
+}
+
+#appMenu-fxa-avatar {
+ display: none !important;
+}
+
+:root[fxastatus="signedin"] #appMenu-fxa-label {
+ list-style-image: var(--avatar-image-url) !important;
+ margin: 0 !important;
+}
+
+:root[fxastatus="signedin"] #appMenu-fxa-label > .toolbarbutton-icon {
+ display: -moz-box !important;
+ border-radius: 99px !important;
+ padding: 2px !important;
+}
+
+.panel-banner-item[notificationid="update-restart"]::after {
+ display: none !important;
+}
+
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem="true"])
+ > toolbarbutton
+ > .toolbarbutton-icon {
+ margin: 0 !important;
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.before-label {
+ width: 20px !important;
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.after-label {
+ width: 14px !important;
+}
+
+.subviewbutton-back {
+ padding: 4px !important;
+ border-radius: 16px !important;
+}
+
+.subviewbutton-back .toolbarbutton-icon {
+ margin: 0 !important;
+}
+
+.subviewbutton[type="highlight-history"]::after {
+ transform: none !important;
+}
+
+.subviewbutton[type="highlight-history"]::after,
+.subviewbutton[shortcut]::after,
+.PanelUI-subView .subviewbutton-nav::after {
+ margin-inline-start: 14px !important;
+}
+
+.PanelUI-subView .subviewbutton-nav::after {
+ transform: none !important;
+ content: url(menu-right-1x.svg) !important;
+ fill-opacity: 1 !important;
+}
+
+#identity-popup > .panel-arrowcontainer > .panel-arrowcontent {
+ fill-opacity: inherit !important;
+}
+
+.identity-popup-preferences-button {
+ border-radius: 16px !important;
+ background-image: none !important;
+}
+
+.identity-popup-preferences-button > .toolbarbutton-icon {
+ margin: 0 !important;
+}
+
+#identity-popup-permission-preferences-button {
+ padding: 0 !important;
+}
+
+#tracking-protection-preferences-button > .toolbarbutton-icon {
+ margin-inline-end: -8px !important;
+}
+
+#tracking-protection-preferences-button > .toolbarbutton-text {
+ padding-inline-end: 4px !important;
+ -moz-box-ordinal-group: 0 !important;
+}
+
+.identity-popup-section {
+ padding: 16px !important;
+ display: flex !important;
+}
+
+.identity-popup-security-content,
+#identity-popup-content-blocking-content,
+#identity-popup-permissions-content {
+ padding: 0 !important;
+ background: 0 !important;
+ fill-opacity: inherit !important;
+}
+
+.identity-popup-expander {
+ border-radius: 16px !important;
+ width: 32px !important;
+ max-height: 32px !important;
+ margin-inline-start: auto !important;
+ -moz-box-pack: center !important;
+ -moz-box-align: center !important;
+ background-image: none !important;
+}
+
+.identity-popup-expander > .button-box {
+ border: 0 !important;
+ display: flex !important;
+ justify-content: center !important;
+}
+
+.identity-popup-expander .button-icon {
+ margin: 0 !important;
+}
+
+.identity-popup-expander .button-text {
+ display: none !important;
+}
+
+.identity-popup-headline {
+ margin: 0 !important;
+}
+
+.PanelUI-subView > .identity-popup-security-content,
+#identity-popup-securityView-body {
+ padding: 16px !important;
+}
+
+#identity-popup-mainView-panel-header {
+ -moz-box-align: start !important;
+ padding: 16px !important;
+}
+
+#identity-popup-securityView-body {
+ margin: 0 !important;
+}
+
+#identity-popup-content-blocking-content,
+#identity-popup-permissions-content {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+}
+
+#identity-popup-content-blocking-content > hbox:first-child,
+#identity-popup-permissions-content > hbox:first-child {
+ display: flex !important;
+}
+
+#identity-popup-content-blocking-category-list,
+#identity-popup-permission-list {
+ display: flex !important;
+ flex-direction: column !important;
+ margin: 0 -16px !important;
+ width: calc(100% + 32px) !important;
+ padding-top: 8px !important;
+}
+
+.identity-popup-permission-item {
+ display: flex !important;
+ align-items: center !important;
+}
+
+.identity-popup-permission-label,
+#identity-popup-content-blocking-report-breakage {
+ flex: 1 !important;
+ text-decoration: none !important;
+ cursor: auto !important;
+ color: inherit !important;
+}
+
+.identity-popup-content-blocking-category,
+.identity-popup-permission-item {
+ height: 32px !important;
+ padding: 0 16px !important;
+}
+
+.identity-popup-content-blocking-category-icon,
+.identity-popup-permission-icon {
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+}
+
+.popup-notification-icon,
+.identity-popup-permission-icon {
+ fill-opacity: 1 !important;
+}
+
+.identity-popup-content-blocking-category-label,
+.identity-popup-permission-label {
+ margin: 0 !important;
+}
+
+.identity-popup-content-blocking-category::after {
+ transform: translateY(1px) !important;
+ content: url(menu-right-1x.svg) !important;
+ margin: 0 !important;
+}
+
+.identity-popup-preferences-button {
+ margin-inline-start: auto !important;
+}
+
+.identity-popup-permission-remove-button {
+ opacity: 1 !important;
+}
+
+.tracking-protection-button,
+#identity-popup-content-blocking-report-breakage {
+ margin: 0 -16px !important;
+ height: 32px !important;
+ padding: 0 16px !important;
+ background: 0 !important;
+ color: inherit !important;
+ line-height: 32px !important;
+}
+
+#identity-popup-content-blocking-report-breakage {
+ padding-inline-start: 50px !important;
+}
+
+.tracking-protection-button > .button-box {
+ padding: 0 !important;
+}
+
+.tracking-protection-button .button-icon {
+ margin: 0 !important;
+}
+
+#customization-lwtheme-menu-header {
+ height: 8px !important;
+ font-size: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ border: 0 !important;
+ visibility: hidden !important;
+}
+
+#identity-popup-content-blocking-report-breakage {
+ padding-inline-start: 48px !important;
+ line-height: 32px !important;
+ text-decoration: none !important;
+ cursor: auto !important;
+}
+
+.tracking-protection-button:hover:not([disabled="true"]),
+#identity-popup-content-blocking-report-breakage:hover,
+#blocked-popup-indicator-item:hover,
+.customization-lwtheme-menu-theme:hover,
+#customization-lwtheme-menu-footer toolbarbutton:hover {
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+.tracking-protection-button:hover:active:not([disabled="true"]),
+#identity-popup-content-blocking-report-breakage:hover:active,
+#blocked-popup-indicator-item:hover:active,
+.customization-lwtheme-menu-theme:hover:active,
+#customization-lwtheme-menu-footer toolbarbutton:hover:active {
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+.identity-popup-content-blocking-empty-label,
+#tracking-protection-preferences-button > .toolbarbutton-text,
+.tracking-protection-button,
+#identity-popup-trackersView-strict-info > label,
+.identity-popup-cookiesView-list-header,
+.identity-popup-content-blocking-list-item > label,
+#identity-popup-mainView-panel-header > label,
+#identity-popup-trackersView > .panel-header,
+#identity-popup-securityView > .panel-header,
+#identity-popup-breakageReportView > .panel-header,
+#identity-popup-content-blocking-report-breakage,
+.identity-popup-content-blocking-category-label,
+.identity-popup-content-blocking-category-state-label,
+.identity-popup-permission-label,
+.identity-popup-permission-state-label,
+#identity-popup-security-descriptions > description,
+#identity-popup-securityView-body > description,
+#identity-popup-permissions-content > description,
+#identity-popup-content-blocking-content > description {
+ font-size: 100% !important;
+}
+
+.panel-header > label {
+ text-align: start !important;
+ margin-inline-start: 4px !important;
+}
+
+.identity-popup-headline {
+ font-size: 110% !important;
+}
+
+.identity-popup-security-content > description,
+#identity-popup-content-blocking-content > description,
+#identity-popup-permissions-content > description,
+.identity-popup-content-blocking-category-state-label,
+.identity-popup-permission-state-label {
+ font-size: 85% !important;
+}
+
+#identity-popup-permissions-content > description,
+#identity-popup-content-blocking-content > description {
+ color: inherit !important;
+ opacity: 0.6 !important;
+}
+
+.identity-popup-content-blocking-category-state-label {
+ transform: translateY(1px) !important;
+}
+
+.tracking-protection-button > .button-box,
+.panel-footer button > .button-box {
+ display: flex !important;
+ align-items: center !important;
+}
+
+.tracking-protection-button .button-icon,
+.panel-footer button .button-icon {
+ padding-inline-end: 16px !important;
+}
+
+.tracking-protection-button .button-text,
+.panel-footer button .button-text {
+ margin: 0 !important;
+}
+
+#downloadsPanel-multiView {
+ padding-top: 8px !important;
+}
+
+#downloadsListBox .download-state {
+ display: flex !important;
+ width: 100% !important;
+ align-items: center !important;
+}
+
+#downloadsListBox .downloadMainArea {
+ padding: 0 !important;
+ display: flex !important;
+ flex: 1 !important;
+ margin-inline-end: -48px !important;
+ padding-inline-end: 48px !important;
+ padding-inline-start: 16px !important;
+ height: 100% !important;
+ align-items: center !important;
+}
+
+#downloadsListBox .downloadContainer {
+ display: flex !important;
+ flex-direction: column !important;
+ flex: 1 !important;
+}
+
+#downloadsListBox .downloadTypeIcon {
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+}
+
+#downloadsListBox .downloadTarget {
+ font-size: 100% !important;
+}
+
+#downloadsListBox .downloadDetails {
+ font-size: 85% !important;
+}
+
+#downloadsListBox > richlistitem > toolbarseparator {
+ display: none !important;
+}
+
+#downloadsListBox .downloadButton {
+ margin-inline-end: 16px !important;
+ height: 32px !important;
+ min-width: 32px !important;
+ border-radius: 16px !important;
+ fill: currentColor !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ display: block !important;
+}
+
+#downloadsListBox .downloadButton .button-box {
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ max-width: 32px !important;
+}
+
+#confirmation-hint .panel-arrowcontent,
+#UITourTooltip .panel-arrowcontent,
+#customization-lwtheme-menu .panel-arrowcontent,
+#customization-uidensity-menu .panel-arrowcontent {
+ padding: 16px !important;
+}
+
+#customization-uidensity-menu .panel-arrowcontent,
+#customization-lwtheme-menu .panel-arrowcontent {
+ padding-top: 8px !important;
+}
+
+#customization-lwtheme-menu,
+#customization-uidensity-menu {
+ margin-inline: -60px 0 !important;
+ margin-block-end: -20px !important;
+}
+
+.customization-lwtheme-menu-theme,
+.customization-uidensity-menuitem {
+ padding: 0 16px !important;
+ margin: 0 !important;
+ border: 0 !important;
+ height: 48px !important;
+}
+
+.customization-lwtheme-menu-theme .toolbarbutton-icon,
+.customization-uidensity-menuitem .menu-iconic-icon {
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+ padding: 0 !important;
+ width: 24px !important;
+ height: 24px !important;
+}
+
+.customization-lwtheme-menu-theme[active]:not(:hover):not(:active),
+.customization-uidensity-menuitem[active]:not(:hover):not(:active) {
+ background: 0 !important;
+}
+
+.customization-lwtheme-menu-theme[active]::after,
+.customization-uidensity-menuitem[active]::after {
+ content: url(checkmark.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+ display: -moz-box !important;
+ width: 18px !important;
+ height: 18px !important;
+ margin-inline-start: 16px !important;
+}
+
+.customization-uidensity-menuitem:first-of-type {
+ margin-block-start: 8px !important;
+}
+
+.customization-uidensity-menuitem:last-of-type {
+ margin-block-end: 8px !important;
+}
+
+#customization-lwtheme-menu-footer {
+ padding: 0 0 8px !important;
+ margin: 0 !important;
+ background: 0 !important;
+ border: 0 !important;
+ display: flex !important;
+ flex-direction: column !important;
+}
+
+#customization-lwtheme-menu-footer toolbarbutton {
+ border: 0 !important;
+ margin: 0 !important;
+ height: 48px !important;
+ padding: 0 16px !important;
+ display: flex !important;
+ background-image: none !important;
+}
+
+#customization-lwtheme-menu-footer toolbarbutton .toolbarbutton-text {
+ text-align: start !important;
+}
+
+.panel-footer {
+ padding: 4px !important;
+ background: 0 !important;
+ border-top: 1px solid var(--panel-separator-color) !important;
+ justify-content: end !important;
+ display: flex !important;
+}
+
+.panel-footer button {
+ border: 0 !important;
+ border-radius: 4px !important;
+ margin: 4px !important;
+ height: 32px !important;
+ padding: 0 !important;
+ flex: 0 0 auto !important;
+ position: relative !important;
+ outline: 0 !important;
+}
+
+.panel-footer button > .button-box {
+ -moz-appearance: none !important;
+ position: relative !important;
+ padding-inline-end: 16px !important;
+}
+
+.panel-footer button .button-menu-dropmarker {
+ margin-inline-start: 8px !important;
+ margin-inline-end: -8px !important;
+}
+
+.panel-footer button:not([default]) > .button-box::before {
+ content: "" !important;
+ display: block !important;
+ border-radius: 4px !important;
+ position: absolute !important;
+ left: 0 !important;
+ top: 0 !important;
+ width: 100% !important;
+ height: 100% !important;
+ border: 1px solid currentColor !important;
+ opacity: 0.42 !important;
+ box-sizing: border-box !important;
+}
+
+.panel-footer button:not([default]):hover:active:not([disabled]) > .button-box::before {
+ border-width: 0 !important;
+}
+
+.panel-footer button:not([default]):hover:active:not([disabled]) {
+ border-width: 0 !important;
+ background: #002275 !important;
+ color: #fff !important;
+}
+
+#PopupAutoComplete > richlistbox > richlistitem[originaltype="loginWithOrigin"] {
+ height: 48px !important;
+}
+
+richlistitem[originaltype="loginsFooter"],
+richlistitem[originaltype="generatedPassword"] > .two-line-wrapper {
+ display: flex !important;
+ align-items: center !important;
+}
+
+richlistitem:-moz-any([originaltype="generatedPassword"], [originaltype="loginWithOrigin"], [originaltype="login"], [originaltype="loginsFooter"])
+ .ac-site-icon {
+ display: block !important;
+ align-self: center !important;
+ margin-inline: 0 16px !important;
+ fill: currentColor !important;
+}
+
+richlistitem[originaltype="loginsFooter"] .ac-site-icon {
+ visibility: hidden !important;
+}
+
+richlistitem:-moz-any([originaltype="generatedPassword"], [originaltype="loginWithOrigin"], [originaltype="login"], [originaltype="loginsFooter"])
+ .ac-title {
+ margin: 0 !important;
+}
+
+#confirmation-hint-message-container,
+#confirmation-hint-checkmark-animation-container {
+ margin-block: 8px !important;
+ margin-inline: 8px !important;
+}
+
+#confirmation-hint-checkmark-animation-container {
+ margin-inline-end: 0 !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2) {
+ .PanelUI-subView .subviewbutton-nav::after,
+ .identity-popup-content-blocking-category::after {
+ content: url(menu-right-2x.svg) !important;
+ }
+}
diff --git a/modules/home-manager/browser/floorp/chrome/todo.md b/modules/home-manager/browser/floorp/chrome/todo.md
new file mode 100644
index 0000000..10721b6
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/todo.md
@@ -0,0 +1,7 @@
+## Mini Tasks
+
+- close icon/animation
+- icons
+- style popup
+- right click menu
+- other styles from shadowfox
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/block-media.svg b/modules/home-manager/browser/floorp/chrome/urlbar/block-media.svg
new file mode 100644
index 0000000..3d16291
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/block-media.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/camera-off.svg b/modules/home-manager/browser/floorp/chrome/urlbar/camera-off.svg
new file mode 100644
index 0000000..019eda3
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/camera-off.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/connection-1x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/connection-1x.svg
new file mode 100644
index 0000000..cea0c86
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/connection-1x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/connection-2x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/connection-2x.svg
new file mode 100644
index 0000000..8b33834
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/connection-2x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-1x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-1x.svg
new file mode 100644
index 0000000..891caf8
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-2x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-2x.svg
new file mode 100644
index 0000000..891caf8
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/connection-warning-2x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-empty.svg b/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-empty.svg
new file mode 100644
index 0000000..2cc1e29
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-empty.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-full.svg b/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-full.svg
new file mode 100644
index 0000000..c19e067
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/favorite-star-full.svg
@@ -0,0 +1,10 @@
+
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/go.svg b/modules/home-manager/browser/floorp/chrome/urlbar/go.svg
new file mode 100644
index 0000000..18a0322
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/go.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/identity-icons-brand.svg b/modules/home-manager/browser/floorp/chrome/urlbar/identity-icons-brand.svg
new file mode 100644
index 0000000..4870645
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/identity-icons-brand.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/info-1x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/info-1x.svg
new file mode 100644
index 0000000..1404a96
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/info-1x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/info-2x.svg b/modules/home-manager/browser/floorp/chrome/urlbar/info-2x.svg
new file mode 100644
index 0000000..1404a96
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/info-2x.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/media-blocked.svg b/modules/home-manager/browser/floorp/chrome/urlbar/media-blocked.svg
new file mode 100644
index 0000000..5065c9e
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/media-blocked.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/mic-off.svg b/modules/home-manager/browser/floorp/chrome/urlbar/mic-off.svg
new file mode 100644
index 0000000..5b19ff8
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/mic-off.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/notification-off.svg b/modules/home-manager/browser/floorp/chrome/urlbar/notification-off.svg
new file mode 100644
index 0000000..01a4e15
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/notification-off.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/page-action.svg b/modules/home-manager/browser/floorp/chrome/urlbar/page-action.svg
new file mode 100644
index 0000000..bfbe377
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/page-action.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/permissions.svg b/modules/home-manager/browser/floorp/chrome/urlbar/permissions.svg
new file mode 100644
index 0000000..bb19f80
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/permissions.svg
@@ -0,0 +1 @@
+
diff --git a/modules/home-manager/browser/floorp/chrome/urlbar/urlbar.css b/modules/home-manager/browser/floorp/chrome/urlbar/urlbar.css
new file mode 100755
index 0000000..ba365ea
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/urlbar/urlbar.css
@@ -0,0 +1,742 @@
+.urlbarView-body-inner {
+ border: 0 !important;
+}
+
+.urlbarView-row {
+ padding: 0 !important;
+ border-radius: 0 !important;
+}
+
+.urlbarView-row:hover,
+.urlbarView-row-inner:hover {
+ background: var(--lwt-accent-color) !important;
+ background-color: var(--lwt-accent-color) !important;
+}
+
+.urlbarView-row-inner {
+ align-items: center !important;
+ position: relative !important;
+ padding: 12px 0 !important;
+ padding-inline: 48px 16px !important;
+ max-width: 100% !important;
+ width: auto !important;
+}
+
+.urlbarView-no-wrap {
+ height: 100% !important;
+ align-items: center !important;
+ margin-inline-start: 0 !important;
+ max-width: 100% !important;
+}
+
+.urlbarView-row[has-url][type]:not([type="bookmark"]) .urlbarView-row-inner {
+ flex-direction: column !important;
+ align-items: center !important;
+}
+
+.urlbarView-row[has-url][type]:not([type="bookmark"]) .urlbarView-no-wrap {
+ height: auto !important;
+ align-self: center !important;
+ width: 100% !important;
+}
+
+.urlbarView-title-separator {
+ visibility: visible !important;
+}
+
+.urlbarView-title-separator::before {
+ content: "-" !important;
+ color: inherit !important;
+}
+
+.urlbarView-title-separator,
+.urlbarView-action {
+ opacity: 0.6 !important;
+ color: inherit !important;
+ font-size: revert !important;
+}
+
+.urlbarView-favicon {
+ position: absolute !important;
+ left: 16px !important;
+ /* top: 50% !important;
+ transform: translateY(-50%) !important; */
+ fill-opacity: 0.6 !important;
+ flex: unset !important;
+ margin: unset !important;
+}
+
+.urlbarView-title,
+.urlbarView-url {
+ text-overflow: ellipsis !important;
+ mask-image: none !important;
+}
+
+.urlbarView-title {
+ color: var(--urlbarView-popup-title) !important;
+ flex: 1 !important;
+ flex-basis: unset !important;
+}
+
+.urlbarView-url {
+ max-width: 100% !important;
+ font-size: revert !important;
+ color: var(--urlbarView-popup-url) !important;
+ padding: 0 !important;
+}
+
+.urlbarView-url:not(:empty) {
+ visibility: visible !important;
+}
+
+.urlbarView-action:not(:empty) {
+ display: flex !important;
+}
+
+.urlbarView-row[type="search"] ~ .urlbarView-row[type="search"] .urlbarView-title-separator,
+.urlbarView-row[type="search"] ~ .urlbarView-row[type="search"] .urlbarView-action,
+.urlbarView-row[has-url][type]:not([type="bookmark"]) .urlbarView-title-separator,
+.urlbarView-type-icon {
+ display: none !important;
+}
+
+.urlbarView-row[type="tip"] > .urlbarView-row-inner > .urlbarView-favicon,
+.urlbarView-row[type="tip"] > .urlbarView-row-inner > .urlbarView-title,
+.urlbarView-tip-button,
+.urlbarView-tip-help {
+ margin-block-end: 0 !important;
+}
+
+.urlbarView .search-one-offs {
+ padding: 4px !important;
+ display: none !important;
+}
+
+.urlbarView .search-panel-one-offs-header {
+ margin-inline-start: 12px !important;
+ line-height: var(--urlbar-height) !important;
+ transform: translateY(-1px) !important;
+}
+
+.urlbarView .search-panel-one-offs {
+ border-radius: 0 0 8px 8px !important;
+ display: inline-flex !important;
+ flex-direction: row !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ float: left !important;
+ max-width: none !important;
+ height: auto !important;
+}
+
+.urlbarView .searchbar-engine-one-off-item {
+ height: 32px !important;
+ border-radius: 16px !important;
+ padding: 0 8px !important;
+ margin: 4px !important;
+ background-image: none !important;
+ color: inherit !important;
+ border: 0 !important;
+}
+
+#urlbar-container {
+ max-height: 36px !important;
+}
+
+/* main URL bar properties */
+#urlbar,
+#searchbar {
+ font-size: 13px !important;
+ border-radius: 7px !important;
+ background-color: var(--toolbar-field-background-color) !important;
+ border: 0 !important;
+ box-shadow: none !important;
+ /* padding: 3px !important; */
+ background-clip: padding-box !important;
+ text-align: center;
+ transition: background-color 0.1s var(--ease-basic);
+ -moz-box-align: center !important;
+ display: block !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ top: 2px !important;
+ color: inherit !important;
+ block-size: border-block !important;
+
+ --urlbar-height: 32px !important;
+
+ min-height: var(--urlbar-height) !important;
+}
+
+#urlbar:not(:-moz-lwtheme),
+#searchbar:not(:-moz-lwtheme) {
+ color: inherit !important;
+}
+
+#urlbar[focused],
+#urlbar[open],
+#searchbar[focused],
+#searchbar[open] {
+ text-align: left;
+ background-color: var(--toolbar-field-focus-background-color) !important;
+}
+
+#urlbar[focused],
+#searchbar[focused] {
+ border: 2px solid var(--toolbar-field-focus-border-color) !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ padding-left: 5px !important;
+}
+
+/* if only focused, don't break out the urlbar */
+#urlbar[focused]:not([open]) {
+ width: 100% !important;
+ left: 0 !important;
+ right: 0 !important;
+}
+#urlbar[breakout][breakout-extend] {
+ width: 100% !important;
+ left: 0 !important;
+}
+
+/* Open url bar properties */
+#urlbar[open],
+#searchbar[open] {
+ border: 0 !important;
+ padding: 0 !important;
+ border-radius: 8px !important;
+ min-height: var(--urlbar-height) !important;
+ padding: 0px 5px !important;
+ box-shadow: 5px 4px 16px -10px rgba(0, 0, 0, 0.2), -5px 4px 16px -10px rgba(0, 0, 0, 0.2),
+ 0 8px 32px -16px rgba(0, 0, 0, 0.6) !important;
+ z-index: 99999 !important;
+}
+
+/* 71+ */
+#urlbar-background {
+ display: none !important;
+}
+
+#urlbar-input-container,
+#searchbar {
+ display: flex !important;
+ /* this messes up the margin around the container mode displayer or whatever lol */
+ /* align-items: center !important; */
+}
+
+/* Outer container of url bar*/
+#urlbar-input-container {
+ height: var(--urlbar-height) !important;
+ padding: 0 !important;
+ border: 0 !important;
+}
+
+.urlbar-input-box,
+.searchbar-textbox {
+ flex: 1 !important;
+}
+
+#urlbar-input {
+ width: 100% !important;
+}
+
+#urlbar-input,
+.searchbar-textbox {
+ color: var(--lwt-toolbar-field-color) !important;
+}
+
+#urlbar-input::placeholder,
+.searchbar-textbox::placeholder {
+ opacity: 0.5 !important;
+}
+
+#urlbar[open] #urlbar-input-container {
+ height: var(--urlbar-height) !important;
+}
+
+#urlbar[open] #identity-box {
+ margin-inline-start: 8px !important;
+ margin-inline-end: 8px !important;
+}
+
+.urlbarView {
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ position: relative !important;
+ box-shadow: none !important;
+ border: 0 !important;
+ background: 0 !important;
+ margin: 0 !important;
+}
+
+#urlbar[open] .urlbarView {
+ display: block !important;
+ width: 100% !important;
+}
+
+#urlbar-results {
+ padding: 0 !important;
+}
+
+#urlbar-container,
+#searchbar-container {
+ overflow: visible !important;
+ padding: 0 !important;
+ margin-inline: 6px !important;
+}
+
+#identity-icon {
+ fill-opacity: 1 !important;
+}
+
+#identity-icon-labels {
+ color: inherit !important;
+ opacity: 1 !important;
+ padding: 0 !important;
+ margin-inline-start: 8px !important;
+ margin-block-start: -1px !important;
+ display: none !important;
+ align-items: center !important;
+}
+
+#identity-box {
+ display: flex !important;
+ position: relative !important;
+}
+
+#urlbar-label-box {
+ border: 0 !important;
+ padding: 0 !important;
+}
+
+/* separator */
+#identity-icon-labels::after {
+ content: "" !important;
+ display: block !important;
+ position: absolute !important;
+ height: 16px !important;
+ right: 0 !important;
+ background: #9d9e9f !important;
+ width: 1px !important;
+ transition: opacity 0.2s var(--ease-basic) !important;
+}
+
+#urlbar[pageproxystate="valid"]:not([open])
+ #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden),
+#urlbar-label-box {
+ margin-inline-end: 8px !important;
+}
+
+#urlbar[pageproxystate="valid"]:not([open])
+ #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden)
+ #identity-icon-labels {
+ display: flex !important;
+}
+
+#urlbar[pageproxystate="valid"]
+ #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden):not(.no-hover):-moz-any([open], :hover)
+ #identity-icon-labels::after {
+ opacity: 0 !important;
+}
+
+#urlbar[pageproxystate="valid"] #identity-box.extensionPage > #identity-icon {
+ list-style-image: none !important;
+ margin-inline-end: -16px !important;
+}
+
+/* no longer used as a connection icon */
+#connection-icon {
+ display: none !important;
+}
+
+#urlbar[pageproxystate="valid"]
+ #identity-box:-moz-any(.mixedActiveBlocked, .mixedDisplayContentLoadedActiveBlocked, .mixedActiveContent)
+ > #connection-icon {
+ display: -moz-box !important;
+}
+
+#urlbar[pageproxystate="valid"]
+ #identity-box:-moz-any(.weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent) {
+ color: #c94031 !important;
+}
+
+.urlbar-input {
+ padding: 0 !important;
+}
+
+.searchbar-textbox {
+ border: 0 !important;
+ background: 0 !important;
+ box-shadow: none !important;
+ margin: 0 !important;
+ -moz-appearance: none !important;
+}
+
+.searchbar-search-icon {
+ margin: 0 !important;
+ fill-opacity: 1 !important;
+}
+
+.searchbar-search-icon-overlay {
+ margin-inline-start: -11px !important;
+ margin-inline-end: 0 !important;
+
+ /* not really useful anyway */
+ display: none !important;
+}
+
+#page-action-buttons > #pageActionSeparator,
+.urlbar-history-dropmarker {
+ display: none !important;
+}
+
+#pageActionSeparator {
+ height: 24px !important;
+}
+
+.urlbar-icon-wrapper {
+ background: 0 !important;
+}
+
+.urlbar-icon,
+.searchbar-search-button,
+#identity-box,
+#tracking-protection-icon-box {
+ margin: 0px 0px !important;
+ transition: background-color 0.2s var(--ease-basic) !important;
+ background: 0 !important;
+ background-color: transparent !important;
+ /* min-width: 24px !important;
+ min-height: 24px !important;
+ height: 24px !important;
+ padding: 4px !important;
+ margin: 0 2px !important;
+ border: 0 !important;
+ border-radius: 7px !important;
+ fill-opacity: 1 !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+ transition: background-color 0.2s var(--ease-basic) !important;
+ background: 0 !important;
+ background-color: transparent !important; */
+}
+
+
+#identity-box {
+ margin: 0px 2px !important;
+}
+
+#tracking-protection-icon-container {
+ background: 0 !important;
+ border: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: auto !important;
+ order: 97 !important;
+}
+
+#tracking-protection-icon-box {
+ display: block !important;
+ width: 24px !important;
+}
+
+#tracking-protection-icon-box {
+ transition: background-color 0.2s var(--ease-basic), width 0.15s var(--ease-in), opacity 0.15s var(--ease-basic),
+ visibility 0s 0.2s !important;
+ opacity: 0 !important;
+ visibility: hidden !important;
+ width: 0 !important;
+}
+
+#urlbar:hover #tracking-protection-icon-box,
+#tracking-protection-icon-container[open] #tracking-protection-icon-box,
+#tracking-protection-icon-box[active] {
+ transition: background-color 0.2s var(--ease-basic), width 0.3s var(--ease-out), opacity 0.3s var(--ease-basic) !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+ padding-left: 6px !important;
+ width: 28px !important;
+}
+
+#tracking-protection-icon {
+ display: block !important;
+}
+
+#tracking-protection-icon-animatable-box {
+ display: none !important;
+}
+
+#identity-box #notification-popup-box {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+/* The wrapper of the buttons on the right of the urlbar*/
+#page-action-buttons {
+ display: flex !important;
+}
+
+#urlbar[open] #page-action-buttons,
+#urlbar[open] #tracking-protection-icon-container {
+ display: none !important;
+}
+
+/* the hover of the background behind the background of the icons */
+/* .urlbar-icon:hover:not([disabled]),
+#page-action-buttons > toolbarbutton:hover:not([disabled]),
+.searchbar-search-button:hover,
+#identity-box:hover:not(.no-hover),
+#tracking-protection-icon-container:hover #tracking-protection-icon-box {
+ background-color: var(--toolbarbutton-hover-background) !important;
+} */
+
+.urlbar-icon:hover:active:not([disabled]),
+.urlbar-icon[open],
+#page-action-buttons > toolbarbutton:hover:active:not([disabled]),
+.searchbar-search-button:hover:active,
+#identity-box:hover:active:not(.no-hover),
+#identity-box[open]:not(.no-hover),
+#tracking-protection-icon-container[open] #tracking-protection-icon-box {
+ background-color: var(--toolbarbutton-active-background) !important;
+ transition-duration: 0 !important;
+}
+
+#contextual-feature-recommendation {
+ width: auto !important;
+}
+
+.urlbar-page-action:-moz-any(#reader-mode-button, #pageActionButton, #pocket-button-box, #pageAction-urlbar-screenshots_mozilla_org, #pageAction-urlbar-sendToDevice, #pageAction-urlbar-emailLink, #pageAction-urlbar-copyURL, #pageAction-urlbar-shareURL, #pageAction-urlbar-addSearchEngine) {
+ transition: background-color 0.2s var(--ease-basic), margin 0.15s var(--ease-in), opacity 0.15s var(--ease-basic),
+ visibility 0s 4s !important;
+ opacity: 0 !important;
+ visibility: hidden !important;
+ margin-inline-start: -32px !important;
+}
+
+#urlbar:hover
+ .urlbar-page-action:-moz-any(#reader-mode-button, #pageActionButton, #pocket-button-box, #pageAction-urlbar-screenshots_mozilla_org, #pageAction-urlbar-sendToDevice, #pageAction-urlbar-emailLink, #pageAction-urlbar-copyURL, #pageAction-urlbar-shareURL, #pageAction-urlbar-addSearchEngine),
+.urlbar-page-action:-moz-any(#reader-mode-button, #pageActionButton, #pocket-button-box, #pageAction-urlbar-screenshots_mozilla_org, #pageAction-urlbar-sendToDevice, #pageAction-urlbar-emailLink, #pageAction-urlbar-copyURL, #pageAction-urlbar-shareURL, #pageAction-urlbar-addSearchEngine):-moz-any(:hover, [open], [readeractive]),
+.urlbar-page-action:-moz-any(:hover, [open])
+ ~ .urlbar-page-action:-moz-any(#reader-mode-button, #pageActionButton, #pocket-button-box, #pageAction-urlbar-screenshots_mozilla_org, #pageAction-urlbar-sendToDevice, #pageAction-urlbar-emailLink, #pageAction-urlbar-copyURL, #pageAction-urlbar-shareURL, #pageAction-urlbar-addSearchEngine),
+#tracking-protection-icon-container[open]
+ ~ #page-action-buttons
+ .urlbar-page-action:-moz-any(#reader-mode-button, #pageActionButton, #pocket-button-box, #pageAction-urlbar-screenshots_mozilla_org, #pageAction-urlbar-sendToDevice, #pageAction-urlbar-emailLink, #pageAction-urlbar-copyURL, #pageAction-urlbar-shareURL, #pageAction-urlbar-addSearchEngine) {
+ transition: background-color 0.2s var(--ease-out), margin 0.3s var(--ease-out), opacity 0.3s var(--ease-basic) !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+ margin-inline-start: 0 !important;
+}
+
+.urlbar-page-action{
+ margin: 0px 4px !important;
+ align-self: center;
+}
+
+.urlbar-display {
+ color: inherit !important;
+ margin: 0 !important;
+}
+
+#pocket-button-box[animate] > #pocket-animatable-box {
+ margin-inline-start: 6px !important;
+}
+
+#star-button-animatable-box {
+ display: none !important;
+}
+
+#star-button {
+ list-style-image: url(favorite-star-empty.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+#star-button[starred] {
+ list-style-image: url(favorite-star-full.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#userContext-icons {
+ flex-direction: row !important;
+ align-items: center !important;
+ justify-content: center !important;
+ position: relative !important;
+ padding-inline: 8px !important;
+ margin: 0 !important;
+ color: var(--identity-tab-color) !important;
+}
+
+#userContext-icons:not([hidden]) {
+ display: flex !important;
+}
+
+#userContext-icons > * {
+ z-index: 1 !important;
+ color: inherit !important;
+ fill: currentColor !important;
+}
+
+#userContext-label {
+ margin: 0 !important;
+}
+
+#userContext-label + #userContext-indicator {
+ margin-inline-start: 6px !important;
+}
+
+#userContext-icons::before {
+ content: "" !important;
+ position: absolute !important;
+ left: 0 !important;
+ right: 0 !important;
+ top: 0 !important;
+ bottom: 0 !important;
+ background: var(--identity-tab-color) !important;
+ /* change! - looks ugly with border-radius */
+ /* border-radius: 99px !important; */
+ opacity: 0.1 !important;
+}
+
+#cfr-label-container {
+ background: 0 !important;
+}
+
+#cfr-label {
+ display: none !important;
+}
+
+#cfr-button {
+ fill: currentColor !important;
+}
+
+#urlbar[open] #urlbar-go-button,
+#searchbar[open] #search-go-button,
+/* < 71 */
+#urlbar[open] .urlbar-go-button,
+#searchbar[open] .search-go-button {
+ height: 32px !important;
+}
+
+#urlbar-go-button,
+#search-go-button,
+/* < 71 */
+.urlbar-go-button,
+.search-go-button {
+ list-style-image: url(go.svg) !important;
+}
+
+.search-go-container {
+ display: flex !important;
+}
+
+#searchbar .textbox-input {
+ padding: 0 !important;
+}
+
+/* lock (secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.verifiedDomain, .verifiedIdentity, .mixedActiveBlocked)
+ > #identity-icon {
+ list-style-image: var(--lock-icon) !important;
+}
+
+/* info (not secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.mixedDisplayContent, .mixedDisplayContentLoadedActiveBlocked, .unknownIdentity)
+ > #identity-icon {
+ list-style-image: var(--info-icon) !important;
+}
+
+/* warning (dangerous) */
+#identity-box[pageproxystate="valid"]:-moz-any(.notSecure, .weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent)
+ > #identity-icon {
+ list-style-image: var(--warning-icon) !important;
+}
+
+#identity-box.extensionPage {
+ display: none !important;
+}
+
+#urlbar-input,
+#searchbar-input,
+.searchbar-textbox /* < 71 */ {
+ transform: translateY(var(--input-offset)) !important;
+ line-height: 1.745em !important;
+ margin-left: 6px !important;
+}
+
+.search-panel-one-offs-header.search-panel-header {
+ display: none !important;
+}
+
+/* 1x */
+#urlbar {
+ --info-icon: url(info-1x.svg);
+ --lock-icon: url(connection-1x.svg);
+ --warning-icon: url(connection-warning-1x.svg);
+}
+
+.notSecure #identity-icon {
+ fill: var(--yellow) !important;
+}
+
+#tracking-protection-icon-box[hasException=""] #tracking-protection-icon {
+ fill: var(--red) !important;
+}
+
+#pageActionButton {
+ list-style-image: url(page-action.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#tracking-protection-icon {
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#identity-icon {
+ margin-inline-start: 2px !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+.blocked-permission-icon.autoplay-media-icon {
+ list-style-image: url(block-media.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+.blocked-permission-icon.camera-icon {
+ list-style-image: url(camera-off.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+.blocked-permission-icon.microphone-icon {
+ list-style-image: url(mic-off.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+.blocked-permission-icon.desktop-notification-icon {
+ list-style-image: url(notification-off.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#permissions-granted-icon {
+ list-style-image: url(permissions.svg) !important;
+ fill: var(--lwt-toolbarbutton-icon-fill) !important;
+}
+
+#urlbar,
+#searchbar {
+ --input-offset: -1px;
+}
+
+/* 2x */
+@media (min--moz-device-pixel-ratio: 2) {
+ #urlbar {
+ --info-icon: url(info-2x.svg);
+ --lock-icon: url(connection-2x.svg);
+ --warning-icon: url(connection-warning-2x.svg);
+ }
+
+ #urlbar,
+ #searchbar {
+ --input-offset: -0.5px;
+ }
+
+ #identity-icon-labels {
+ padding-inline-end: 0.5px !important;
+ }
+}
diff --git a/modules/home-manager/browser/floorp/chrome/userChrome-hover.css b/modules/home-manager/browser/floorp/chrome/userChrome-hover.css
new file mode 100644
index 0000000..5e6120a
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userChrome-hover.css
@@ -0,0 +1,62 @@
+#sidebar-box {
+ z-index: 1000 !important;
+ position: relative !important;
+ min-width: var(--sidebar-collapsed-width) !important;
+ max-width: var(--sidebar-collapsed-width) !important;
+}
+
+#sidebar-header,
+#sidebar-splitter {
+ display: none !important;
+}
+
+/* inner width = expanded width & move inner to only show initial-width long section */
+#sidebar-box #sidebar {
+ position: absolute !important;
+ min-width: var(--sidebar-width) !important;
+ max-width: var(--sidebar-width) !important;
+ width: var(--sidebar-width) !important;
+ transform: translateX(calc(var(--sidebar-collapsed-width) - var(--sidebar-width)));
+ transition: all var(--transition-time) var(--ease-out);
+}
+
+/* move inner to show entire sidebar */
+#sidebar-box #sidebar:hover {
+ transform: translateX(0) !important;
+ box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color);
+}
+
+#sidebar-box[sidebarcommand="viewBookmarksSidebar"] #sidebar {
+ transform: translateX(0) !important;
+ box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color);
+}
+/* hide sidebar header for tree style tabs sidebar */
+#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+ display: none;
+}
+
+#sidebar {
+ border-right: solid var(--dividers) var(--sidebar-shadow-color) !important;
+}
+
+toolbar {
+ border: none !important;
+}
+
+/* Hide splitter, when using Tree Style Tab. */
+#sidebar-splitter {
+ display: none !important;
+}
+
+/* hide tabs */
+.tabbrowser-tab {
+ display: none;
+}
+
+#tabs-newtab-button {
+ display: none;
+}
+
+.titlebar-spacer {
+ display: none !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/userChrome-overlay.css b/modules/home-manager/browser/floorp/chrome/userChrome-overlay.css
new file mode 100644
index 0000000..17ecb41
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userChrome-overlay.css
@@ -0,0 +1,100 @@
+/* material firefox imports */
+@import "global/variables.css";
+@import "global/global.css";
+@import "icons/icons.css";
+@import "tabbar/tabbar.css";
+@import "navbar/navbar.css";
+@import "personalbar/personalbar.css";
+@import "popup/popup.css";
+@import "urlbar/urlbar.css";
+@import "findbar/findbar.css";
+
+/* Vars Import */
+@import "vars.css";
+
+/* show bookmarks toolbar on new tab only */
+#main-window #PersonalToolbar {
+ visibility: collapse !important;
+ z-index: 1 !important;
+ position: relative !important;
+ margin-left: var(--initial-width); /* shift toolbar to the right based on initial width */
+ margin-top: var(--toolbar-height) !important;
+}
+
+#main-window[title^="Firefox Developer Edition"] #PersonalToolbar {
+ visibility: visible !important;
+ margin-top: -1px !important;
+}
+
+/*
+There's two main sidebar components.
+1. #sidebar-box (outer)
+2. #sidebar (inner)
+*/
+/* lock outer to height by doing the inverse margin of the toolbar element */
+/* set outer width = initial width */
+#sidebar-box {
+ z-index: 1000 !important;
+ position: relative !important;
+ margin-top: var(--menubar-height) !important;
+ padding-top: calc(-1 * var(--menubar-height));
+ max-width: 0px;
+ min-width: 0px;
+}
+
+#sidebar-header {
+ color: var(--sidebar-background-color) !important;
+}
+
+/* inner width = expanded width & move inner to only show initial-width long section */
+#sidebar-box #sidebar {
+ min-width: var(--sidebar-width) !important;
+ max-width: var(--sidebar-width) !important;
+ transition: all 0.2s ease-in-out;
+ box-shadow: 2px 0 33px -5px var(--shadow-color);
+ background: var(--sidebar-background-color) !important;
+}
+
+#main-window[title^="Firefox Developer Edition"] #sidebar-box {
+ margin-top: var(--toolmenubar-height) !important;
+}
+
+/* hide sidebar header for tree style tabs sidebar */
+#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+ display: none;
+}
+
+#sidebar {
+ border-right: none !important;
+}
+
+toolbar#nav-bar {
+ padding-top: 12px;
+ padding-bottom: 7px;
+ margin-left: var(--initial-width);
+ padding-left: 7px;
+ border: none !important;
+}
+
+toolbar {
+ border: none !important;
+}
+
+/* Hide splitter, when using Tree Style Tab. */
+#sidebar-splitter {
+ display: none !important;
+}
+
+/* hide normal horizontal tab bar */
+#TabsToolbar {
+ display: none;
+}
+
+/* Show firefox titlebar */
+/* .tabbrowser-tab { */
+/* display: none; */
+/* } */
+
+/* #tabs-newtab-button { */
+/* display: none; */
+/* } */
diff --git a/modules/home-manager/browser/floorp/chrome/userChrome-static.css b/modules/home-manager/browser/floorp/chrome/userChrome-static.css
new file mode 100644
index 0000000..b1d1175
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userChrome-static.css
@@ -0,0 +1,32 @@
+#main-window[title^="Firefox Developer Edition"] #PersonalToolbar {
+ visibility: visible !important;
+ margin-top: -1px !important;
+}
+
+#sidebar-box #sidebar {
+ min-width: var(--sidebar-width) !important;
+ max-width: var(--sidebar-width) !important;
+ box-shadow: none !important;
+}
+
+#sidebar-box {
+ width: var(--sidebar-width) !important;
+}
+
+/* hide sidebar header for tree style tabs sidebar */
+#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+ display: none;
+}
+
+#sidebar {
+ border-right: solid var(--dividers) var(--sidebar-shadow-color) !important;
+}
+
+toolbar {
+ border: none !important;
+}
+
+/* Hide splitter, when using Tree Style Tab. */
+#sidebar-splitter {
+ display: none !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/userChrome-tabline.css b/modules/home-manager/browser/floorp/chrome/userChrome-tabline.css
new file mode 100644
index 0000000..523bf14
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userChrome-tabline.css
@@ -0,0 +1,114 @@
+#tabbrowser-arrowscrollbox {
+ margin: 7px 14px 7px 14px;
+}
+
+.tabbrowser-tab::after {
+ border: none !important;
+}
+
+.tab-background .tab-line,
+.tab-background .tab-bottom-line {
+ display: none;
+}
+
+tab[selected="true"] > .tab-stack > .tab-background {
+ background: var(--tl-tab-background-gradient, var(--arrowpanel-dimmed-further)) !important;
+}
+
+tab:not([selected="true"]) > .tab-stack:hover > .tab-background {
+ background: var(--arrowpanel-background) !important;
+}
+
+.tab-stack {
+ border-radius: 7px;
+ margin-right: 5px;
+ overflow: hidden;
+}
+
+.tab-stack .tab-icon-image,
+.tab-stack .tab-label-container {
+ transform: translateX(0px);
+ transition: all var(--tl-animation-duration) var(--ease-out) !important;
+}
+
+.tab-stack .tab-icon-image {
+ transition-duration: calc(var(--tl-animation-duration) * 2) !important;
+}
+
+tab:not([pinned="true"]) .tab-stack:hover .tab-icon-image {
+ transform: translateX(-25px) !important;
+}
+
+.tab-stack:hover .tab-label-container {
+ transform: translateX(-23px) !important;
+}
+
+/* containers */
+tab:not([selected="true"]).identity-color-blue > .tab-stack,
+tab:not([selected="true"]).identity-color-orange > .tab-stack,
+tab:not([selected="true"]).identity-color-green > .tab-stack,
+tab:not([selected="true"]).identity-color-pink > .tab-stack{
+ border-radius: 0 0 7px 7px !important;
+}
+
+tab[selected="true"].identity-color-blue > .tab-stack .tab-label-container,
+tab[selected="true"].identity-color-orange > .tab-stack .tab-label-container,
+tab[selected="true"].identity-color-green > .tab-stack .tab-label-container,
+tab[selected="true"].identity-color-pink > .tab-stack .tab-label-container{
+ color: #000 !important;
+}
+
+/* blue */
+tab[selected="true"].identity-color-blue > .tab-stack > .tab-background{
+ background: linear-gradient(to right, #3182CE , #0BC5EA) !important;
+}
+
+tab:not([selected="true"]).identity-color-blue > .tab-stack > .tab-background{
+ border-top: solid 4px #63B3ED !important;
+}
+
+/* orange */
+tab[selected="true"].identity-color-orange > .tab-stack > .tab-background{
+ background: linear-gradient(to right, #DD6B20 , #F56565) !important;
+}
+
+tab:not([selected="true"]).identity-color-orange > .tab-stack > .tab-background{
+ border-top: solid 4px #F6AD55 !important;
+}
+
+/* green */
+tab[selected="true"].identity-color-green > .tab-stack > .tab-background{
+ background: linear-gradient(to right, #38A169 , #38B2AC) !important;
+}
+
+tab:not([selected="true"]).identity-color-green > .tab-stack > .tab-background{
+ border-top: solid 4px #68D391 !important;
+}
+
+/* pink */
+tab[selected="true"].identity-color-pink > .tab-stack > .tab-background{
+ background: linear-gradient(to right, #D53F8C , #9F7AEA) !important;
+}
+
+tab:not([selected="true"]).identity-color-pink > .tab-stack > .tab-background{
+ border-top: solid 4px #F687B3 !important;
+}
+
+
+.tab-stack .tab-close-button {
+ border-radius: 50%;
+ margin-left: -20px !important;
+ background: var(--lwt-text-color);
+ fill: var(--lwt-accent-color) !important;
+ transform: translateX(30px) !important;
+ transition: all var(--tl-animation-duration) var(--ease-out) !important;
+}
+
+.tab-stack:hover .tab-close-button {
+ transform: translateX(0px) !important;
+}
+
+#tabbrowser-tabs[closebuttons="activetab"] > #tabbrowser-arrowscrollbox >
+.tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button:not([selected="true"]){
+ display: block !important;
+}
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/userChrome.css b/modules/home-manager/browser/floorp/chrome/userChrome.css
new file mode 100644
index 0000000..d1d05d9
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userChrome.css
@@ -0,0 +1,9 @@
+@import "config.css";
+@import "variables.css";
+@import "icons/icons.css";
+@import "urlbar/urlbar.css";
+@import "navbar/navbar.css";
+@import "popup/popup.css";
+@import "interface/interface.css";
+@import "userChrome-tabline.css";
+@import "content/inner-rounded.css";
diff --git a/modules/home-manager/browser/floorp/chrome/userContent.css b/modules/home-manager/browser/floorp/chrome/userContent.css
new file mode 100644
index 0000000..6af5a56
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/userContent.css
@@ -0,0 +1,3 @@
+*{
+ scrollbar-width: 3px !important;
+}
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/chrome/variables.css b/modules/home-manager/browser/floorp/chrome/variables.css
new file mode 100755
index 0000000..fe9f011
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/variables.css
@@ -0,0 +1,252 @@
+:root {
+ --ease-in: cubic-bezier(0.32, 0, 0.67, 0);
+ --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
+ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
+ --transition-time: 0.4s !important;
+ --ease-basic: linear;
+
+ --button-size: 32px; /* is this used? */
+ --icon-size: 24px; /* is this used? */
+
+ --downloads-item-height: 48px !important;
+
+ --toolbar-non-lwt-bgcolor: var(--toolbar-bgcolor) !important;
+ --toolbar-non-lwt-textcolor: var(--toolbar-color) !important;
+ --toolbar-field-focus-border-color: var(--lwt-toolbar-field-color) !important;
+
+ --toolbar-field-background-color: var(--dark-1) !important;
+ --toolbar-field-focus-background-color: var(--dark-1) !important;
+}
+
+/* dark mode */
+:root{
+ /* accentcolor */
+ --lwt-accent-color: var(--dark-base) !important;
+
+ /* textcolor */
+ --lwt-text-color: var(--light-base) !important;
+
+ /* toolbar */
+ --toolbar-bgcolor: var(--dark-base) !important;
+
+ /* toolbar_text */
+ --toolbar-color: var(--light-1) !important;
+
+ --urlbarView-popup-title: var(--light-1) !important;
+
+ --urlbarView-popup-url: var(--light-4) !important;
+
+ /* toolbar_bottom_separator */
+ --toolbox-border-bottom-color: var(--dark-base) !important; /* legacy */
+ --chrome-content-separator-color: var(--dark-base) !important;
+
+ /* icons */
+ --lwt-toolbarbutton-icon-fill: var(--light-1) !important;
+
+ /* icons_attention */
+ --lwt-toolbarbutton-icon-fill-attention: var(--accent) !important;
+
+ /* button_background_hover */
+ --lwt-toolbarbutton-hover-background: var(--dark-2) !important;
+
+ /* button_background_active */
+ --lwt-toolbarbutton-active-background: var(--dark-4) !important;
+
+ --lwt-toolbar-field-color: var(--light-2) !important;
+
+ /* popup */
+ --arrowpanel-background: var(--dark-1) !important;
+ --arrowpanel-dimmed: var(--dark-2) !important; /* hover color */
+ --arrowpanel-dimmed-further: var(--dark-3) !important; /* hover color */
+
+ /* popup_text */
+ --arrowpanel-color: var(--light-1) !important;
+ --autocomplete-popup-color: var(--light-1) !important;
+ --panel-disabled-color: hsla(0, 0%, 100%, 0.5) !important;
+
+ /* popup_border */
+ --arrowpanel-border-color: var(--dark-1) !important;
+ --autocomplete-popup-border-color: var(--dark-1) !important;
+
+ /* popup_highlight */
+ --autocomplete-popup-highlight-background: var(--dark-2) !important;
+
+ /* popup_highlight_text */
+ --autocomplete-popup-highlight-color: var(--light-2) !important;
+
+ /* urlbar icon */
+ --toolbarbutton-hover-background: var(--dark-4) !important;
+ --toolbarbutton-active-background: var(--dark-base) !important;
+
+ --sidebar-shadow-color: var(--dark-0);
+
+ /* background color when starting firefox, or when loading pages... */
+ --tabpanel-background-color: var(--dark-0) !important;/* /#2B2A33; */
+
+ /* history popup bar left */
+ /* sidebar */
+ --lwt-sidebar-background-color: var(--dark-base) !important;
+
+ /* sidebar_text */
+ --lwt-sidebar-text-color: var(--light-base) !important;
+}
+
+/* light mode */
+:root:not([style]),
+:root[style*="--lwt-accent-color:rgb(227, 228, 230);"],
+:root[style*="--lwt-accent-color:white;"] {
+ /* accentcolor */
+ --lwt-accent-color: var(--light-base) !important;
+
+ /* textcolor */
+ --lwt-text-color: var(--dark-base) !important;
+
+ /* toolbar */
+ --toolbar-bgcolor: var(--light-base) !important;
+
+ /* toolbar_text */
+ --toolbar-color: var(--dark-1) !important;
+
+ --urlbarView-popup-title: var(--dark-1) !important;
+
+ --urlbarView-popup-url: var(--dark-4) !important;
+
+ /* toolbar_bottom_separator */
+ --toolbox-border-bottom-color: var(--light-base) !important; /* legacy */
+ --chrome-content-separator-color: var(--light-base) !important;
+
+ /* icons */
+ --lwt-toolbarbutton-icon-fill: var(--dark-1) !important;
+
+ /* icons_attention */
+ --lwt-toolbarbutton-icon-fill-attention: var(--accent) !important;
+
+ /* button_background_hover */
+ --lwt-toolbarbutton-hover-background: var(--light-2) !important;
+
+ /* button_background_active */
+ --lwt-toolbarbutton-active-background: var(--light-4) !important;
+
+ --lwt-toolbar-field-color: var(--dark-2) !important;
+
+ /* popup */
+ --arrowpanel-background: var(--light-1) !important;
+ --arrowpanel-dimmed: var(--light-2) !important; /* hover color */
+ --arrowpanel-dimmed-further: var(--light-3) !important; /* hover color */
+
+ /* popup_text */
+ --arrowpanel-color: var(--dark-1) !important;
+ --autocomplete-popup-color: var(--dark-1) !important;
+ --panel-disabled-color: hsla(0, 0%, 100%, 0.5) !important;
+
+ /* popup_border */
+ --arrowpanel-border-color: var(--light-1) !important;
+ --autocomplete-popup-border-color: var(--light-1) !important;
+
+ /* popup_highlight */
+ --autocomplete-popup-highlight-background: var(--light-2) !important;
+
+ /* popup_highlight_text */
+ --autocomplete-popup-highlight-color: var(--dark-2) !important;
+
+ /* urlbar icon */
+ --toolbarbutton-hover-background: var(--light-4) !important;
+ --toolbarbutton-active-background: var(--light-base) !important;
+
+ --sidebar-shadow-color: var(--dark-4);
+}
+
+/* don't bother with sidebar in light mode */
+:-moz-any(#sidebar-box, #sidebar) {
+ /* sidebar */
+ --sidebar-background-color: var(--dark-base) !important;
+
+ /* sidebar_text */
+ --sidebar-text-color: #f1f3ee !important;
+}
+
+:-moz-any(.sidebar-panel, body)[style*="--lwt-sidebar-background-color:rgb(56, 56, 61);"] {
+ /* sidebar */
+ --lwt-sidebar-background-color: var(--dark-base) !important;
+
+ /* sidebar_text */
+ --lwt-sidebar-text-color: var(--light-base) !important;
+}
+
+#titlebar,
+#tabbrowser-tabs {
+ --tab-min-height: 34px !important;
+}
+
+:root:-moz-any(:-moz-lwtheme-brighttext, [privatebrowsingmode="temporary"]) {
+ --toolbar-field-background-color: var(--dark-1) !important;
+ --toolbar-field-hover-background-color: var(--dark-1) !important;
+ --toolbar-field-focus-background-color: var(--dark-1) !important;
+}
+
+:root:not(:-moz-lwtheme):not([privatebrowsingmode="temporary"]) {
+ /* --toolbar-bgcolor: hsl(0, 0%, 100%); */
+ --toolbar-color: hsl(213, 5%, 39%) !important;
+ --toolbox-border-bottom-color: hsl(0, 0%, 70%) !important;
+}
+
+@media (-moz-mac-yosemite-theme) {
+ :root[extradragspace] {
+ --space-above-tabbar: 8px !important;
+ }
+}
+
+/* Ubuntu */
+@media (-moz-gtk-csd-available) {
+ :root:not(:-moz-lwtheme):not([privatebrowsingmode="temporary"]) {
+ /* --toolbar-bgcolor: -moz-dialog; */
+ --toolbar-color: -moz-dialogtext !important;
+ }
+}
+
+:root:-moz-lwtheme-darktext,
+:root toolbar:not([brighttext]),
+.tabbrowser-tab[visuallyselected] {
+ --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 0%, 0.07)) !important;
+ --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 0%, 0.11)) !important;
+}
+
+:root:-moz-lwtheme-brighttext,
+:root toolbar[brighttext],
+.tabbrowser-tab[visuallyselected]:-moz-lwtheme-brighttext {
+ --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 100%, 0.1)) !important;
+ --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 100%, 0.17)) !important;
+}
+
+/* Container identity colors */
+
+.identity-color-pink {
+ --identity-tab-color: #ED64A6 !important;
+ --identity-icon-color: #ED64A6 !important;
+}
+
+.identity-color-blue {
+ --identity-tab-color: #4299E1 !important;
+ --identity-icon-color: #4299E1 !important;
+}
+
+.identity-color-green {
+ --identity-tab-color: #48BB78 !important;
+ --identity-icon-color: #48BB78 !important;
+}
+
+.identity-color-orange {
+ --identity-tab-color: #ED8936 !important;
+ --identity-icon-color: #ED8936 !important;
+}
+
+/* /1* special case for urlbar buttons *1/ */
+/* :-moz-any(#urlbar, #searchbar) { */
+/* --toolbarbutton-hover-background: var(--dark-4) !important; */
+/* --toolbarbutton-active-background: var(--dark-base) !important; */
+/* } */
+
+/* :root:-moz-any([privatebrowsingmode="temporary"], :-moz-lwtheme-brighttext) :-moz-any(#urlbar, #searchbar) { */
+/* --toolbarbutton-hover-background: var(--dark-4) !important; */
+/* --toolbarbutton-active-background: var(--dark-base) !important; */
+/* } */
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle-close-p.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle-close-p.svg
new file mode 100644
index 0000000..f3f2fd4
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle-close-p.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle-max-p.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle-max-p.svg
new file mode 100644
index 0000000..ecc1e51
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle-max-p.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle-max.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle-max.svg
new file mode 100644
index 0000000..141e879
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle-max.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle-min-p.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle-min-p.svg
new file mode 100644
index 0000000..39acfa5
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle-min-p.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle-min.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle-min.svg
new file mode 100644
index 0000000..9ba044f
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle-min.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/circle.svg b/modules/home-manager/browser/floorp/chrome/window-controls/circle.svg
new file mode 100644
index 0000000..8cf2289
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/circle.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/no-wc-without-tabline.css b/modules/home-manager/browser/floorp/chrome/window-controls/no-wc-without-tabline.css
new file mode 100644
index 0000000..89962b7
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/no-wc-without-tabline.css
@@ -0,0 +1,23 @@
+@import "window-controls.css";
+
+:root:not([inFullscreen]) toolbar#nav-bar {
+ z-index: 1 !important;
+ position: relative !important;
+ margin-left: 0px;
+}
+
+
+#TabsToolbar .toolbar-items {
+ display: none !important;
+}
+
+.titlebar-buttonbox {
+ display: none !important;
+}
+
+#TabsToolbar.browser-toolbar {
+ display: inline-block !important;
+ position: absolute;
+ top: var(--wc-vertical-shift) !important;
+ left: var(--wc-left-space) !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/wc-with-tabline.css b/modules/home-manager/browser/floorp/chrome/window-controls/wc-with-tabline.css
new file mode 100644
index 0000000..8352a39
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/wc-with-tabline.css
@@ -0,0 +1,6 @@
+@import "window-controls.css";
+
+#TabsToolbar.browser-toolbar {
+ margin-left: var(--wc-left-space);
+ margin-right: var(--wc-right-space);
+}
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline-r.css b/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline-r.css
new file mode 100644
index 0000000..9955623
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline-r.css
@@ -0,0 +1,16 @@
+@import "window-controls.css";
+@import "wc-without-tabline.css";
+
+#TabsToolbar.browser-toolbar {
+ left: auto !important;
+ right: var(--wc-right-space) !important;
+}
+
+:root:not([inFullscreen]) toolbar#nav-bar {
+ margin-left: 0 !important;
+ margin-right: calc(var(--wc-left-space) * 2 + 65px) !important;
+}
+
+.titlebar-buttonbox {
+ flex-direction: row !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline.css b/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline.css
new file mode 100644
index 0000000..a89087d
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/wc-without-tabline.css
@@ -0,0 +1,25 @@
+@import "window-controls.css";
+
+:root:not([inFullscreen]) toolbar#nav-bar {
+ z-index: 1 !important;
+ position: relative !important;
+ /* shift toolbar to the right based on initial width */
+ margin-left: calc(
+ var(--wc-right-space) * 2 + 60px
+ ) !important;
+}
+
+#TabsToolbar .toolbar-items {
+ display: none !important;
+}
+
+.titlebar-buttonbox {
+ flex-direction: row-reverse;
+}
+
+#TabsToolbar.browser-toolbar {
+ display: inline-block !important;
+ position: absolute;
+ top: var(--wc-vertical-shift) !important;
+ left: var(--wc-left-space) !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/wc-wt-windowspatch.css b/modules/home-manager/browser/floorp/chrome/window-controls/wc-wt-windowspatch.css
new file mode 100644
index 0000000..f76b64b
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/wc-wt-windowspatch.css
@@ -0,0 +1,9 @@
+/********************************/
+/* windows10 specific ***********/
+/* patches for window-controls. */
+/********************************/
+
+/* makes space between top edge and navigation bar when maximized */
+:root[sizemode="maximized"] #navigator-toolbox {
+ padding-top: 10px !important;
+}
diff --git a/modules/home-manager/browser/floorp/chrome/window-controls/window-controls.css b/modules/home-manager/browser/floorp/chrome/window-controls/window-controls.css
new file mode 100644
index 0000000..60c8dfd
--- /dev/null
+++ b/modules/home-manager/browser/floorp/chrome/window-controls/window-controls.css
@@ -0,0 +1,92 @@
+/*-min max close size*/
+.titlebar-button>.toolbarbutton-icon {
+ height: 14px !important;
+ min-height: 14px !important;
+ width: 14px !important;
+ min-width: 14px !important;
+}
+
+#titlebar {
+ -moz-appearance: none !important;
+}
+
+.titlebar-button {
+ transition: all 0.1s ease !important;
+ padding: 0px 8px !important;
+ background: none !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ width: 16px;
+ height: 16px;
+ margin-left: 10px !important;
+ border-radius: 20px !important;
+}
+
+.titlebar-buttonbox {
+ display: flex;
+ -moz-context-properties: fill, fill-opacity !important;
+}
+
+/* close button */
+.titlebar-close {
+ /* -moz-appearance: none !important;
+ fill: var(--red) !important;
+ opacity: 0.7 !important;
+ list-style-image: url(circle.svg) !important; */
+ background-color: var(--red) !important;
+ opacity: 0.7 !important;
+}
+
+.titlebar-close:hover {
+ opacity: 1 !important;
+ transform: scale(110%);
+}
+
+/* minimize button */
+.titlebar-min {
+ /* -moz-appearance: none !important;
+ fill: var(--yellow) !important;
+ opacity: 0.7 !important;
+ list-style-image: url(circle.svg) !important; */
+ background-color: var(--yellow) !important;
+ opacity: 0.7 !important;
+ margin-left: 0px !important;
+}
+
+.titlebar-min:hover {
+ opacity: 1 !important;
+ transform: scale(110%);
+}
+
+/* maximize button */
+.titlebar-max {
+ /* -moz-appearance: none !important;
+ fill: var(--green) !important;
+ opacity: 0.7 !important;
+ list-style-image: url(circle.svg) !important; */
+ background-color: var(--green) !important;
+ opacity: 0.7 !important;
+}
+
+.titlebar-max:hover {
+ opacity: 1 !important;
+ transform: scale(110%);
+}
+
+/* restore button */
+.titlebar-restore {
+ /* -moz-appearance: none !important;
+ fill: var(--green) !important;
+ opacity: 0.7 !important;
+ list-style-image: url(circle.svg) !important; */
+ background-color: var(--green) !important;
+ opacity: 0.7 !important;
+}
+
+.titlebar-restore:hover {
+ opacity: 1 !important;
+ transform: scale(110%);
+}
+
+#private-browsing-indicator-with-label {
+ display: none !important;
+}
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/treestyletab/config.json b/modules/home-manager/browser/floorp/treestyletab/config.json
new file mode 100644
index 0000000..cd00ed4
--- /dev/null
+++ b/modules/home-manager/browser/floorp/treestyletab/config.json
@@ -0,0 +1,45 @@
+{
+ "__ConfigsMigration__userValeusSameToDefaultAreCleared": true,
+ "animationForce": true,
+ "autoAttach": false,
+ "autoAttachOnNewTabButtonAccelClick": 1,
+ "autoAttachOnNewTabCommand": 2,
+ "autoAttachOnOpenedFromExternal": 2,
+ "chunkedUserStyleRules0": "LyoKR28gdG8gaHR0cHM6Ly9naXRodWIuY29tL3Bpcm9vci90cmVlc3R5bGV0YWIvd2lraS9Db2RlLXNuaXBwZXRzLWZvci1jdXN0b20tc3R5bGUtcnVsZXMjZmF2aWNvbi1vZi10YWJzCmZvciBzb21lIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjaGFuZ2UgdGhlc2UgdmFyaWFibGVzLi4uCiovCi8qIE1haW4gc2FzcyBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHRoZW1lICovIC8qIE1haW4gc2FzcyBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHRoZW1lICovCjpyb290IHsKICAtLWFwLXJhZGl1cy1zOiA0cHg7CiAgLS1hcC1yYWRpdXMtbTogOHB4OwogIC0tYXAtcmFkaXVzLWw6IDEwcHg7CiAgLS1hcC1yYWRpdXMteGw6IDE2cHg7CiAgLS1hcC1wcmltYXJ5LWg6IDE1OwogIC0tYXAtcHJpbWFyeS1zOiA2NCU7CiAgLS1hcC1wcmltYXJ5LWw6IDg4JTsKICAtLWFwLXByaW1hcnktZDogODAlOwogIC0tYXAtcHJpbWFyeTogaHNsKHZhcigtLWFwLXByaW1hcnktaCksIHZhcigtLWFwLXByaW1hcnktcyksIHZhcigtLWFwLXByaW1hcnktbCkpOwogIC0tYXAtc2Vjb25kYXJ5LWg6IDE1NzsKICAtLWFwLXNlY29uZGFyeS1zOiAzMiU7CiAgLS1hcC1zZWNvbmRhcnktbDogNTglOwogIC0tYXAtc2Vjb25kYXJ5LWQ6IDcwJTsKICAtLWFwLXNlY29uZGFyeTogaHNsKHZhcigtLWFwLXNlY29uZGFyeS1oKSwgdmFyKC0tYXAtc2Vjb25kYXJ5LXMpLCB2YXIoLS1hcC1zZWNvbmRhcnktbCkpOwogIC0tYXAtYmFzZTEtaDogMjQ5OwogIC0tYXAtYmFzZTEtczogMzMlOwogIC0tYXAtYmFzZTEtbDogOCU7CiAgLS1hcC1iYXNlMS1kOiAxMCU7CiAgLS1hcC1iZzA6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIHZhcigtLWFwLWJhc2UwLWwpKTsKICAtLWFwLWJhc2UwLWg6IDI1MDsKICAtLWFwLWJhc2UwLXM6IDIzJTsKICAtLWFwLWJhc2UwLWw6IDUlOwogIC0tYXAtYmFzZTAtZDogMTMlOwogIC0tYXAtYmcxOiBoc2wodmFyKC0tYXAtYmFzZTEtaCksIHZhcigtLWFwLWJhc2UxLXMpLCB2YXIoLS1hcC1iYXNlMS1sKSk7CiAgLS1hcC1yZWQ6ICNFOTcxOTM7CiAgLS1hcC1ncmVlbjogI0FBQzVBMDsKICAtLWFwLWJsdWU6ICNBOEM1RTY7CiAgLS1hcC1wdXJwbGU6ICNERkE3RTc7CiAgLS1hcC1hcXVhOiAjYThlNWU2OwogIC0tYXAteWVsbG93OiAjZWNlMGE4OwogIC0tYXAtb3JhbmdlOiAjRDFBOTk5OwogIC0tYXAtY29sb3Itc3Ryb25nOiAjRTk3MTkzOwogIC0tYXAtY29sb3ItcXVvdGU6ICNFOTcxOTM7CiAgLS1hcC1jb2xvci1pdGFsaWM6ICNFOTcxOTM7CiAgLS1hcC1jb2xvci10YWctYmFja2dyb3VuZDogIzJjMjUzNzsKICAtLWFwLWNvbG9yLXRhZy10ZXh0OiAjRUVFRUVFOwogIC0tYXAtY29kZS1ncmF5LTE6ICM1YjVjNWY7CiAgLS1hcC1jb2RlLWdyYXktMjogIzQ1NDc0YzsKICAtLWFwLWNvZGUtcmVkOiB2YXIoLS1hcC1yZWQpOwogIC0tYXAtY29kZS1ncmVlbjogdmFyKC0tYXAtZ3JlZW4pOwogIC0tYXAtY29kZS1ibHVlOiB2YXIoLS1hcC1ibHVlKTsKICAtLWFwLWNvZGUtcHVycGxlOiB2YXIoLS1hcC1wdXJwbGUpOwogIC0tYXAtY29kZS1hcXVhOiB2YXIoLS1hcC1hcXVhKTsKICAtLWFwLWNvZGUteWVsbG93OiB2YXIoLS1hcC15ZWxsb3cpOwogIC0tYXAtY29kZS1vcmFuZ2U6IHZhcigtLWFwLW9yYW5nZSk7CiAgLS1hcC1jb2xvci1kcDA6IGhzbCh2YXIoLS1hcC1iYXNlMS1oKSwgdmFyKC0tYXAtYmFzZTEtcyksIHZhcigtLWFwLWJhc2UxLWwpKTsKICAtLWFwLWNvbG9yLWRwMTogaHNsKHZhcigtLWFwLWJhc2UwLWgpLCB2YXIoLS1hcC1iYXNlMC1zKSwgdmFyKC0tYXAtYmFzZTAtbCkpOwogIC0tYXAtY29sb3ItZHAyOiBoc2wodmFyKC0tYXAtYmFzZTAtaCksIHZhcigtLWFwLWJhc2UwLXMpLCBjYWxjKHZhcigtLWFwLWJhc2UwLWwpICsgMTAlKSk7CiAgLS1hcC1jb2xvci1kcDM6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIGNhbGModmFyKC0tYXAtYmFzZTAtbCkgKyAyMCUpKTsKICAtLWFwLWNvbG9yLWRwNDogaHNsKHZhcigtLWFwLWJhc2UwLWgpLCB2YXIoLS1hcC1iYXNlMC1zKSwgY2FsYyh2YXIoLS1hcC1iYXNlMC1sKSArIDMwJSkpOwogIC0tYXAtY29sb3ItZHA1OiBoc2wodmFyKC0tYXAtYmFzZTAtaCksIHZhcigtLWFwLWJhc2UwLXMpLCBjYWxjKHZhcigtLWFwLWJhc2UwLWwpICsgNDAlKSk7CiAgLS1hcC1jb2xvci1kcDY6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIGNhbGModmFyKC0tYXAtYmFzZTAtbCkgKyA1MCUpKTsKICAtLWFwLWNvbG9yLWRwNzogaHNsKHZhcigtLWFwLWJhc2UwLWgpLCB2YXIoLS1hcC1iYXNlMC1zKSwgY2FsYyh2YXIoLS1hcC1iYXNlMC1sKSArIDYwJSkpOwogIC0tYXAtY29sb3ItZHA4OiBoc2wodmFyKC0tYXAtYmFzZTAtaCksIHZhcigtLWFwLWJhc2UwLXMpLCBjYWxjKHZhcigtLWFwLWJhc2UwLWwpICsgNzAlKSk7CiAgLS1hcC1jb2xvci1kcDk6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIGNhbGModmFyKC0tYXAtYmFzZTAtbCkgKyA4MCUpKTsKICAtLWFwLWNvbG9yLWRwMTA6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIGNhbGModmFyKC0tYXAtYmFzZTAtbCkgKyA5NSUpKTsKICAtLWFwLWNvbG9yLWRwMTE6IGhzbCh2YXIoLS1hcC1iYXNlMC1oKSwgdmFyKC0tYXAtYmFzZTAtcyksIGNhbGModmFyKC0tYXAtYmFzZTAtbCkgKyAxMDAlKSk7CiAgLS1hcC1oMTogdmFyKC0tYXAtcmVkKTsKICAtLWFwLWgyOiB2YXIoLS1hcC1wdXJwbGUpOwogIC0tYXAtaDM6IHZhcigtLWFwLWJsdWUpOwogIC0tYXAtaDQ6IHZhcigtLWFwLWdyZWVuKTsKICAtLWFwLWg1OiB2YXIoLS1hcC1vcmFuZ2UpOwogIC0tYXAtaDY6IHZhcigtLWFwLXllbGxvdyk7CiAgLS1hcC1oMS1zaXplOiAyLjVlbTsKICAtLWFwLWgyLXNpemU6IDEuOTg4MmVtOwogIC0tYXAtaDMtc2l6ZTogMS41ODExZW07CiAgLS1hcC1oNC1zaXplOiAxLjI1NzRlbTsKICAtLWFwLWg1LXNpemU6IDFlbTsKICAtLWFwLWg2LXNpemU6IDAuNzk1M2VtOwogIC0tYXAtc2l6ZS10ZXh0OiAxZW07CiAgLS1hcC1zaXplLXRleHQtaGVhZGVyOiAxZW07CiAgLS1hcC1zaXplLXRleHQtaXRlbTogMWVtOwogIC0tYXAtY29udGFpbmVyLXBhZGRpbmc6IDhweDsKICAtLWFwLWZyYW1lLWxlZnQ6IDEwcHg7CiAgLS1hcC1mb250LXRleHQ6IDsKICAtLWFwLWZvbnQtaW50ZXJmYWNlOiA7CiAgLS1hcC1mb250LXRpdGxlOiA7CiAgLS1hcC1mb250LWN1cnNpdmU6IDsKICAtLWFwLWZvbnQtYm9sZDogOwogIC0tYXAtZm9udC1saW5rOiA7CiAgLS1hcC1mb250LWhhc2h0YWc6IDsKfQoKOnJvb3QgewogIC0tYXAtcHJpbWFyeS1oOiAxNS4zODQ2MTUzODQ2ZGVnOwogIC0tYXAtcHJpbWFyeS1zOiA2My45MzQ0MjYyMjk1JTsKICAtLWFwLXByaW1hcnktbDogODguMDM5MjE1Njg2MyU7CiAgLS1hcC1wcmltYXJ5LWQ6IDgwJTsKICAtLWFwLXByaW1hcnk6ICNGNEQ3Q0Q7CiAgLS1hcC1zZWNvbmRhcnktaDogMTU3LjA1ODgyMzUyOTRkZWc7CiAgLS1hcC1zZWNvbmRhcnktczogMzEuNzc1NzAwOTM0NiU7CiAgLS1hcC1zZWNvbmRhcnktbDogNTguMDM5MjE1Njg2MyU7CiAgLS1hcC1zZWNvbmRhcnktZDogNzAlOwogIC0tYXAtc2Vjb25kYXJ5OiAjNzJiNjljOwogIC0tYXAtYmFzZTAtaDogMjUwZGVnOwogIC0tYXAtYmFzZTAtczogMjMuMDc2OTIzMDc2OSU7CiAgLS1hcC1iYXNlMC1sOiA1LjA5ODAzOTIxNTclOwogIC0tYXAtYmFzZTAtZDogMjAlOwogIC0tYXAtYmcwOiAjMEIwQTEwOwogIC0tYXAtYmFzZTEtaDogMjUwZGVnOwogIC0tYXAtYmFzZTEtczogMjMuMDc2OTIzMDc2OSU7CiAgLS1hcC1iYXNlMS1sOiA4LjA5ODAzOTIxNTclOwogIC0tYXAtYmFzZTEtZDogMjAlOwogIC0tYXAtYmcxOiAjMTExMDE5OwogIC0tYXAtcmVkOiAjRTk3MTkzOwogIC0tYXAtZ3JlZW46ICNBQUM1QTA7CiAgLS1hcC1ibHVlOiAjQThDNUU2OwogIC0tYXAtcHVycGxlOiAjREZBN0U3OwogIC0tYXAtYXF1YTogI2E4ZTVlNjsKICAtLWFwLXllbGxvdzogI2VjZTBhODsKICAtLWFwLW9yYW5nZTogI0QxQTk5OTsKICAtLWFwLWNvbG9yLXN0cm9uZzogI0U5NzE5MzsKICAtLWFwLWNvbG9yLXF1b3RlOiAjRTk3MTkzOwogIC0tYXAtY29sb3ItaXRhbGljOiAjRTk3MTkzOwogIC0tYXAtY29sb3ItdGFnLWJhY2tncm91bmQ6ICMyYzI1Mzc7CiAgLS1hcC1jb2xvci10YWctdGV4dDogI0VFRUVFRTsKICAtLWFwLWNvbG9yLWRwMDogIzExMTAxOTsKICAtLWFwLWNvbG9yLWRwMTogIzBCMEExMDsKfQoKOnJvb3QgewogIC0tZGFyay0wOiB2YXIoLS1hcC1jb2xvci1kcDApOwogIC0tZGFyay1iYXNlOiB2YXIoLS1hcC1jb2xvci1kcDApOwogIC0tZGFyay0xOiB2YXIoLS1hcC1jb2xvci1kcDEpOwogIC0tZGFyay0yOiB2YXIoLS1hcC1jb2xvci1kcDEpOwogIC0tZGFyay0zOiB2YXIoLS1hcC1jb2xvci1kcDIpOwogIC0tZGFyay00OiB2YXIoLS1hcC1jb2xvci1kcDMpOwogIC0tbGlnaHQtMDogdmFyKC0tYXAtY29sb3ItZHAxMSk7CiAgLS1saWdodC1iYXNlOiB2YXIoLS1hcC1jb2xvci1kcDEwKTsKICAtLWxpZ2h0LTE6IHZh",
+ "chunkedUserStyleRules1": "cigtLWFwLWNvbG9yLWRwOSk7CiAgLS1saWdodC0yOiB2YXIoLS1hcC1jb2xvci1kcDgpOwogIC0tbGlnaHQtMzogdmFyKC0tYXAtY29sb3ItZHA2KTsKICAtLWxpZ2h0LTQ6IHZhcigtLWFwLWNvbG9yLWRwNSk7CiAgLS1hY2NlbnQ6IHZhcigtLWFwLXByaW1hcnkpOwogIC0teWVsbG93OiB2YXIoLS1hcC15ZWxsb3cpOwogIC0tZ3JlZW46IHZhcigtLWFwLWdyZWVuKTsKICAtLXJlZDogdmFyKC0tYXAtcmVkKTsKICAvKiAtLWV4dGVuc2lvbi1pY29uLW1hc2s6IGdyYXlzY2FsZSg4NSUpIGludmVydCgyMSUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgxMTY2JSkgaHVlLXJvdGF0ZSgxNjZkZWcpIGJyaWdodG5lc3MoOTUlKSBjb250cmFzdCg4MCUpOyAqLwp9Cgo6cm9vdC5pbmNvZ25pdG8gewogIC0tZGFyay0wOiAjMUMwRTM0OwogIC0tZGFyay1iYXNlOiAjMjAxMDNjOwogIC0tZGFyay0xOiAjMkYxRDRFOwogIC0tZGFyay0yOiAjMzgyMjVEOwogIC0tZGFyay0zOiAjNEEyRDdCOwogIC0tZGFyay00OiAjNTMzMzhBOwogIC0tbGlnaHQtMDogI0NDNkI5QzsKICAtLWxpZ2h0LWJhc2U6ICNCOTQwN0M7CiAgLS1saWdodC0xOiAjQUIzQjczOwogIC0tbGlnaHQtMjogIzlDMzU2OTsKICAtLWxpZ2h0LTM6ICM4RDMwNUU7CiAgLS1saWdodC00OiAjN0QyQjU0OwogIC0tYWNjZW50OiAjZTkyMDdlOwogIC0teWVsbG93OiAjQzlCMzM2OwogIC0tZ3JlZW46ICMzNkM5ODc7CiAgLS1yZWQ6ICNDOTM2NUQ7CiAgLyogLS1leHRlbnNpb24taWNvbi1tYXNrOiBncmF5c2NhbGUoODUlKSBpbnZlcnQoMTMlKSBzZXBpYSg4MCUpIHNhdHVyYXRlKDMxMDclKSBodWUtcm90YXRlKDI1NmRlZykgYnJpZ2h0bmVzcyg4NCUpIGNvbnRyYXN0KDkzJSk7ICovCn0KCjpyb290IHsKICAtLXRhYi1ib3JkZXItcmFkaXVzOiAxMHB4OwogIC8qIGJvcmRlciByYWRpdXMgb2YgdGFicyAqLwogIC0tYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtczsKICAvKiBkdXJhdGlvbiBvZiBkaWZmZXJlbnQgYW5pbWF0aW9ucyBbMHM6IHR1cm4gYWxsIGFuaW1hdGlvbnMgb2ZmXSAqLwogIC0tc3BhY2luZzogMTBweDsKICAvKiBzcGFjaW5nIGJldHdlZW4gdGFicy4gWzwxNXB4OiBjb21wYWN0IHRhYnNdICovCiAgLS1kaXN0YW5jZS1mcm9tLWVkZ2U6IDdweDsKICAvKiBkaXN0YW5jZSBiZXR3ZWVuIHRhYnMsIGFuZCBsZWZ0LXJpZ2h0IGVkZ2VzIG9mIHNpZGViYXIqLwogIC0taG92ZXItdGV4dC1zcGFjaW5nOiAwLjI7CiAgLyogc2hvdWxkIGJlIGxlZnQgYWxvbmUuIHdpdGggaG92ZXIgc2lkZWJhciwgaWYgdGV4dCBpcyB2aXNpYmxlIGluIGNvbGxhcHNlZCBzdGF0dXMsIGluY3JlYXNlIHRoaXMgKi8KICAtLWVhc2UtaW46IGN1YmljLWJlemllcigwLjMyLCAwLCAwLjY3LCAwKTsKICAtLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7CiAgLS1lYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOwogIC0tY29sbGFwc2VkLXdpZHRoOiA2MHB4OwogIC0tY29udGV4dHVhbC1pZGVudGl0eS1jb2xvci1ibHVlOiAjNjNCM0VEOwogIC0tY29udGV4dHVhbC1pZGVudGl0eS1jb2xvci1vcmFuZ2U6ICNGNkFENTU7CiAgLS1jb250ZXh0dWFsLWlkZW50aXR5LWNvbG9yLWdyZWVuOiAjNjhEMzkxOwogIC0tY29udGV4dHVhbC1pZGVudGl0eS1jb2xvci1waW5rOiAjRjY4N0IzOwp9CgovKioqKioqKioqKioqVU5DVVNUT01JWkVEIENTUyoqKioqKioqKioqKi8KI3RhYmJhci1jb250YWluZXIgI3RhYmJhciB7CiAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50Owp9Cgo6cm9vdCwKI2JhY2tncm91bmQgewogIGJhY2tncm91bmQ6IHZhcigtLWRhcmstYmFzZSkgIWltcG9ydGFudDsKfQoKI2FsbC10YWJzIHsKICBtYXJnaW46IDEwcHggdmFyKC0tZGlzdGFuY2UtZnJvbS1lZGdlKTsKfQoKdGFiLWl0ZW0gPiAqIHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQoKdGFiLWl0ZW06bm90KC5jb2xsYXBzZWQpIHsKICAvKiBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nKTsgKi8KICAvKiBib3JkZXItcmFkaXVzOiAwcHggdmFyKC0tdGFiLWJvcmRlci1yYWRpdXMpIHZhcigtLXRhYi1ib3JkZXItcmFkaXVzKSAwcHg7ICovCiAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGFiLWJvcmRlci1yYWRpdXMpOwogIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogIGhlaWdodDogMzRweCAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Cgp0YWItaXRlbS5jb2xsYXBzZWQgewogIGhlaWdodDogMDsKICBtYXJnaW46IDAgIWltcG9ydGFudDsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KCnRhYi1pdGVtOm5vdChbZGF0YS1sZXZlbD0iMCJdKTpub3QoLnBpbm5lZCkgewogIGJvcmRlci1sZWZ0OiBzb2xpZCAzcHggdmFyKC0tbGlnaHQtNCkgIWltcG9ydGFudDsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7CiAgcGFkZGluZy1sZWZ0OiAwcHg7CiAgLyogbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKS8yKTsgKi8KfQoKdGFiLWl0ZW0gdGFiLWZhdmljb24gewogIGxlZnQ6IDA7CiAgZmlsdGVyOiB2YXIoLS1leHRlbnNpb24taWNvbi1tYXNrKTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gY2FsYyh2YXIoLS1hbmltYXRpb24tZHVyYXRpb24pICogMikgdmFyKC0tZWFzZS1vdXQpOwp9CgouaGlnaGxpZ2h0ZXIgewogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKdGFiLWl0ZW0gewogIC0tdGFiLXNpemU6IDM0cHggIWltcG9ydGFudDsKICBtYXJnaW46IDRweDsKfQoKdGFiLWl0ZW0gdGFiLWl0ZW0tc3Vic3RhbmNlIHsKICBoZWlnaHQ6IHZhcigtLXRhYi1zaXplKTsKICBwYWRkaW5nOiA0cHggMHB4IDRweCA0cHg7Cn0KCnRhYi1pdGVtIHRhYi1pdGVtLXN1YnN0YW5jZSAuYWN0aXZlIHsKICBoZWlnaHQ6IHZhcigtLXRhYi1zaXplKTsKfQoKdGFiLWl0ZW0gLmxhYmVsIHsKICBjb2xvcjogdmFyKC0tbGlnaHQtMSkgIWltcG9ydGFudDsKICBwYWRkaW5nLWJvdHRvbTogMnB4OwogIHBhZGRpbmctbGVmdDogOHB4Owp9CgovKlRoZSBkcm9wLWRvd24gIj4iIGJ1dHRvbiovCnRhYi1pdGVtIC50d2lzdHk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC0xKSAhaW1wb3J0YW50OwogIHRyYW5zZm9ybTogc2NhbGUoMTUwJSk7Cn0KCnRhYi1pdGVtLmFjdGl2ZSAubGFiZWwgewogIGNvbG9yOiB2YXIoLS1saWdodC0wKSAhaW1wb3J0YW50Owp9Cgp0YWItaXRlbS5hY3RpdmUgewogIGJhY2tncm91bmQ6IHZhcigtLWRhcmstMykgIWltcG9ydGFudDsKfQoKdGFiLWl0ZW06bm90KC5hY3RpdmUpLmhpZ2hsaWdodGVkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrLTEpICFpbXBvcnRhbnQ7Cn0KCnRhYi1pdGVtOm5vdChhY3RpdmUpOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrLTEpOwp9CgovKiBUaGUgY2xvc2UgYnV0dG9uICovCnRhYi1pdGVtOmhvdmVyIHRhYi1jbG9zZWJveCB7CiAgcmlnaHQ6IDEwcHg7Cn0KCnRhYi1pdGVtOm5vdChwaW5uZWQpIHRhYi1jbG9zZWJveCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIG1hcmdpbi10b3A6IDJweDsKICBoZWlnaHQ6IDIwcHg7CiAgd2lkdGg6IDIwcHg7CiAgcmlnaHQ6IC0zMHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBwYWRkaW5nLXRvcDogMnB4OwogIHBhZGRpbmctbGVmdDogMnB4OwogIG9wYWNpdHk6IDE7CiAgLyogYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtNCk7ICovCiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tZWFzZS1vdXQpOwp9Cgp0YWItY2xvc2Vib3g6aG92ZXIgewogIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1lYXNlLW91dCk7CiAgYmFja2dyb3VuZDogdmFyKC0tcmVkKTsKICB0cmFuc2Zvcm06IHNjYWxlKDExMCUpICFpbXBvcnRhbnQ7Cn0KCi5zb3VuZC1idXR0b246YWZ0ZXIgewogIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LTMpICFpbXBvcnRhbnQ7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KCi5jb3VudGVyIHsKICBjb2xvcjogdmFyKC0tbGlnaHQtMSkgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiByZ2JhKDY2LCA2NiwgNjYsIDAuMjY2NjY2NjY2NykgIWltcG9ydGFudDsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgbWFyZ2luOiAwcHggNHB4OwogIHBhZGRpbmc6IDJweCA1cHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgLyogcGFkZGluZy1ib3R0b206IDJweDsgKi8KICBvcmRlcjogLTEgIWltcG9ydGFudDsKfQoKLmNvdW50ZXI6YmVmb3JlLAouY291bnRlcjphZnRlciB7CiAgY29udGVudDogIiI7Cn0KCi8qKioqKioqKkxFRlQgQ09OVEVOVCBUQUIoaG92ZXIpKioqKioqKioqKioqKi8KOnJvb3QubGVmdCB0YWItaXRlbSB7CiAgcGFkZGluZy1sZWZ0OiAwcHg7Cn0KCjpyb290LmxlZnQgdGFiLWl0ZW0gdGFiLWZhdmljb24gewogIG9yZGVyOiAxMCAhaW1wb3J0YW50OwogIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb2xsYXBzZWQtd2lkdGgpICogMC4yNSkgIWltcG9ydGFudDsKICB0cmFuc2Zvcm06IHNj",
+ "chunkedUserStyleRules2": "YWxlKDEyMCUpIHRyYW5zbGF0ZVgoMHB4KSAhaW1wb3J0YW50Owp9Cgo6cm9vdC5sZWZ0IHRhYi1pdGVtIC5zb3VuZC1idXR0b246YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogYWxsIGNhbGModmFyKC0tYW5pbWF0aW9uLWR1cmF0aW9uKSAqIDIuMikgdmFyKC0tZWFzZS1vdXQpICFpbXBvcnRhbnQ7Cn0KCjpyb290LmxlZnQgdGFiLWl0ZW0gLmxhYmVsIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29sbGFwc2VkLXdpZHRoKSAqIHZhcigtLWhvdmVyLXRleHQtc3BhY2luZykpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tZWFzZS1vdXQpOwp9Cgo6cm9vdC5sZWZ0IHRhYi1pdGVtOm5vdCgucGlubmVkKTpob3ZlciB0YWItZmF2aWNvbiB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxMjAlKSB0cmFuc2xhdGVYKC0yMHB4KSAhaW1wb3J0YW50Owp9Cgo6cm9vdC5sZWZ0IHRhYi1pdGVtOm5vdChbZGF0YS1jaGlsZC1pZHNdKTpob3ZlciAubGFiZWwgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTVweCk7Cn0KCjpyb290LmxlZnQgdGFiLWl0ZW06aG92ZXIgLnNvdW5kLWJ1dHRvbjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KTsKfQoKOnJvb3QubGVmdCB0YWItaXRlbVtkYXRhLWNoaWxkLWlkc10gLnR3aXN0eSB7CiAgbWFyZ2luLWxlZnQ6IDVweDsKfQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoudGFiIC5mYXZpY29uIC5mYXZpY29uLWRlZmF1bHQ6OmJlZm9yZSB7CiAgZmlsdGVyOiB2YXIoLS1leHRlbnNpb24taWNvbi1tYXNrKTsKICAvKiBjaGFuZ2UgZm9yIGxpZ2h0IHRoZW1lICovCn0KCi50YWJbZGF0YS1jdXJyZW50LWZhdmljb24tdXJpPXVuZGVmaW5lZF0gLmZhdmljb24gLmZhdmljb24tZGVmYXVsdDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiB1cmwoImNocm9tZTovL2JyYW5kaW5nL2NvbnRlbnQvaWRlbnRpdHktaWNvbnMtYnJhbmQuc3ZnIikgbm8tcmVwZWF0IGNlbnRlciAhaW1wb3J0YW50OwogIG1hc2s6IG5vbmUgIWltcG9ydGFudDsKfQoKLyoqKioqKioqKioqTkVXIFRBQiBCVVRUT04qKioqKioqKioqLwoubmV3dGFiLWJ1dHRvbi1ib3ggewogIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogIG1hcmdpbjogMCA1MHB4Owp9CgoubmV3dGFiLWJ1dHRvbiB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIHBhZGRpbmc6IDhweCAwICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwIDVweDsKfQoKLm5ld3RhYi1idXR0b246OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtMykgIWltcG9ydGFudDsKfQoKLm5ld3RhYi1hY3Rpb24tc2VsZWN0b3ItYW5jaG9yIHsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgbWFyZ2luLXRvcDogM3B4Owp9CgoubmV3dGFiLWJ1dHRvbjpob3ZlciB7CiAgYmFja2dyb3VuZDogdmFyKC0tZGFyay0xKTsKfQoKLyoqKioqKioqKipQSU5ORUQgVEFCKioqKioqKioqKioqKioqLwp0YWItaXRlbS5waW5uZWQgewogIG1hcmdpbjogNXB4ICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgdmFyKC0tZWFzZS1vdXQpOwp9CgovKioqKioqKioqKkNPTlRBSU5FUlMqKioqKioqKioqKioqKiovCi5jb250ZXh0dWFsLWlkZW50aXR5LW1hcmtlciB7CiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgbGVmdDogMCAhaW1wb3J0YW50OwogIHRvcDogMCAhaW1wb3J0YW50OwogIGJvdHRvbTogMCAhaW1wb3J0YW50Owp9Cgp0YWItaXRlbS5hY3RpdmUgLmNvbnRleHR1YWwtaWRlbnRpdHktbWFya2VyIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi5jb250ZXh0dWFsLWlkZW50aXR5LWZpcmVmb3gtY29udGFpbmVyLTE6bm90KC5hY3RpdmUpLAouY29udGV4dHVhbC1pZGVudGl0eS1maXJlZm94LWNvbnRhaW5lci0yOm5vdCguYWN0aXZlKSwKLmNvbnRleHR1YWwtaWRlbnRpdHktZmlyZWZveC1jb250YWluZXItMzpub3QoLmFjdGl2ZSksCi5jb250ZXh0dWFsLWlkZW50aXR5LWZpcmVmb3gtY29udGFpbmVyLTQ6bm90KC5hY3RpdmUpIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHggIWltcG9ydGFudDsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHggIWltcG9ydGFudDsKfQoKdGFiLWl0ZW0uYWN0aXZlLmNvbnRleHR1YWwtaWRlbnRpdHktZmlyZWZveC1jb250YWluZXItMSB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjRDUzRjhDLCAjOUY3QUVBKSAhaW1wb3J0YW50Owp9Cgp0YWItaXRlbS5hY3RpdmUuY29udGV4dHVhbC1pZGVudGl0eS1maXJlZm94LWNvbnRhaW5lci0yIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNERDZCMjAsICNGNTY1NjUpICFpbXBvcnRhbnQ7Cn0KCnRhYi1pdGVtLmFjdGl2ZS5jb250ZXh0dWFsLWlkZW50aXR5LWZpcmVmb3gtY29udGFpbmVyLTMgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzM4QTE2OSwgIzM4QjJBQykgIWltcG9ydGFudDsKfQoKdGFiLWl0ZW0uYWN0aXZlLmNvbnRleHR1YWwtaWRlbnRpdHktZmlyZWZveC1jb250YWluZXItNCB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMzE4MkNFLCAjMEJDNUVBKSAhaW1wb3J0YW50Owp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiNhbGwtdGFicyB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0K",
+ "configsVersion": 26,
+ "containerRedirectKey": "",
+ "inheritContextualIdentityToChildTabMode": 2,
+ "inheritContextualIdentityToTabsFromExternalMode": 2,
+ "insertNewTabFromPinnedTabAt": 1,
+ "notifiedFeaturesVersion": 9,
+ "optionsExpandedSections": [
+ "section-addons",
+ "section-contextMenu",
+ "section-newTab",
+ "section-newTabWithOwner",
+ "section-debug",
+ "section-treeBehavior",
+ "section-advanced",
+ "section-drag",
+ "section-appearance"
+ ],
+ "showExpertOptions": true,
+ "sidebarPosition": 1,
+ "style": "none",
+ "syncDevices": {
+ "device-1665570395295-4693": {
+ "id": "device-1665570395295-4693",
+ "name": "Firefox on Linux",
+ "icon": "device-desktop",
+ "timestamp": 1669194677426
+ }
+ },
+ "syncParentTabAndOpenerTab": false,
+ "tabDragBehavior": 11,
+ "tabDragBehaviorShift": 13,
+ "userStyleRules": "",
+ "userStyleRulesFieldHeight": "473px",
+ "workaroundForBug1548949DroppedTabs": "1669194674770-41904/53"
+}
\ No newline at end of file
diff --git a/modules/home-manager/browser/floorp/treestyletab/treestyletab.css b/modules/home-manager/browser/floorp/treestyletab/treestyletab.css
new file mode 100644
index 0000000..0cef9cf
--- /dev/null
+++ b/modules/home-manager/browser/floorp/treestyletab/treestyletab.css
@@ -0,0 +1,413 @@
+/*
+Go to https://github.com/piroor/treestyletab/wiki/Code-snippets-for-custom-style-rules#favicon-of-tabs
+for some information on how to change these variables...
+*/
+/* Main sass file that contains the theme */
+:root {
+ --ap-radius-s: 4px;
+ --ap-radius-m: 8px;
+ --ap-radius-l: 10px;
+ --ap-radius-xl: 16px;
+ --ap-primary-h: 15;
+ --ap-primary-s: 64%;
+ --ap-primary-l: 88%;
+ --ap-primary-d: 80%;
+ --ap-primary: hsl(var(--ap-primary-h), var(--ap-primary-s), var(--ap-primary-l));
+ --ap-secondary-h: 157;
+ --ap-secondary-s: 32%;
+ --ap-secondary-l: 58%;
+ --ap-secondary-d: 70%;
+ --ap-secondary: hsl(var(--ap-secondary-h), var(--ap-secondary-s), var(--ap-secondary-l));
+ --ap-base1-h: 249;
+ --ap-base1-s: 33%;
+ --ap-base1-l: 8%;
+ --ap-base1-d: 10%;
+ --ap-base0: hsl(var(--ap-base0-h), var(--ap-base0-s), var(--ap-base0-l));
+ --ap-base0-h: 250;
+ --ap-base0-s: 23%;
+ --ap-base0-l: 5%;
+ --ap-base0-d: 13%;
+ --ap-base1: hsl(var(--ap-base1-h), var(--ap-base1-s), var(--ap-base1-l));
+ --ap-red: #E97193;
+ --ap-green: #AAC5A0;
+ --ap-blue: #A8C5E6;
+ --ap-purple: #DFA7E7;
+ --ap-aqua: #a8e5e6;
+ --ap-yellow: #ece0a8;
+ --ap-orange: #D1A999;
+ --ap-color-strong: #E97193;
+ --ap-color-quote: #E97193;
+ --ap-color-italic: #E97193;
+ --ap-color-tag-background: #2c2537;
+ --ap-color-tag-text: #EEEEEE;
+ --ap-code-gray-1: #5b5c5f;
+ --ap-code-gray-2: #45474c;
+ --ap-code-red: var(--ap-red);
+ --ap-code-green: var(--ap-green);
+ --ap-code-blue: var(--ap-blue);
+ --ap-code-purple: var(--ap-purple);
+ --ap-code-aqua: var(--ap-aqua);
+ --ap-code-yellow: var(--ap-yellow);
+ --ap-code-orange: var(--ap-orange);
+ --ap-color-dp0: hsl(var(--ap-base1-h), var(--ap-base1-s), var(--ap-base1-l));
+ --ap-color-dp1: hsl(var(--ap-base0-h), var(--ap-base0-s), var(--ap-base0-l));
+ --ap-color-dp2: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 5%));
+ --ap-color-dp3: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 10%));
+ --ap-color-dp4: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 15%));
+ --ap-color-dp5: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 40%));
+ --ap-color-dp6: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 50%));
+ --ap-color-dp7: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 60%));
+ --ap-color-dp8: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 70%));
+ --ap-color-dp9: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 80%));
+ --ap-color-dp10: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 85%));
+ --ap-color-dp11: hsl(var(--ap-base0-h), var(--ap-base0-s), calc(var(--ap-base0-l) + 90%));
+ --ap-h1: var(--ap-red);
+ --ap-h2: var(--ap-purple);
+ --ap-h3: var(--ap-blue);
+ --ap-h4: var(--ap-green);
+ --ap-h5: var(--ap-orange);
+ --ap-h6: var(--ap-yellow);
+ --ap-h1-size: 2.5em;
+ --ap-h2-size: 1.9882em;
+ --ap-h3-size: 1.5811em;
+ --ap-h4-size: 1.2574em;
+ --ap-h5-size: 1em;
+ --ap-h6-size: 0.7953em;
+ --ap-size-text: 1em;
+ --ap-size-text-header: 1em;
+ --ap-size-text-item: 1em;
+ --ap-container-padding: 8px;
+ --ap-frame-left: 10px;
+ --ap-font-text: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-interface: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-monospace: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-title: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-header: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+ --ap-font-hashtag: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Inter, Ubuntu, sans-serif;
+}
+
+:root {
+ --dark-0: var(--ap-color-dp0);
+ --dark-base: var(--ap-color-dp0);
+ --dark-1: var(--ap-color-dp1);
+ --dark-2: var(--ap-color-dp1);
+ --dark-3: var(--ap-color-dp2);
+ --dark-4: var(--ap-color-dp3);
+ --light-0: var(--ap-color-dp11);
+ --light-base: var(--ap-color-dp10);
+ --light-1: var(--ap-color-dp9);
+ --light-2: var(--ap-color-dp8);
+ --light-3: var(--ap-color-dp6);
+ --light-4: var(--ap-color-dp5);
+ --accent: var(--ap-primary);
+ --yellow: var(--ap-yellow);
+ --green: var(--ap-green);
+ --red: var(--ap-red);
+ /* --extension-icon-mask: grayscale(85%) invert(21%) sepia(0%) saturate(1166%) hue-rotate(166deg) brightness(95%) contrast(80%); */
+}
+
+:root.incognito {
+ --dark-0: #1C0E34;
+ --dark-base: #20103c;
+ --dark-1: #2F1D4E;
+ --dark-2: #38225D;
+ --dark-3: #4A2D7B;
+ --dark-4: #53338A;
+ --light-0: #CC6B9C;
+ --light-base: #B9407C;
+ --light-1: #AB3B73;
+ --light-2: #9C3569;
+ --light-3: #8D305E;
+ --light-4: #7D2B54;
+ --accent: #e9207e;
+ --yellow: #C9B336;
+ --green: #36C987;
+ --red: #C9365D;
+ /* --extension-icon-mask: grayscale(85%) invert(13%) sepia(80%) saturate(3107%) hue-rotate(256deg) brightness(84%) contrast(93%); */
+}
+
+:root {
+ --tab-border-radius: 8px;
+ /* border radius of tabs */
+ --animation-duration: 200ms;
+ /* duration of different animations [0s: turn all animations off] */
+ --spacing: 10px;
+ /* spacing between tabs. [<15px: compact tabs] */
+ --distance-from-edge: 7px;
+ /* distance between tabs, and left-right edges of sidebar*/
+ --hover-text-spacing: 0.2;
+ /* should be left alone. with hover sidebar, if text is visible in collapsed status, increase this */
+ --ease-in: cubic-bezier(0.32, 0, 0.67, 0);
+ --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
+ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
+ --collapsed-width: 60px;
+ --contextual-identity-color-blue: #63B3ED;
+ --contextual-identity-color-orange: #F6AD55;
+ --contextual-identity-color-green: #68D391;
+ --contextual-identity-color-pink: #F687B3;
+}
+
+/************UNCUSTOMIZED CSS************/
+#tabbar-container #tabbar {
+ margin-bottom: 15px !important;
+}
+
+:root,
+#background {
+ background: var(--dark-base) !important;
+}
+
+#all-tabs {
+ margin: 10px var(--distance-from-edge);
+}
+
+tab-item > * {
+ overflow: visible;
+}
+
+tab-item:not(.collapsed) {
+ /* margin-top: var(--spacing); */
+ /* border-radius: 0px var(--tab-border-radius) var(--tab-border-radius) 0px; */
+ border-radius: var(--tab-border-radius);
+ border: none !important;
+ height: 40px !important;
+ justify-content: center;
+}
+
+tab-item.collapsed {
+ height: 0;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+tab-item:not([data-level="0"]):not(.pinned) {
+ border-left: solid 3px var(--light-4) !important;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ margin-left: 20px;
+ padding-left: 0px;
+ /* margin-top: calc(var(--spacing)/2); */
+}
+
+tab-item tab-favicon {
+ left: 0;
+ /* filter: var(--extension-icon-mask); */
+ transition: transform calc(var(--animation-duration) * 2) var(--ease-out);
+}
+
+.highlighter {
+ display: none !important;
+}
+
+tab-item {
+ --tab-size: 34px !important;
+}
+
+tab-item tab-item-substance {
+ height: var(--tab-size);
+ padding: 4px 0px 4px 4px;
+ margin: 4px;
+}
+
+tab-item tab-item-substance .active {
+ height: var(--tab-size);
+}
+
+tab-item .label {
+ color: var(--light-1) !important;
+ padding-bottom: 2px;
+ padding-left: 8px;
+ margin-top: 4px;
+}
+
+/*The drop-down ">" button*/
+tab-item .twisty:before {
+ background: var(--light-1) !important;
+ transform: scale(150%);
+}
+
+tab-item.active .label {
+ color: var(--light-0) !important;
+}
+
+tab-item.active {
+ background: var(--dark-4) !important;
+}
+
+tab-item:not(.active).highlighted {
+ background: var(--dark-1) !important;
+}
+
+tab-item:not(active):hover {
+ background: var(--dark-1);
+}
+
+/* The close button */
+tab-item:hover tab-closebox {
+ right: 10px;
+}
+
+tab-item:not(pinned) tab-closebox {
+ position: absolute;
+ margin-top: 2px;
+ height: 20px;
+ width: 20px;
+ right: -30px;
+ border-radius: 50%;
+ padding-top: 2px;
+ padding-left: 2px;
+ opacity: 1;
+ /* background: var(--light-4); */
+ transition: all var(--animation-duration) var(--ease-out);
+}
+
+tab-closebox:hover {
+ transition: background var(--animation-duration) var(--ease-out);
+ background: var(--red);
+ transform: scale(110%) !important;
+}
+
+.sound-button:after {
+ background: var(--light-3) !important;
+ margin-right: 5px;
+}
+
+.counter {
+ color: var(--light-1) !important;
+ background: rgba(66, 66, 66, 0.2666666667) !important;
+ border-radius: 5px;
+ margin: 0px 6px;
+ padding: 4px 5px;
+ font-weight: bold;
+ /* padding-bottom: 2px; */
+ order: 0 !important;
+}
+
+.counter:before,
+.counter:after {
+ content: "";
+}
+
+/********LEFT CONTENT TAB(hover)*************/
+:root.left tab-item {
+ padding-left: 0px;
+}
+
+:root.left tab-item tab-favicon {
+ order: 10 !important;
+ margin-right: calc(var(--collapsed-width) * 0.25) !important;
+ transform: scale(120%) translateX(0px) !important;
+}
+
+:root.left tab-item .sound-button:after {
+ transform: translateX(0px) !important;
+ transition: all calc(var(--animation-duration) * 2.2) var(--ease-out) !important;
+}
+
+:root.left tab-item .label {
+ transform: translateX(0px);
+ margin-right: calc(var(--collapsed-width) * var(--hover-text-spacing)) !important;
+ transition: all var(--animation-duration) var(--ease-out);
+}
+
+:root.left tab-item:not(.pinned):hover tab-favicon {
+ transform: scale(120%) translateX(-20px) !important;
+}
+
+:root.left tab-item:not([data-child-ids]):hover .label {
+ transform: translateX(-15px);
+}
+
+:root.left tab-item:hover .sound-button:after {
+ transform: translateX(-25px);
+}
+
+:root.left tab-item[data-child-ids] .twisty {
+ margin-left: 5px;
+}
+
+/***********************************/
+.tab .favicon .favicon-default::before {
+ filter: var(--extension-icon-mask);
+ /* change for light theme */
+}
+
+.tab[data-current-favicon-uri=undefined] .favicon .favicon-default::before {
+ background: url("chrome://branding/content/identity-icons-brand.svg") no-repeat center !important;
+ mask: none !important;
+}
+
+/***********NEW TAB BUTTON**********/
+.newtab-button-box {
+ border: none !important;
+ margin: 0 50px;
+}
+
+.newtab-button {
+ border: none !important;
+ border-radius: 8px;
+ padding: 8px 0 !important;
+ margin: 0 5px;
+}
+
+.newtab-button::before {
+ background: var(--light-3) !important;
+}
+
+.newtab-action-selector-anchor {
+ border: none !important;
+ margin-right: 10px;
+ margin-top: 3px;
+}
+
+.newtab-button:hover {
+ background: var(--dark-1);
+}
+
+/**********PINNED TAB***************/
+tab-item.pinned {
+ margin: 5px !important;
+ padding: 0px !important;
+ transition: all 0.1s var(--ease-out);
+}
+
+/**********CONTAINERS***************/
+.contextual-identity-marker {
+ position: absolute !important;
+ left: 0 !important;
+ top: 0 !important;
+ bottom: 0 !important;
+}
+
+tab-item.active .contextual-identity-marker {
+ display: none !important;
+}
+
+.contextual-identity-firefox-container-1:not(.active),
+.contextual-identity-firefox-container-2:not(.active),
+.contextual-identity-firefox-container-3:not(.active),
+.contextual-identity-firefox-container-4:not(.active) {
+ border-top-left-radius: 0px !important;
+ border-bottom-left-radius: 0px !important;
+}
+
+tab-item.active.contextual-identity-firefox-container-1 {
+ background: linear-gradient(to right, #D53F8C, #9F7AEA) !important;
+}
+
+tab-item.active.contextual-identity-firefox-container-2 {
+ background: linear-gradient(to right, #DD6B20, #F56565) !important;
+}
+
+tab-item.active.contextual-identity-firefox-container-3 {
+ background: linear-gradient(to right, #38A169, #38B2AC) !important;
+}
+
+tab-item.active.contextual-identity-firefox-container-4 {
+ background: linear-gradient(to right, #3182CE, #0BC5EA) !important;
+}
+
+/***********************************/
+#all-tabs {
+ border: none !important;
+}