From c7f127b9fe5f0fec60a1a074b53acffbd0e96d86 Mon Sep 17 00:00:00 2001 From: smgr Date: Tue, 7 Oct 2025 04:04:09 -0700 Subject: [PATCH] add new firefox themes --- DESIGN.md | 129 ++++++++++-------- THEMES.md | 11 +- .../grassland-monobiome-dark.xpi | Bin .../grassland-monobiome-light.xpi | Bin .../{ => pre-v1.0.0}/monobiome-dark.xpi | Bin .../{ => pre-v1.0.0}/monobiome-light.xpi | Bin .../savanna-monobiome-dark.xpi | Bin .../savanna-monobiome-light.xpi | Bin .../tundra-monobiome-dark.xpi | Bin .../tundra-monobiome-light.xpi | Bin .../firefox/v1.0.2/monobiome-alpine-dark.xpi | Bin 0 -> 1631 bytes .../firefox/v1.0.2/monobiome-alpine-dark.zip | Bin 0 -> 1631 bytes .../firefox/v1.0.2/monobiome-alpine-light.xpi | Bin 0 -> 1626 bytes .../firefox/v1.0.2/monobiome-alpine-light.zip | Bin 0 -> 1626 bytes .../v1.0.2/monobiome-badlands-dark.xpi | Bin 0 -> 1633 bytes .../v1.0.2/monobiome-badlands-dark.zip | Bin 0 -> 1633 bytes .../v1.0.2/monobiome-badlands-light.xpi | Bin 0 -> 1628 bytes .../v1.0.2/monobiome-badlands-light.zip | Bin 0 -> 1628 bytes .../v1.0.2/monobiome-chaparral-dark.xpi | Bin 0 -> 1634 bytes .../v1.0.2/monobiome-chaparral-dark.zip | Bin 0 -> 1634 bytes .../v1.0.2/monobiome-chaparral-light.xpi | Bin 0 -> 1629 bytes .../v1.0.2/monobiome-chaparral-light.zip | Bin 0 -> 1629 bytes .../v1.0.2/monobiome-grassland-dark.xpi | Bin 0 -> 1634 bytes .../v1.0.2/monobiome-grassland-dark.zip | Bin 0 -> 1634 bytes .../v1.0.2/monobiome-grassland-light.xpi | Bin 0 -> 1629 bytes .../v1.0.2/monobiome-grassland-light.zip | Bin 0 -> 1629 bytes .../firefox/v1.0.2/monobiome-savanna-dark.xpi | Bin 0 -> 1632 bytes .../firefox/v1.0.2/monobiome-savanna-dark.zip | Bin 0 -> 1632 bytes .../v1.0.2/monobiome-savanna-light.xpi | Bin 0 -> 1627 bytes .../v1.0.2/monobiome-savanna-light.zip | Bin 0 -> 1627 bytes .../firefox/v1.0.2/monobiome-tundra-dark.xpi | Bin 0 -> 1631 bytes .../firefox/v1.0.2/monobiome-tundra-dark.zip | Bin 0 -> 1631 bytes .../firefox/v1.0.2/monobiome-tundra-light.xpi | Bin 0 -> 1626 bytes .../firefox/v1.0.2/monobiome-tundra-light.zip | Bin 0 -> 1626 bytes 34 files changed, 76 insertions(+), 64 deletions(-) rename app-config/firefox/{ => pre-v1.0.0}/grassland-monobiome-dark.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/grassland-monobiome-light.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/monobiome-dark.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/monobiome-light.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/savanna-monobiome-dark.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/savanna-monobiome-light.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/tundra-monobiome-dark.xpi (100%) rename app-config/firefox/{ => pre-v1.0.0}/tundra-monobiome-light.xpi (100%) create mode 100644 app-config/firefox/v1.0.2/monobiome-alpine-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-alpine-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-alpine-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-alpine-light.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-badlands-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-badlands-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-badlands-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-badlands-light.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-chaparral-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-chaparral-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-chaparral-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-chaparral-light.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-grassland-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-grassland-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-grassland-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-grassland-light.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-savanna-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-savanna-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-savanna-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-savanna-light.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-tundra-dark.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-tundra-dark.zip create mode 100644 app-config/firefox/v1.0.2/monobiome-tundra-light.xpi create mode 100644 app-config/firefox/v1.0.2/monobiome-tundra-light.zip diff --git a/DESIGN.md b/DESIGN.md index 57a1816..583c5ae 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1,40 +1,43 @@ # Theme constraints -The following general constraints are followed as palette options are mapped onto -concrete themes: +The following general constraints are followed as palette options are mapped +onto concrete themes: + Harshness levels have monotone differences of a single shade. -+ "Hard" themes anchor their background to the most extreme shade appropriate for the - scheme (i.e., lightest shade for "light," darkest shade for "dark"), ensuring the - palette's "monotone width" is fully spanned by the theme options. -+ App-specific monotone settings have differences of a single shade compared to the - system monotone settings. -+ Shade differences between corresponding background/foreground settings should be - constant (e.g., between `bg0` and `fg3`, `bg1` and `fg2`, etc) ++ "Hard" themes anchor their background to the most extreme shade appropriate + for the scheme (i.e., lightest shade for "light," darkest shade for "dark"), + ensuring the palette's "monotone width" is fully spanned by the theme + options. ++ App-specific monotone settings have differences of a single shade compared to + the system monotone settings. ++ Shade differences between corresponding background/foreground settings should + be constant (e.g., between `bg0` and `fg3`, `bg1` and `fg2`, etc) -The primary goal of these constraints is to ensure each theme in a collection defined -around a single palette is 1) sufficiently _distinct_, 2) attains sufficient _breadth_ -under the palette, and 3) upholds _relative invariance_ under key properties (e.g., -lightness differences). +The primary goal of these constraints is to ensure each theme in a collection +defined around a single palette is 1) sufficiently _distinct_, 2) attains +sufficient _breadth_ under the palette, and 3) upholds _relative invariance_ +under key properties (e.g., lightness differences). ![How themes are created](images/theme_creation.png) ## Example -The following is a natural solution to these constraints, demonstrated on a general -example setting: a possible useful analogy is a sliding window that, on its own spans a -given theme's `bg0-fg0` settings, while globally sliding across all available values -in the palette. If associating integers `0-10` to indices in a list of monotone shades, and -`bg-fg` is the syntax used to indicate that theme's shade range, we might have the -following for dark mode themes across harshness levels: +The following is a natural solution to these constraints, demonstrated on a +general example setting: a possible useful analogy is a sliding window that, on +its own spans a given theme's `bg0-fg0` settings, while globally sliding across +all available values in the palette. If associating integers `0-10` to indices +in a list of monotone shades, and `bg-fg` is the syntax used to indicate that +theme's shade range, we might have the following for dark mode themes across +harshness levels: ``` Dark (system) 0-7 ; 1-8 ; 2-9 Dark (app) 1-8 ; 2-9 ; 3-10 ``` -There are sliding windows at both the system-app level *and* the harshness-level, in a -sense. Constraints are followed: +There are sliding windows at both the system-app level *and* the +harshness-level, in a sense. Constraints are followed: -+ Harshness levels, separated by semicolon, differ by a single shade from hard to soft. ++ Harshness levels, separated by semicolon, differ by a single shade from hard + to soft. + The hard theme anchors its background to the darkest available shade. + Monotones between system and app differ by a single shade. + Differences between bg/fg (value of 7) remains constant across all themes. @@ -64,45 +67,53 @@ App, light ``` # Accent contrast -Each group of biome monotones have nearly identical (WCAG 2) contrast ratios against -white/black for all lightness levels (ratios identical between biomes). These are -selected in a heavily constrained OKLCH context, and given the perceptual uniformity -attached to lightness, we can expect very similar contrast ratios for each accent under -a given biome lightness (e.g., the `l65` red tone will have the same ratio under the -grassland, tundra, and savanna monotones). +Each group of biome monotones have nearly identical (WCAG 2) contrast ratios +against white/black for all lightness levels (ratios identical between biomes). +These are selected in a heavily constrained OKLCH context, and given the +perceptual uniformity attached to lightness, we can expect very similar +contrast ratios for each accent under a given biome lightness (e.g., the `l65` +red tone will have the same ratio under the grassland, tundra, and savanna +monotones). -In terms of selecting accents for themes (by harshness and scheme), what matters is -at what lightness level all accent colors meet/exceed a particular contrast threshold. -Again, the ratios themselves are effectively constant across biome monotones, and thus -dependent entirely on the monotone lightness being used. This of course is determined -primarily by whether the theme is a light or dark one, and what level of harshness is -being used. The following are the relevant values for making a decision. We want to -ensure all accents can reach >4.5 WCAG 2 contrast ratio (the standard requirement for -small text on the web) against all biome monotones for each theme: +In terms of selecting accents for themes (by harshness and scheme), what +matters is at what lightness level all accent colors meet/exceed a particular +contrast threshold. Again, the ratios themselves are effectively constant +across biome monotones, and thus dependent entirely on the monotone lightness +being used. This of course is determined primarily by whether the theme is a +light or dark one, and what level of harshness is being used. The following are +the relevant values for making a decision. We want to ensure all accents can +reach >4.5 WCAG 2 contrast ratio (the standard requirement for small text on +the web) against all biome monotones for each theme: -+ For BG l20 (harsh, dark) -> l65 is min lightness where all accents have CR >=4.5 -+ For BG l25 (regular, dark) -> l65 is min lightness where all accents have CR >=4.5 -+ For BG l30 (soft, dark) -> l70 is min lightness where all accents have CR >=4.5 ++ For BG l20 (harsh, dark) -> l65 is min lightness where all accents have CR + >=4.5 ++ For BG l25 (regular, dark) -> l65 is min lightness where all accents have CR + >=4.5 ++ For BG l30 (soft, dark) -> l70 is min lightness where all accents have CR + >=4.5 -+ For BG l90 (harsh, dark) -> l45 is max lightness where all accents have CR >=4.5 -+ For BG l85 (regular, dark) -> l45 is min lightness where all accents have CR >=4.5 -+ For BG l80 (soft, dark) -> l40 is min lightness where all accents have CR >=4.5 ++ For BG l90 (harsh, dark) -> l45 is max lightness where all accents have CR + >=4.5 ++ For BG l85 (regular, dark) -> l45 is min lightness where all accents have CR + >=4.5 ++ For BG l80 (soft, dark) -> l40 is min lightness where all accents have CR + >=4.5 -For the monotone boundaries (l15 and l95, neither of which are possible backgrounds for -terminal or nvim in the current theme definitions), the relevant lightness levels are -l60 and l50, respectively. - -While not necessary, it feels intuitive for us to shift the accent colors up/down by the -relative change in monotones across harshness levels. This has led to the choice of l60 -accents for the harsh-dark theme, l65 for regular-dark, and l70 for soft-dark. This -technically breaks the 4.5 ratio requirement, though, for the harsh theme, so you -ultimately need to pick one: either soften the contrast constraint, or allow different -harshness levels to use the same accent lightness. I think either is acceptable, but for -now I've gone with the former, loosening the contrast to a ratio of >4.0 with respect to -the background. This allows for the slightly tighter group of accent lightnesses: -l45-l50-l55 for light, l60-l65-l70 for dark. Note that the "center shade" of the l15-l95 -shade group is l55, meaning these groups are very central (the light triplet could move -down by one shade step, but we want these accents to be as bright as we can get away -with; otherwise, they are extremely dull in the light modes, and we thus don't mind bias -toward a brighter lightness). +For the monotone boundaries (l15 and l95, neither of which are possible +backgrounds for terminal or nvim in the current theme definitions), the +relevant lightness levels are l60 and l50, respectively. +While not necessary, it feels intuitive for us to shift the accent colors +up/down by the relative change in monotones across harshness levels. This has +led to the choice of l60 accents for the harsh-dark theme, l65 for +regular-dark, and l70 for soft-dark. This technically breaks the 4.5 ratio +requirement, though, for the harsh theme, so you ultimately need to pick one: +either soften the contrast constraint, or allow different harshness levels to +use the same accent lightness. I think either is acceptable, but for now I've +gone with the former, loosening the contrast to a ratio of >4.0 with respect to +the background. This allows for the slightly tighter group of accent +lightnesses: l45-l50-l55 for light, l60-l65-l70 for dark. Note that the "center +shade" of the l15-l95 shade group is l55, meaning these groups are very central +(the light triplet could move down by one shade step, but we want these accents +to be as bright as we can get away with; otherwise, they are extremely dull in +the light modes, and we thus don't mind bias toward a brighter lightness). diff --git a/THEMES.md b/THEMES.md index 2777463..b83bc41 100644 --- a/THEMES.md +++ b/THEMES.md @@ -1,10 +1,11 @@ # Themes -The currently available theme variants across biomes (`default`, `grassland`, `tundra`, -`savanna`), harshness (`hard`, `default`, `soft`), and scheme (`light`, `dark`) are shown -below, displaying a few lines from a Python file in Neovim. +The currently available theme variants across biomes (`default`, `grassland`, +`tundra`, `savanna`), harshness (`hard`, `default`, `soft`), and scheme +(`light`, `dark`) are shown below, displaying a few lines from a Python file in +Neovim. -You can find the 24 raw screenshots for each theme in `images/theme_caps` under the -repository root (with filenames `--.png`). +You can find the 24 raw screenshots for each theme in `images/theme_caps` under +the repository root (with filenames `--.png`). ## Default (gray) variants ![Default light and dark variants](images/biome_variants/default_variants.png) diff --git a/app-config/firefox/grassland-monobiome-dark.xpi b/app-config/firefox/pre-v1.0.0/grassland-monobiome-dark.xpi similarity index 100% rename from app-config/firefox/grassland-monobiome-dark.xpi rename to app-config/firefox/pre-v1.0.0/grassland-monobiome-dark.xpi diff --git a/app-config/firefox/grassland-monobiome-light.xpi b/app-config/firefox/pre-v1.0.0/grassland-monobiome-light.xpi similarity index 100% rename from app-config/firefox/grassland-monobiome-light.xpi rename to app-config/firefox/pre-v1.0.0/grassland-monobiome-light.xpi diff --git a/app-config/firefox/monobiome-dark.xpi b/app-config/firefox/pre-v1.0.0/monobiome-dark.xpi similarity index 100% rename from app-config/firefox/monobiome-dark.xpi rename to app-config/firefox/pre-v1.0.0/monobiome-dark.xpi diff --git a/app-config/firefox/monobiome-light.xpi b/app-config/firefox/pre-v1.0.0/monobiome-light.xpi similarity index 100% rename from app-config/firefox/monobiome-light.xpi rename to app-config/firefox/pre-v1.0.0/monobiome-light.xpi diff --git a/app-config/firefox/savanna-monobiome-dark.xpi b/app-config/firefox/pre-v1.0.0/savanna-monobiome-dark.xpi similarity index 100% rename from app-config/firefox/savanna-monobiome-dark.xpi rename to app-config/firefox/pre-v1.0.0/savanna-monobiome-dark.xpi diff --git a/app-config/firefox/savanna-monobiome-light.xpi b/app-config/firefox/pre-v1.0.0/savanna-monobiome-light.xpi similarity index 100% rename from app-config/firefox/savanna-monobiome-light.xpi rename to app-config/firefox/pre-v1.0.0/savanna-monobiome-light.xpi diff --git a/app-config/firefox/tundra-monobiome-dark.xpi b/app-config/firefox/pre-v1.0.0/tundra-monobiome-dark.xpi similarity index 100% rename from app-config/firefox/tundra-monobiome-dark.xpi rename to app-config/firefox/pre-v1.0.0/tundra-monobiome-dark.xpi diff --git a/app-config/firefox/tundra-monobiome-light.xpi b/app-config/firefox/pre-v1.0.0/tundra-monobiome-light.xpi similarity index 100% rename from app-config/firefox/tundra-monobiome-light.xpi rename to app-config/firefox/pre-v1.0.0/tundra-monobiome-light.xpi diff --git a/app-config/firefox/v1.0.2/monobiome-alpine-dark.xpi b/app-config/firefox/v1.0.2/monobiome-alpine-dark.xpi new file mode 100644 index 0000000000000000000000000000000000000000..b8df1c90c4d43da93142cf7609367a8b20ea3c21 GIT binary patch literal 1631 zcmb7E&5qMB5Dx4Xq)JE}cz`GuKx&(x{!+1fghMaAuTbPPPGUB(BgeZfLVX0DfcN3d zdm!-uoEY0pYcJcSo62_WeDlpWp2;j1XXjlJVbq(uQBS@&?7eUhcl!amCCwV^zg8q0ijaH**HVM*k5=?Ly zjA!X;G@TCLO|v1+2F-2m?TkOEbt~0^ubQ(Ob3sl~5Tlahw8B)_S_G^2|tYqA}9l=R})RN{mEUq~UnhbKA)@(IVrF;4*C$+)r*IE$&vUQf+dB9JoYPW>WJp zT+Qm6`a$0cagt9eYU2t{AWaxg@jgjmID~83O-3kMKtb{XDy!J1>cN~QObAxR4XzPK zg8kP=TMH@`vDOu5Y;_~6N>xUiKb1*Coo)G#$~GPq*-+%-u>ap8rYTVR}zHC4K<#O@l=_}`W>jg>1)3#mJi0_&jI7h~-pO>)w kfIhyD-u8Dl{?^QKejSV+aU07;=b7XPx# literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-alpine-dark.zip b/app-config/firefox/v1.0.2/monobiome-alpine-dark.zip new file mode 100644 index 0000000000000000000000000000000000000000..b8df1c90c4d43da93142cf7609367a8b20ea3c21 GIT binary patch literal 1631 zcmb7E&5qMB5Dx4Xq)JE}cz`GuKx&(x{!+1fghMaAuTbPPPGUB(BgeZfLVX0DfcN3d zdm!-uoEY0pYcJcSo62_WeDlpWp2;j1XXjlJVbq(uQBS@&?7eUhcl!amCCwV^zg8q0ijaH**HVM*k5=?Ly zjA!X;G@TCLO|v1+2F-2m?TkOEbt~0^ubQ(Ob3sl~5Tlahw8B)_S_G^2|tYqA}9l=R})RN{mEUq~UnhbKA)@(IVrF;4*C$+)r*IE$&vUQf+dB9JoYPW>WJp zT+Qm6`a$0cagt9eYU2t{AWaxg@jgjmID~83O-3kMKtb{XDy!J1>cN~QObAxR4XzPK zg8kP=TMH@`vDOu5Y;_~6N>xUiKb1*Coo)G#$~GPq*-+%-u>ap8rYTVR}zHC4K<#O@l=_}`W>jg>1)3#mJi0_&jI7h~-pO>)w kfIhyD-u8Dl{?^QKejSV+aU07;=b7XPx# literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-alpine-light.xpi b/app-config/firefox/v1.0.2/monobiome-alpine-light.xpi new file mode 100644 index 0000000000000000000000000000000000000000..fd52d572822d7d4b4293fae92e692f8e11a14229 GIT binary patch literal 1626 zcmb7EJ#O1D6jqz01q>AE&;tmXTEMns`L{umr9%cUp1K5uKv|T;Rw4FZX{Qf1f&z>hEB$M3khs zlHKnWqd!}&>(x8aEfy7F)H`>>w)(JLd%bSp={<@{3;?fWl*NRVxPuB#DDD&_%ca4{ z9BYtb2O3hM3|C-e*06(;gh=p&iYP|&ADLhankdALwrE)San=cfpfene!}%bbjDlns z2P51IhLdDI7?1m($7vs@-Rd^;*2drTyi#((7Z;3UA;~ccA_P&;5>shwk&JK14ej0_ zB1sBDGuvKZj*;9@So-FyV8S{b$ygC10TiCd;*Y)Ir0v$jCw;;?ur(}__)f{y*#4mH zn%)4WVx2R^76zlXTMrG8L~$b*7U?)_yQVksMr4!{TqL#onpb<+2e!C(3RYU+5cNG% znsNF{Fse;jGdM1r?T>h&Q>>!A_35s<^%Fz@5YoW@K_Rz?-(NFd1$ zx~cDi&PHUUMJbyv)Wy;_<8TtA=PLIEWqVWi&-S%5UplD_CFXHFyRGI;z_@CyW>x{y zm25q{h1rx7-v$-=zh77IQT1>OdO`KLfC}O+Nh0%0ujjcrR`pE(y(PE3U4=PfZ&*N5yN}dzc=egm0p^{XLDp bHglZ6Tca18#%y}_Msb|L?-6EsrdIy}SPYQb literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-alpine-light.zip b/app-config/firefox/v1.0.2/monobiome-alpine-light.zip new file mode 100644 index 0000000000000000000000000000000000000000..fd52d572822d7d4b4293fae92e692f8e11a14229 GIT binary patch literal 1626 zcmb7EJ#O1D6jqz01q>AE&;tmXTEMns`L{umr9%cUp1K5uKv|T;Rw4FZX{Qf1f&z>hEB$M3khs zlHKnWqd!}&>(x8aEfy7F)H`>>w)(JLd%bSp={<@{3;?fWl*NRVxPuB#DDD&_%ca4{ z9BYtb2O3hM3|C-e*06(;gh=p&iYP|&ADLhankdALwrE)San=cfpfene!}%bbjDlns z2P51IhLdDI7?1m($7vs@-Rd^;*2drTyi#((7Z;3UA;~ccA_P&;5>shwk&JK14ej0_ zB1sBDGuvKZj*;9@So-FyV8S{b$ygC10TiCd;*Y)Ir0v$jCw;;?ur(}__)f{y*#4mH zn%)4WVx2R^76zlXTMrG8L~$b*7U?)_yQVksMr4!{TqL#onpb<+2e!C(3RYU+5cNG% znsNF{Fse;jGdM1r?T>h&Q>>!A_35s<^%Fz@5YoW@K_Rz?-(NFd1$ zx~cDi&PHUUMJbyv)Wy;_<8TtA=PLIEWqVWi&-S%5UplD_CFXHFyRGI;z_@CyW>x{y zm25q{h1rx7-v$-=zh77IQT1>OdO`KLfC}O+Nh0%0ujjcrR`pE(y(PE3U4=PfZ&*N5yN}dzc=egm0p^{XLDp bHglZ6Tca18#%y}_Msb|L?-6EsrdIy}SPYQb literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-badlands-dark.xpi b/app-config/firefox/v1.0.2/monobiome-badlands-dark.xpi new file mode 100644 index 0000000000000000000000000000000000000000..2a5ff54963c053a35e1240d45e0091d9b398091e GIT binary patch literal 1633 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 literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-chaparral-light.zip b/app-config/firefox/v1.0.2/monobiome-chaparral-light.zip new file mode 100644 index 0000000000000000000000000000000000000000..260e07efeb136c057c4aa49f14e189a01e98b909 GIT binary patch literal 1629 zcmb7EOK#gR5LKI`0SpxFq6ZMPY5>{#*^(VJ*|vZ;-Uo$BNtDD^5(SEm0u(+%56}zr zBt1Z{(M`|LA?1&l*sw!Gq)EP+dGp~c=4a;vO^i36KHk~CtS>*$HBEf4;jBazNpZtR zUmIF|ALzQVISKDEYY453Yuz=)#cppnBioQ?6)G_RjFMI~BDBQAI7c;N3>CwIWI69( zJjW6z41gw5q6{}6*X`j1B?;kR3>9I7;%^zF%PJ9wJ1NnVvZ8Eg+xBqc2W~uer@oy` zBHPD~J((u)I0(F1ka{>BHTRjZ7XB>Pm0%3EYDR0!I5~wuh`@`g#1&V$a9VGbcWMth z5pq(HDpTbdt})_U6$-zY7L+N`;gl8;VxYocS@hoV$ENN~0x`K)GQ!faH7w-#LC}?0 zZ))nEXX@^>2Ta*IZ9<#tIB;zXm9tq7#8K4Cg`za@O+Bzp-S_+Wj%1h;TqGOw2bK51 zitfFH1s4dSEH%M-FQ}&VvOZ>5f{q)kc-?dUG^G(`3Em~ifyg_K3zHr6!qgGS;cay9 z+Y-6ZNOs+M6$#REm=B zaXhKk?oGhF8mtyd50lMoJzc`uwG&GP75Tp(w{R&wcL#b#_xJ!EL~lvL^Bco4^c;(R zCjUN^Mb+FGIp_7YWwmWPYP}I)ZTPWh52p!# pyYUv5-_XUk-mCT=`@a#>w7)x{XGCK$zj!5doWbu8tnG!^{Rg!OjynJV literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-grassland-dark.xpi b/app-config/firefox/v1.0.2/monobiome-grassland-dark.xpi new file mode 100644 index 0000000000000000000000000000000000000000..bf210ada28155724a007efdebd32ff5e54ccbe0f GIT binary patch literal 1634 zcmb7E-EPw`6b@_ysRD@$9w5pUNNHmyP1;Rtw;=VV_Y;bo#`$519Xakg4f+VY0`J2O z;z@SH3vlf8CmGA=Tsf|t?|kR;IVWd6J31a1YS^DXUcUNu`{&28VW{~U&Pu}agw}HO zrRMDGz%;GxNq9{~opWZLnXau~?DrNPAxobzQc?g|C1*U!c}a($iAj(UU(i+T~J)Dp@&L#LFMHrFARVw(B#R_q$Em~GilnxO>LqC|fi?KTmQ0zx2 zpcwhncrl(#ywgeI(PUI#r`E>!vtHLqF!-tjuc(muAqqlLbK==%FnzDXt8cZzgp%GUts3Ye zY@03uxQpBtHW8bwDK-z;rsu=NErcXdD-j)1?2l~|2VjMLzirZp43nG|@m9gZa~g3ec^THUB7#W%Umx3A(5VO;U17o(OI206G7d^&_>aoIOLZNp670I`%a_h8 zCvo$AJXEvImjTc9U_I|NGTqTOkC(7EO~vVgitO(D1-w+#-GiRcLq0$sF;{skvvUhu zW=2)k^xvDZVD-6`Nm-pa&T6$9t-KKzspCR_a#Z_qF6Ogm&)*vT-4`Ua#wID+4ASiha9-Cqz)krDs^ literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-grassland-dark.zip b/app-config/firefox/v1.0.2/monobiome-grassland-dark.zip new file mode 100644 index 0000000000000000000000000000000000000000..bf210ada28155724a007efdebd32ff5e54ccbe0f GIT binary patch literal 1634 zcmb7E-EPw`6b@_ysRD@$9w5pUNNHmyP1;Rtw;=VV_Y;bo#`$519Xakg4f+VY0`J2O z;z@SH3vlf8CmGA=Tsf|t?|kR;IVWd6J31a1YS^DXUcUNu`{&28VW{~U&Pu}agw}HO zrRMDGz%;GxNq9{~opWZLnXau~?DrNPAxobzQc?g|C1*U!c}a($iAj(UU(i+T~J)Dp@&L#LFMHrFARVw(B#R_q$Em~GilnxO>LqC|fi?KTmQ0zx2 zpcwhncrl(#ywgeI(PUI#r`E>!vtHLqF!-tjuc(muAqqlLbK==%FnzDXt8cZzgp%GUts3Ye zY@03uxQpBtHW8bwDK-z;rsu=NErcXdD-j)1?2l~|2VjMLzirZp43nG|@m9gZa~g3ec^THUB7#W%Umx3A(5VO;U17o(OI206G7d^&_>aoIOLZNp670I`%a_h8 zCvo$AJXEvImjTc9U_I|NGTqTOkC(7EO~vVgitO(D1-w+#-GiRcLq0$sF;{skvvUhu zW=2)k^xvDZVD-6`Nm-pa&T6$9t-KKzspCR_a#Z_qF6Ogm&)*vT-4`Ua#wID+4ASiha9-Cqz)krDs^ literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-grassland-light.xpi b/app-config/firefox/v1.0.2/monobiome-grassland-light.xpi new file mode 100644 index 0000000000000000000000000000000000000000..724e169b9a47c3949e1e8f81062b6f3609950b4b GIT binary patch literal 1629 zcmb7E-ENyO6lQC?Ns%V)V%HPmYLgN$5J+0Bz1_6jd1C%zH`oZethP$v-5$WhWq97?fc=w*Wc%cq2?R7D>0)fsipnB z=IrOdG_B1|bVo!@IkT=zZ>T=(&X#Kq8glG^oMX03(4>3yXbgRM&NiU>(hVGv>Pf|Z2HJ{QTWt@2jwK_?P z$`4?=9bhWfX;a!f_P1WLcKoZBDT=bNN0G{|mGn{tuEy*aQq)0aA4=V41d%E`$ zR$L&6y3`csy`YL$%j%e64LWX+$*SZ0X-Z=*60%DYx`h0=5PH`|oiMcoa(El<`#3SD zF_)5;QB5i=u;fS0Y-&MgBWkHdDPJsAVd=^^p2X-W%L7jJt*QF!+uEBiom7sK_HjI^ z*7i-nx*DwJy&k5U*?M^md)rQ&KB&n5{knmVYI-}+GrGqo=pbf86PaIIu4U##^)vnV zzARXMZRJu{SB}#(jotV*7n$QhXL3~Iac<_b7cbu#hZ`?Y>Wod()ou8(Xa{E~f7|gE mwm;Ctx8C>dJ@$ViW*84Up=U&6KD&6ObezHOFYL{QI{gQ$E{@9p literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-grassland-light.zip b/app-config/firefox/v1.0.2/monobiome-grassland-light.zip new file mode 100644 index 0000000000000000000000000000000000000000..724e169b9a47c3949e1e8f81062b6f3609950b4b GIT binary patch literal 1629 zcmb7E-ENyO6lQC?Ns%V)V%HPmYLgN$5J+0Bz1_6jd1C%zH`oZethP$v-5$WhWq97?fc=w*Wc%cq2?R7D>0)fsipnB z=IrOdG_B1|bVo!@IkT=zZ>T=(&X#Kq8glG^oMX03(4>3yXbgRM&NiU>(hVGv>Pf|Z2HJ{QTWt@2jwK_?P z$`4?=9bhWfX;a!f_P1WLcKoZBDT=bNN0G{|mGn{tuEy*aQq)0aA4=V41d%E`$ zR$L&6y3`csy`YL$%j%e64LWX+$*SZ0X-Z=*60%DYx`h0=5PH`|oiMcoa(El<`#3SD zF_)5;QB5i=u;fS0Y-&MgBWkHdDPJsAVd=^^p2X-W%L7jJt*QF!+uEBiom7sK_HjI^ z*7i-nx*DwJy&k5U*?M^md)rQ&KB&n5{knmVYI-}+GrGqo=pbf86PaIIu4U##^)vnV zzARXMZRJu{SB}#(jotV*7n$QhXL3~Iac<_b7cbu#hZ`?Y>Wod()ou8(Xa{E~f7|gE mwm;Ctx8C>dJ@$ViW*84Up=U&6KD&6ObezHOFYL{QI{gQ$E{@9p literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-savanna-dark.xpi b/app-config/firefox/v1.0.2/monobiome-savanna-dark.xpi new file mode 100644 index 0000000000000000000000000000000000000000..f0dd1d6a36981347bbbfe878fbf9cbf07bab78bc GIT binary patch literal 1632 zcmb7EOK#gR5LKI`1q>AEqPuPcty;jgKK{rKl5AVR8*huC5Gae1*hr*6(RPr+N9YZD zpKiPCA&Q=%L((5HjZ#MjNt1f>=FJQ>^V!L1$CA(6j~}i-T~xompIVk2ui&gil%%*8 z{Vz46Upuz#>`tN;<~3o|Ik$tZd~w)2e&2J{8AT-qfKxKcV!}$?tI-Nkih2p+HyR^y ztU!_-Xh?}NT!WF`!wE_fBEStM=rYwl#=I zkb=<6wCA|ONbD&LeG67FZe&L=R>X({g~PM>T^Mw2ImV;+D!nSIEhZB9R%%tizze%} z;ElVsKbS$6TB~y??X=YgP2q lKcJECqc{ECkAG)oS-%fPPsql6cJ@MYoWSoVtaoQ}_ZQAPkA?sM literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-savanna-dark.zip b/app-config/firefox/v1.0.2/monobiome-savanna-dark.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0dd1d6a36981347bbbfe878fbf9cbf07bab78bc GIT binary patch literal 1632 zcmb7EOK#gR5LKI`1q>AEqPuPcty;jgKK{rKl5AVR8*huC5Gae1*hr*6(RPr+N9YZD zpKiPCA&Q=%L((5HjZ#MjNt1f>=FJQ>^V!L1$CA(6j~}i-T~xompIVk2ui&gil%%*8 z{Vz46Upuz#>`tN;<~3o|Ik$tZd~w)2e&2J{8AT-qfKxKcV!}$?tI-Nkih2p+HyR^y ztU!_-Xh?}NT!WF`!wE_fBEStM=rYwl#=I zkb=<6wCA|ONbD&LeG67FZe&L=R>X({g~PM>T^Mw2ImV;+D!nSIEhZB9R%%tizze%} z;ElVsKbS$6TB~y??X=YgP2q lKcJECqc{ECkAG)oS-%fPPsql6cJ@MYoWSoVtaoQ}_ZQAPkA?sM literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-savanna-light.xpi b/app-config/firefox/v1.0.2/monobiome-savanna-light.xpi new file mode 100644 index 0000000000000000000000000000000000000000..15047e29d5c8ab514945fbef8b1e9f6c8820b594 GIT binary patch literal 1627 zcmb7EO^(wr6b{S`NR^OSaDXUc0aDxiv`yL(Ghzo)H{Fj={#-9`}xyd^eg=M^U|_pdj)G1q9ntO z=znb({ob){XS)(FF>eT?&b1wM<;H&Q_)+A@BGoEYi~OLy*gnP*aj90d@toH>|ofn zWedhFV8%B|lWc((!L}Cy<)jS~C~4)wAdP~qEn7Hhk#4dqq-F+&I2t7g*La_4mFiX>;Qg zLe$r;yIQUKt3jXf+zp^Ixw7!Mx3lT9=WndzWfvs1zHP}>Mfjm<3unoA_4gWv-%!JM h(VPAr#=kYQtiOAsC!EG?di6qbT)^)SjEgHd`wvrYjl}=} literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-savanna-light.zip b/app-config/firefox/v1.0.2/monobiome-savanna-light.zip new file mode 100644 index 0000000000000000000000000000000000000000..15047e29d5c8ab514945fbef8b1e9f6c8820b594 GIT binary patch literal 1627 zcmb7EO^(wr6b{S`NR^OSaDXUc0aDxiv`yL(Ghzo)H{Fj={#-9`}xyd^eg=M^U|_pdj)G1q9ntO z=znb({ob){XS)(FF>eT?&b1wM<;H&Q_)+A@BGoEYi~OLy*gnP*aj90d@toH>|ofn zWedhFV8%B|lWc((!L}Cy<)jS~C~4)wAdP~qEn7Hhk#4dqq-F+&I2t7g*La_4mFiX>;Qg zLe$r;yIQUKt3jXf+zp^Ixw7!Mx3lT9=WndzWfvs1zHP}>Mfjm<3unoA_4gWv-%!JM h(VPAr#=kYQtiOAsC!EG?di6qbT)^)SjEgHd`wvrYjl}=} literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-tundra-dark.xpi b/app-config/firefox/v1.0.2/monobiome-tundra-dark.xpi new file mode 100644 index 0000000000000000000000000000000000000000..12e7ef0ed39e0367eb0c25187ecbd0e7f277a1da GIT binary patch literal 1631 zcmb7E-ENyO6lQC?Ns%f|+8zLLwMj`Z5FoAA-fmKEvg>L>CK&JvHZo4rYRb*-_XK;N zUGF_6?HP7#@&jGzQX<>2`ObGfpL00#+0pU9P*3>r!`11x*PnhI8-^OEa8_bQQ&P+E zmzuM$1Jks&C(#WNHRa4YH{GFnvEN(H7+Ly^;gSHrDmmjZ^K`CghqZ4x{HZB4N&68C?F2< zr^#XxhTd72dL$j!H<`6D{;b!vQVYH+!7CypJw!o-3!1T#Fxk~2d9@>NXnQXaNm@{r zb?pVI2$nmFj=lvixadSja$dw(0EH#8_-!y9nxPA0`c8*e-)e)2B)L^uHPA(Xa!~-2 zRTfY^2ub?3c&%SF&7EhCCPCRM96`_IxcF3sS%LVEQiXv^Y(>2|i6Uc%Zm6}t;6@;~1%;iVex9`uAB@*et#xuS{8FD%D0bE2}Q z|K64bt1qlv%Ie&Y!~{It=f-$IiEdy{>JEUy&$ReY}>AG#P>~GI78jH pd0xTt6Z-h>_FaGX@4q!OjNf~sCq!dDJ9(ivj^OtT*1Hq6`wRP>jfemM literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-tundra-dark.zip b/app-config/firefox/v1.0.2/monobiome-tundra-dark.zip new file mode 100644 index 0000000000000000000000000000000000000000..12e7ef0ed39e0367eb0c25187ecbd0e7f277a1da GIT binary patch literal 1631 zcmb7E-ENyO6lQC?Ns%f|+8zLLwMj`Z5FoAA-fmKEvg>L>CK&JvHZo4rYRb*-_XK;N zUGF_6?HP7#@&jGzQX<>2`ObGfpL00#+0pU9P*3>r!`11x*PnhI8-^OEa8_bQQ&P+E zmzuM$1Jks&C(#WNHRa4YH{GFnvEN(H7+Ly^;gSHrDmmjZ^K`CghqZ4x{HZB4N&68C?F2< zr^#XxhTd72dL$j!H<`6D{;b!vQVYH+!7CypJw!o-3!1T#Fxk~2d9@>NXnQXaNm@{r zb?pVI2$nmFj=lvixadSja$dw(0EH#8_-!y9nxPA0`c8*e-)e)2B)L^uHPA(Xa!~-2 zRTfY^2ub?3c&%SF&7EhCCPCRM96`_IxcF3sS%LVEQiXv^Y(>2|i6Uc%Zm6}t;6@;~1%;iVex9`uAB@*et#xuS{8FD%D0bE2}Q z|K64bt1qlv%Ie&Y!~{It=f-$IiEdy{>JEUy&$ReY}>AG#P>~GI78jH pd0xTt6Z-h>_FaGX@4q!OjNf~sCq!dDJ9(ivj^OtT*1Hq6`wRP>jfemM literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-tundra-light.xpi b/app-config/firefox/v1.0.2/monobiome-tundra-light.xpi new file mode 100644 index 0000000000000000000000000000000000000000..3220a71b6684875ec5e5958dc3d2f2fe9b2a8fd9 GIT binary patch literal 1626 zcmb7E-ENyO6lQC?Ns%V)Vh@10+N2~H2#{25Z#OA7xvwTgOI<~!f{j*oq2)3fuQA=}lL&$mAZ4?ljL8;0!fV6Vg#O-Un$ z-x^ju^i0#*>_m5jHe8E3#D5x2^sV`azL03kH+gV3Fi+;M;sKSlv@ zkUvi5qcHR)Vd{}|*xY5-+W4!QS5hwcsyV9(7xWYb5r!zLl2k(1B3Qj8Z)pz(5eZt* zD%0&bsR6zcDUyx*gXCSX#=Tdt z)B=a7?wQoQ7gV!)Q6F=xK*t?cqV5EL8fnaULUu`V5ah>!qjy}?Ii^-X4sWAl%i+=+GM?EkR3=*%9{XlCef9c-ak%P&q)yvZTvdagns#u8jJIv? mVfqavd>g&)?`ixSGsF11GkU>k%%&G_B*z*2{=h6Q(O literal 0 HcmV?d00001 diff --git a/app-config/firefox/v1.0.2/monobiome-tundra-light.zip b/app-config/firefox/v1.0.2/monobiome-tundra-light.zip new file mode 100644 index 0000000000000000000000000000000000000000..3220a71b6684875ec5e5958dc3d2f2fe9b2a8fd9 GIT binary patch literal 1626 zcmb7E-ENyO6lQC?Ns%V)Vh@10+N2~H2#{25Z#OA7xvwTgOI<~!f{j*oq2)3fuQA=}lL&$mAZ4?ljL8;0!fV6Vg#O-Un$ z-x^ju^i0#*>_m5jHe8E3#D5x2^sV`azL03kH+gV3Fi+;M;sKSlv@ zkUvi5qcHR)Vd{}|*xY5-+W4!QS5hwcsyV9(7xWYb5r!zLl2k(1B3Qj8Z)pz(5eZt* zD%0&bsR6zcDUyx*gXCSX#=Tdt z)B=a7?wQoQ7gV!)Q6F=xK*t?cqV5EL8fnaULUu`V5ah>!qjy}?Ii^-X4sWAl%i+=+GM?EkR3=*%9{XlCef9c-ak%P&q)yvZTvdagns#u8jJIv? mVfqavd>g&)?`ixSGsF11GkU>k%%&G_B*z*2{=h6Q(O literal 0 HcmV?d00001