325 lines
11 KiB
CSS
325 lines
11 KiB
CSS
/* ==UserStyle==
|
|
@name Proton Catppuccin
|
|
@namespace github.com/catppuccin/userstyles/styles/proton
|
|
@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/proton
|
|
@version 0.1.3
|
|
@description Soothing pastel theme for Proton services
|
|
@author Catppuccin
|
|
@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/proton/catppuccin.user.css
|
|
@license MIT
|
|
|
|
@preprocessor less
|
|
@var select flavor "Flavor" ["latte:Latte", "frappe:Frappe", "macchiato:Macchiato", "mocha:Mocha*"]
|
|
@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"]
|
|
==/UserStyle== */
|
|
@-moz-document regexp("https://(account|mail|drive|calendar).proton.me/.*$")
|
|
{
|
|
:root {
|
|
#catppuccin(@flavor, @accentColor);
|
|
}
|
|
|
|
@catppuccin: {
|
|
@latte: {
|
|
@rosewater: #dc8a78;
|
|
@flamingo: #dd7878;
|
|
@pink: #ea76cb;
|
|
@mauve: #8839ef;
|
|
@red: #d20f39;
|
|
@maroon: #e64553;
|
|
@peach: #fe640b;
|
|
@yellow: #df8e1d;
|
|
@green: #40a02b;
|
|
@teal: #179299;
|
|
@sky: #04a5e5;
|
|
@sapphire: #209fb5;
|
|
@blue: #1e66f5;
|
|
@lavender: #7287fd;
|
|
@text: #4c4f69;
|
|
@subtext1: #5c5f77;
|
|
@subtext0: #6c6f85;
|
|
@overlay2: #7c7f93;
|
|
@overlay1: #8c8fa1;
|
|
@overlay0: #9ca0b0;
|
|
@surface2: #acb0be;
|
|
@surface1: #bcc0cc;
|
|
@surface0: #ccd0da;
|
|
@base: #eff1f5;
|
|
@mantle: #e6e9ef;
|
|
@crust: #dce0e8;
|
|
};
|
|
@frappe: {
|
|
@rosewater: #f2d5cf;
|
|
@flamingo: #eebebe;
|
|
@pink: #f4b8e4;
|
|
@mauve: #ca9ee6;
|
|
@red: #e78284;
|
|
@maroon: #ea999c;
|
|
@peach: #ef9f76;
|
|
@yellow: #e5c890;
|
|
@green: #a6d189;
|
|
@teal: #81c8be;
|
|
@sky: #99d1db;
|
|
@sapphire: #85c1dc;
|
|
@blue: #8caaee;
|
|
@lavender: #babbf1;
|
|
@text: #c6d0f5;
|
|
@subtext1: #b5bfe2;
|
|
@subtext0: #a5adce;
|
|
@overlay2: #949cbb;
|
|
@overlay1: #838ba7;
|
|
@overlay0: #737994;
|
|
@surface2: #626880;
|
|
@surface1: #51576d;
|
|
@surface0: #414559;
|
|
@base: #303446;
|
|
@mantle: #292c3c;
|
|
@crust: #232634;
|
|
};
|
|
@macchiato: {
|
|
@rosewater: #f4dbd6;
|
|
@flamingo: #f0c6c6;
|
|
@pink: #f5bde6;
|
|
@mauve: #c6a0f6;
|
|
@red: #ed8796;
|
|
@maroon: #ee99a0;
|
|
@peach: #f5a97f;
|
|
@yellow: #eed49f;
|
|
@green: #a6da95;
|
|
@teal: #8bd5ca;
|
|
@sky: #91d7e3;
|
|
@sapphire: #7dc4e4;
|
|
@blue: #8aadf4;
|
|
@lavender: #b7bdf8;
|
|
@text: #cad3f5;
|
|
@subtext1: #b8c0e0;
|
|
@subtext0: #a5adcb;
|
|
@overlay2: #939ab7;
|
|
@overlay1: #8087a2;
|
|
@overlay0: #6e738d;
|
|
@surface2: #5b6078;
|
|
@surface1: #494d64;
|
|
@surface0: #363a4f;
|
|
@base: #24273a;
|
|
@mantle: #1e2030;
|
|
@crust: #181926;
|
|
};
|
|
@mocha: {
|
|
@rosewater: #f5e0dc;
|
|
@flamingo: #f2cdcd;
|
|
@pink: #f5c2e7;
|
|
@mauve: #cba6f7;
|
|
@red: #f38ba8;
|
|
@maroon: #eba0ac;
|
|
@peach: #fab387;
|
|
@yellow: #f9e2af;
|
|
@green: #a6e3a1;
|
|
@teal: #94e2d5;
|
|
@sky: #89dceb;
|
|
@sapphire: #74c7ec;
|
|
@blue: #89b4fa;
|
|
@lavender: #b4befe;
|
|
@text: #cdd6f4;
|
|
@subtext1: #bac2de;
|
|
@subtext0: #a6adc8;
|
|
@overlay2: #9399b2;
|
|
@overlay1: #7f849c;
|
|
@overlay0: #6c7086;
|
|
@surface2: #585b70;
|
|
@surface1: #45475a;
|
|
@surface0: #313244;
|
|
@base: #1e1e2e;
|
|
@mantle: #181825;
|
|
@crust: #11111b;
|
|
};
|
|
};
|
|
|
|
#catppuccin(@lookup, @accent) {
|
|
@rosewater: @catppuccin[@@lookup][@rosewater];
|
|
@flamingo: @catppuccin[@@lookup][@flamingo];
|
|
@pink: @catppuccin[@@lookup][@pink];
|
|
@mauve: @catppuccin[@@lookup][@mauve];
|
|
@red: @catppuccin[@@lookup][@red];
|
|
@maroon: @catppuccin[@@lookup][@maroon];
|
|
@peach: @catppuccin[@@lookup][@peach];
|
|
@yellow: @catppuccin[@@lookup][@yellow];
|
|
@green: @catppuccin[@@lookup][@green];
|
|
@teal: @catppuccin[@@lookup][@teal];
|
|
@sky: @catppuccin[@@lookup][@sky];
|
|
@sapphire: @catppuccin[@@lookup][@sapphire];
|
|
@blue: @catppuccin[@@lookup][@blue];
|
|
@lavender: @catppuccin[@@lookup][@lavender];
|
|
@text: @catppuccin[@@lookup][@text];
|
|
@subtext1: @catppuccin[@@lookup][@subtext1];
|
|
@subtext0: @catppuccin[@@lookup][@subtext0];
|
|
@overlay2: @catppuccin[@@lookup][@overlay2];
|
|
@overlay1: @catppuccin[@@lookup][@overlay1];
|
|
@overlay0: @catppuccin[@@lookup][@overlay0];
|
|
@surface2: @catppuccin[@@lookup][@surface2];
|
|
@surface1: @catppuccin[@@lookup][@surface1];
|
|
@surface0: @catppuccin[@@lookup][@surface0];
|
|
@base: @catppuccin[@@lookup][@base];
|
|
@mantle: @catppuccin[@@lookup][@mantle];
|
|
@crust: @catppuccin[@@lookup][@crust];
|
|
@accent-Color: @catppuccin[@@lookup][@@accent];
|
|
|
|
svg.logo {
|
|
@accentH: hue(@accent-Color);
|
|
@protonH: hue(#6d4aff);
|
|
|
|
.replaceColor(@org, @property) {
|
|
&[@{property}="@{org}"] {
|
|
@hDiff: @protonH - hue(@org);
|
|
@{property}: hsl(
|
|
@accentH - @hDiff,
|
|
saturation(@org) - 30%,
|
|
lightness(@org)
|
|
);
|
|
}
|
|
}
|
|
|
|
/* prettier-ignore */
|
|
> path {
|
|
.replaceColor(#B8D7FF, fill);
|
|
.replaceColor(#8F69FF, fill);
|
|
}
|
|
|
|
/* prettier-ignore */
|
|
> defs stop {
|
|
.replaceColor(#E3D9FF, stop-color);
|
|
.replaceColor(#7341FF, stop-color);
|
|
.replaceColor(#6D4AFF, stop-color);
|
|
.replaceColor(#AA8EFF, stop-color);
|
|
.replaceColor(#06B8FF, stop-color);
|
|
.replaceColor(#BFE8FF, stop-color);
|
|
.replaceColor(#BFABFF, stop-color);
|
|
.replaceColor(#FF50C3, stop-color);
|
|
.replaceColor(#B487FF, stop-color);
|
|
.replaceColor(#FFC8FF, stop-color);
|
|
.replaceColor(#8EFFEE, stop-color);
|
|
.replaceColor(#C9C7FF, stop-color);
|
|
.replaceColor(#00F0C3, stop-color);
|
|
.replaceColor(#FFD580, stop-color);
|
|
.replaceColor(#F6C592, stop-color);
|
|
.replaceColor(#EBB6A2, stop-color);
|
|
.replaceColor(#DFA5AF, stop-color);
|
|
.replaceColor(#D397BE, stop-color);
|
|
.replaceColor(#C486CB, stop-color);
|
|
.replaceColor(#B578D9, stop-color);
|
|
.replaceColor(#A166E5, stop-color);
|
|
.replaceColor(#8B57F2, stop-color);
|
|
.replaceColor(#704CFF, stop-color);
|
|
.replaceColor(#B39FFB, stop-color);
|
|
.replaceColor(#FFE8DB, stop-color);
|
|
}
|
|
}
|
|
|
|
&,
|
|
.ui-prominent,
|
|
.ui-standard {
|
|
.lightenOrDarken(@color, @value) {
|
|
@result: if(
|
|
@flavor=latte,
|
|
lighten(@color, @value),
|
|
darken(@color, @value)
|
|
);
|
|
}
|
|
|
|
--primary: @accent-Color;
|
|
--primary-contrast: @mantle;
|
|
--signal-danger-minor-2: .lightenOrDarken(@maroon, 40%) [ @result];
|
|
--signal-danger-minor-1: .lightenOrDarken(@maroon, 30%) [ @result];
|
|
--signal-danger: @maroon;
|
|
--signal-danger-major-1: saturate(@maroon, 40%);
|
|
--signal-danger-major-2: saturate(@maroon, 30%);
|
|
--signal-danger-major-3: saturate(@maroon, 20%);
|
|
--signal-danger-contrast: @mantle;
|
|
--signal-warning-minor-2: .lightenOrDarken(@peach, 40%) [ @result];
|
|
--signal-warning-minor-1: .lightenOrDarken(@peach, 30%) [ @result];
|
|
--signal-warning: @peach;
|
|
--signal-warning-major-1: saturate(@peach, 40%);
|
|
--signal-warning-major-2: saturate(@peach, 30%);
|
|
--signal-warning-major-3: saturate(@peach, 20%);
|
|
--signal-warning-contrast: @mantle;
|
|
--signal-success-minor-2: .lightenOrDarken(@green, 40%) [ @result];
|
|
--signal-success-minor-1: .lightenOrDarken(@green, 30%) [ @result];
|
|
--signal-success: @green;
|
|
--signal-success-major-1: saturate(@green, 40%);
|
|
--signal-success-major-2: saturate(@green, 30%);
|
|
--signal-success-major-3: saturate(@green, 20%);
|
|
--signal-success-contrast: @mantle;
|
|
--signal-info-minor-2: .lightenOrDarken(@blue, 40%) [ @result];
|
|
--signal-info-minor-1: .lightenOrDarken(@blue, 30%) [ @result];
|
|
--signal-info: @blue;
|
|
--signal-info-major-1: saturate(@blue, 40%);
|
|
--signal-info-major-2: saturate(@blue, 30%);
|
|
--signal-info-major-3: saturate(@blue, 20%);
|
|
--signal-info-contrast: @mantle;
|
|
--interaction-norm-minor-2: .lightenOrDarken(@accent-Color, 40%) [
|
|
@result];
|
|
--interaction-norm-minor-1: .lightenOrDarken(@accent-Color, 30%) [
|
|
@result];
|
|
--interaction-norm: @accent-Color;
|
|
--interaction-norm-major-1: saturate(@accent-Color, 30%);
|
|
--interaction-norm-major-2: saturate(@accent-Color, 20%);
|
|
--interaction-norm-major-3: saturate(@accent-Color, 10%);
|
|
--interaction-norm-contrast: @mantle;
|
|
--interaction-weak-minor-2: darken(@surface0, 50%);
|
|
--interaction-weak-minor-1: darken(@surface0, 30%);
|
|
--interaction-weak: @surface0;
|
|
--interaction-weak-major-1: lighten(@surface0, 10%);
|
|
--interaction-weak-major-2: lighten(@surface0, 20%);
|
|
--interaction-weak-major-3: lighten(@surface0, 30%);
|
|
--interaction-weak-contrast: @text;
|
|
--text-norm: @text;
|
|
--text-weak: @subtext0;
|
|
--text-hint: @subtext1;
|
|
--text-disabled: @overlay1;
|
|
--text-invert: @crust;
|
|
--field-norm: @overlay2;
|
|
--field-hover: @overlay1;
|
|
--field-disabled: @overlay0;
|
|
--field-focus: @accent-Color;
|
|
--field-highlight: fadeout(@accent-Color, 30%);
|
|
--focus-outline: @accent-Color;
|
|
--focus-ring: fadeout(@accent-Color, 60%);
|
|
--border-norm: @overlay0;
|
|
--border-weak: @overlay1;
|
|
--background-norm: @base;
|
|
--background-weak: @mantle;
|
|
--background-strong: @crust;
|
|
--background-invert: @text;
|
|
--interaction-default: transparent;
|
|
--interaction-default-hover: fadeout(@overlay1, 80%);
|
|
--interaction-default-active: fadeout(@overlay1, 60%);
|
|
--shadow-norm-opacity: 0.5;
|
|
--shadow-lifted-opacity: 0.75;
|
|
--backdrop-norm: fadeout(@crust, 50%);
|
|
--optional-scrollbar-thumb-color: @surface0;
|
|
--optional-scrollbar-thumb-hover-color: @surface2;
|
|
--optional-link-norm: var(--interaction-norm-major-1);
|
|
--optional-link-hover: var(--interaction-norm-major-2);
|
|
--optional-link-active: var(--interaction-norm-major-3);
|
|
--optional-email-item-unread-background-color: var(--background-weak);
|
|
--optional-email-item-read-background-color: var(--background-norm);
|
|
--optional-email-item-read-text-color: var(--text-weak);
|
|
--optional-mini-calendar-today-color: @text;
|
|
--optional-logo-text-proton-color: @text;
|
|
--optional-logo-text-product-color: @text;
|
|
--favorite-icon-color: @peach;
|
|
}
|
|
|
|
.ui-prominent {
|
|
--background-norm: @mantle;
|
|
--background-weak: @base;
|
|
--background-strong: @crust;
|
|
}
|
|
|
|
.item-container-row:not(.item-is-selected):hover,
|
|
.item-container:not(.item-is-selected):hover {
|
|
box-shadow: none;
|
|
background-color: var(--navigation-current-item-background-color);
|
|
color: var(--email-item-unread-text-color);
|
|
}
|
|
}
|
|
}
|