/* ==UserStyle==
@name           Proton Catppuccin
@namespace      github.com/catppuccin/userstyles/styles/proton
@version        0.1.1
@description    Soothing pastel theme for Proton services
@author         Catppuccin
@preprocessor   less
@var select Theme "Theme" ["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(@Theme, @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];

    &,
    .ui-prominent,
    .ui-standard {
      --primary: @accent-Color;
      --primary-contrast: @mantle;
      --signal-danger-minor-2: darken(@maroon, 50%);
      --signal-danger-minor-1: darken(@maroon, 30%);
      --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: darken(@peach, 50%);
      --signal-warning-minor-1: darken(@peach, 30%);
      --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: darken(@green, 50%);
      --signal-success-minor-1: darken(@green, 30%);
      --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: darken(@blue, 50%);
      --signal-info-minor-1: darken(@blue, 30%);
      --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: darken(@accent-Color, 50%);
      --interaction-norm-minor-1: darken(@accent-Color, 30%);
      --interaction-norm: @accent-Color;
      --interaction-norm-major-1: lighten(@accent-Color, 30%);
      --interaction-norm-major-2: lighten(@accent-Color, 20%);
      --interaction-norm-major-3: lighten(@accent-Color, 10%);
      --interaction-norm-contrast: @mantle;
      --interaction-weak-minor-2: darken(@overlay0, 50%);
      --interaction-weak-minor-1: darken(@overlay0, 30%);
      --interaction-weak: @overlay0;
      --interaction-weak-major-1: lighten(@overlay0, 10%);
      --interaction-weak-major-2: lighten(@overlay0, 20%);
      --interaction-weak-major-3: lighten(@overlay0, 30%);
      --interaction-weak-contrast: @text;
      --text-norm: @text;
      --text-weak: @subtext0;
      --text-hint: @subtext1;
      --text-disabled: @overlay1;
      --text-invert: invert(@text);
      --field-norm: @overlay2;
      --field-hover: @overlay1;
      --field-disabled: @overlay0;
      --field-focus: @accent-Color;
      --field-highlight: fadeout(@accent-Color, 30%);
      --border-norm: @overlay0;
      --border-weak: @overlay1;
      --background-norm: @base;
      --background-weak: @mantle;
      --background-strong: @crust;
      --interaction-default: transparent;
      --interaction-default-hover: fadeout(@accent-Color, 30%);
      --interaction-default-active: fadeout(@accent-Color, 40%);
      --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;
      --optional-tooltip-background-color: var(--background-weak);
      --favorite-icon-color: var(--optional-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-selected-text-color);
    }
  }
}