2023-07-25 00:46:23 +00:00

763 lines
21 KiB
CSS

/* ==UserStyle==
@name WhatsApp Web Catppuccin
@namespace github.com/catppuccin/userstyles/styles/whatsapp-web
@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/whatsapp-web
@version 0.0.2
@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/whatsapp-web/catppuccin.user.css
@description Soothing pastel theme for WhatsApp Web
@author Catppuccin
@license MIT
@preprocessor less
@var select flavor "Flavor" ["latte:Latte*", "frappe:Frappé", "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:Grey"]
@var checkbox lighterMessages "Lighter incoming messages" 0
==/UserStyle== */
@-moz-document domain("web.whatsapp.com") {
@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;
};
};
:root {
#catppuccin(@flavor, @accentColor);
}
@color: red;
#rgbify(@color) {
@rgb-raw: red(@color) green(@color) blue(@color);
}
#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];
.dark {
.landing-wrapper-before {
background-color: @accent-color !important;
}
/* STATUS PAGE */
--status-background: @base !important;
.bfsx6evv {
background-color: @mantle !important;
}
--modal-backdrop-solid: @base !important;
/* join group pop up */
--modal-background: @base !important;
/* startup progress */
--progress-primary: @accent-color !important;
--progress-background: @surface1 !important;
--startup-background: @base !important;
--startup-background-rgb: #rgbify(@base) [];
/* home page, no chat selected */
--intro-background: @base !important;
--intro-border: @accent-color !important;
/* general background */
--app-background: @base !important;
/* CHAT LIST */
/* chat list background */
--background-default: @base !important;
/* chat list header */
--panel-header-background: @mantle !important;
/* icons */
--panel-header-icon: @text !important;
/* other warnings (notifications) */
--butterbar-default-background: @mantle !important;
--butterbar-notification-icon: @sky !important;
/* loading messages warning */
--butterbar-green-nux-background: @mantle !important;
/* update available warning */
--butterbar-update-background: @mantle !important;
--butterbar-update-icon: @accent-color !important;
/* chat list search bar */
--search-container-background: @base !important;
--search-input-container-background: @base !important;
--search-input-background: @surface0 !important;
--search-input-container-background-active: @mantle !important;
--icon-search-back: @accent-color !important;
/* archive icon */
--icon-bright-highlight: @accent-color !important;
/* archived unread marker */
--unread-marker-background: @accent-color !important;
--unread-timestamp: @accent-color !important;
/* archived chats header */
--archived-chat-persistent-header-background: @crust !important;
/* unread voice message */
--ptt-green: @green !important;
/* read voice message */
--ptt-blue: @blue !important;
/* pinned chat icon */
--icon-pinned: @accent-color !important;
/* last message in selected chat */
--secondary-stronger: @subtext1 !important;
/* background for active and hover chats in chat list */
--background-default-active: @surface1 !important;
--background-default-hover: @surface0 !important;
/* unread chats filter */
--icon-high-emphasis: @green !important;
.p7idzaix {
color: @crust !important;
}
/* voice message playing */
--ptt-ooc-background: @mantle !important;
/* CONVERSATION */
/* chat background */
--conversation-panel-background: @mantle !important;
/* MESSAGES */
/* background for incoming and outgoing messages */
& when (@lighterMessages=1) {
--incoming-background: @surface1 !important;
}
& when (@lighterMessages=0) {
--incoming-background: @base !important;
}
--outgoing-background: @surface0 !important;
/* read double tick */
--icon-ack: @blue !important;
/* received double tick */
--bubble-meta-icon: @subtext0 !important;
/* message timestamp */
--bubble-meta: @text !important;
--message-primary: @text !important;
/* POLL */
/* creation */
--poll-modal-background-color: @base !important;
--poll-modal-footer-background-color: @surface0 !important;
/* votes */
--poll-bar-fill-receiver: @green !important;
--poll-bar-fill-sender: @green !important;
--checkbox-mark: @crust !important;
/* audio duration */
--audio-progress-metadata: @subtext0 !important;
/* system messages (unread or day messages in chats) */
--system-message-text: @text !important;
--system-message-background: @crust !important;
/* unread system message background */
--unread-background: @crust !important;
--unread-bar-background: @surface1 !important;
/* meta data for documents */
--document-meta: @subtext1 !important;
/* mentions, links and link previews */
--mention-at-symbol: @sapphire !important;
--link: @sapphire !important;
--link-preview: @text !important;
--link-preview-lighter: @subtext1 !important;
--link-preview-light: @subtext0 !important;
/* arrow icon in messages */
& when (@lighterMessages=1) {
--incoming-background-rgb: #rgbify(@surface1) [];
}
& when (@lighterMessages=0) {
--incoming-background-rgb: #rgbify(@base) [];
}
--outgoing-background-rgb: #rgbify(@surface0) [];
/* QUOTED MESSAGES */
/* quoted messages */
--quoted-message-text: @text !important;
/* background for quoted incoming and outgoing messages */
--outgoing-background-deeper: @surface1 !important;
& when (@lighterMessages=1) {
--incoming-background-deeper: @surface2 !important;
}
& when (@lighterMessages=0) {
--incoming-background-deeper: @surface0 !important;
}
/* SEARCH IN CHAT HIGHLIGHT */
--highlight: @teal !important;
/* quote colors */
.bg-color-1 {
background-color: @green !important;
}
.color-1 {
color: @green !important;
}
.bg-color-2 {
background-color: @blue !important;
}
.color-2 {
color: @blue !important;
}
.bg-color-3 {
background-color: @pink !important;
}
.color-3 {
color: @pink !important;
}
.bg-color-4 {
background-color: @sapphire !important;
}
.color-4 {
color: @sapphire !important;
}
.bg-color-5 {
background-color: @peach !important;
}
.color-5 {
color: @peach !important;
}
.bg-color-6 {
background-color: @sky !important;
}
.color-6 {
color: @sky !important;
}
.bg-color-7 {
background-color: @yellow !important;
}
.color-7 {
color: @yellow !important;
}
.bg-color-8 {
background-color: @teal !important;
}
.color-8 {
color: @teal !important;
}
.bg-color-9 {
background-color: @lavender !important;
}
.color-9 {
color: @lavender !important;
}
.bg-color-10 {
background-color: @red!important;
}
.color-10 {
color: @red!important;
}
.bg-color-11 {
background-color: @mauve !important;
}
.color-11 {
color: @mauve !important;
}
.bg-color-12 {
background-color: @flamingo !important;
}
.color-12 {
color: @flamingo !important;
}
.bg-color-13 {
background-color: @rosewater !important;
}
.color-13 {
color: @rosewater !important;
}
.bg-color-14 {
background-color: @pink !important;
}
.color-14 {
color: @pink !important;
}
.bg-color-15 {
background-color: @maroon !important;
}
.color-15 {
color: @maroon !important;
}
.bg-color-16 {
background-color: @teal !important;
}
.color-16 {
color: @teal !important;
}
/* general text */
--primary: @text !important;
--primary-strong: @text !important;
--primary-stronger: @text !important;
--primary-strongest: @text !important;
--secondary: @subtext0 !important;
--secondary-strongest-rgb: #rgbify(@text) [];
/* chat list typing message */
--typing: @green !important;
/* background for video player and image viewer */
--media-viewer-background: @mantle !important;
/* not loaded media */
--media-gallery-thumb-background: @crust !important;
/* Group info/Contact info */
--photopicker-overlay-background: fadeout(@mantle, 0.8) !important;
--photopicker-overlay-background-rgb: #rgbify(@base) [];
--media-viewer-background-rgb: #rgbify(@base) [];
--drawer-background-deep: @crust !important;
/* group info read more */
--input-button-more: @sapphire !important;
/* Group info thumbnails border */
--chat-info-drawer-thumb-background: @surface2 !important;
/* Group admin badge background */
--chat-marker-background: @mantle !important;
--chat-marker-border: @mantle !important;
/* Group admin badge foreground */
--chat-marker: @subtext0 !important;
/* Media gallery */
--drawer-gallery-background: @crust !important;
/* mute toggle */
--switch-button-checked-color: @accent-color !important;
--switch-track-checked-color: @surface2 !important;
--switch-track-color: @surface2 !important;
--switch-button-color: @overlay1 !important;
/* danger, block, exit and report buttons */
--danger: @red!important;
/* group added by someone not in contacts */
--button-plain-background: @surface0 !important;
--button-plain-background-hover: @surface1 !important;
/* EMOJI AND STICKERS */
--panel-input-background: @surface0 !important;
--sticker-button-background: @surface1 !important;
--active-tab-marker: @accent-color !important;
/* REACTIONS */
--reactions-panel-background-color: @surface0 !important;
--reactions-tray-background: @surface0 !important;
--reactions-details-background: @surface0 !important;
--svg-gray-button: @surface0 !important;
/* Forward message popup */
--panel-background-colored-deeper: @crust !important;
--modal-backdrop: fadeout(@mantle, 0.8) !important;
/* MEDIA EDITOR */
/* background for media editor */
--panel-background-deeper: @mantle !important;
/* message box for media editor */
--media-editor-image-caption-input-background: @surface0 !important;
/* selected picture in media editor */
--media-editor-thumb-border-active: @accent-color !important;
/* send button in media editor */
--button-round-background: @accent-color !important;
/* COMPOSE BAR */
/* type a message bar and background */
--compose-input-background: @surface0 !important;
--compose-input-border: @surface1 !important;
--compose-panel-background: @mantle !important;
--rich-text-panel-background: @mantle !important;
/* select messages fixes */
--panel-background: @mantle !important;
--panel-background-rgb: #rgbify(@mantle) [];
--checkbox-background: @accent-color !important;
/* quoted message in compose */
--popup-panel-background: @surface0 !important;
/* use Surface 0 for contrast, other colors don't pass AAA */
/* mention list item background */
--compose-panel-background-hover: @surface1 !important;
/* compose bar icons */
--icon: @accent-color !important;
/* ATTACH ICONS */
/* poll icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(6)
> button
> span
> svg
> circle {
fill: @green !important;
}
/* image icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(1)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(2) {
fill: @pink !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(1)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(1) {
fill: @pink !important;
filter: brightness(85%) !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(1)
> button
> span
> svg
> g:nth-child(1)
> g
> rect {
fill: @pink !important;
filter: brightness(70%) !important;
}
/* sticker icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(2)
> button
> span
> svg
> g
> circle {
fill: @blue !important;
filter: brightness(85%) !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(2)
> button
> span
> svg
> g
> path:nth-child(2) {
fill: @blue !important;
}
/* camera icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(3)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(1) {
fill: @red!important;
filter: brightness(85%) !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(3)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(2) {
fill: @red!important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(3)
> button
> span
> svg
> g:nth-child(1)
> g
> rect {
fill: @red!important;
filter: brightness(85%) !important;
}
/* document icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(4)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(1) {
fill: @mauve !important;
filter: brightness(85%) !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(4)
> button
> span
> svg
> g:nth-child(1)
> g
> path:nth-child(2) {
fill: @mauve !important;
}
/* contact icon */
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(5)
> button
> span
> svg
> g:nth-child(1)
> g
> g
> path:nth-child(1) {
fill: @sky !important;
filter: brightness(85%) !important;
}
div._1OT67
> div
> span
> div
> div
> ul
> li:nth-child(5)
> button
> span
> svg
> g:nth-child(1)
> g
> g
> path:nth-child(2) {
fill: @sky !important;
}
/* VOICE MESSAGE SENDING */
--ptt-draft-button-send: @accent-color !important;
--ptt-draft-waveform-background: @base !important;
--ptt-draft-button-stop: @red !important;
--ptt-draft-button-stop-hover: @maroon !important;
/* GENERAL OPTIONS */
/* dropdown menus */
--dropdown-background: @surface0 !important;
--dropdown-background-hover: @surface1 !important;
/* OTHER SECTIONS */
/* profile background */
--drawer-background: @base !important;
/* communities, new chat, other panes */
--panel-background-colored: @mantle !important;
--drawer-section-background: @base !important;
/* new chat icons */
--round-icon-background: @green !important;
--inverse: @text !important;
/* title and icon for drawers */
--drawer-header-title: @text !important;
/* buttons such as create community */
--button-primary-background: @accent-color !important;
--button-primary-background-hover: fadeout(@accent-color, 0.8) !important;
/* keyboard shortcuts background */
--panel-background-lighter: @mantle !important;
/* active input in modals and drawers */
--input-border-active: @accent-color !important;
}
/* Start page drawing */
#app
> div
> div
> div._2Ts6i._2xAQV
> div
> div
> div.WM0_u
> span
> svg
> path:nth-child(1) {
fill: @surface2 !important;
}
/* Status unread dot */
#df9d3429-f0ef-48b5-b5eb-f9d27b2deba6 > path:nth-child(2) {
fill: @accent-color !important;
}
#side
> div._3gYev
> div
> div
> button
> div._3xdht._1ZD3q
> span
> svg
> path {
fill: @accent-color !important;
}
}
}