/* ==UserStyle==
@name ChatGPT Catppuccin
@namespace github.com/catppuccin/userstyles/styles/chatgpt
@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chatgpt
@version 2025.06.13
@updateURL https://github.com/keonly/userstyles/raw/main/styles/chatgpt/catppuccin.user.less
@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achatgpt
@description Soothing pastel theme for ChatGPT
@author Catppuccin
@license MIT
@preprocessor less
@var select lightFlavor "Light Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"]
@var select darkFlavor "Dark 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:Gray*"]
==/UserStyle== */
@-moz-document domain("chatgpt.com") {
@import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css");
:root.light {
#catppuccin(@lightFlavor);
}
:root.dark {
#catppuccin(@darkFlavor);
}
#catppuccin(@flavor) {
@rosewater: @catppuccin[@@flavor][@rosewater];
@flamingo: @catppuccin[@@flavor][@flamingo];
@pink: @catppuccin[@@flavor][@pink];
@mauve: @catppuccin[@@flavor][@mauve];
@red: @catppuccin[@@flavor][@red];
@maroon: @catppuccin[@@flavor][@maroon];
@peach: @catppuccin[@@flavor][@peach];
@yellow: @catppuccin[@@flavor][@yellow];
@green: @catppuccin[@@flavor][@green];
@teal: @catppuccin[@@flavor][@teal];
@sky: @catppuccin[@@flavor][@sky];
@sapphire: @catppuccin[@@flavor][@sapphire];
@blue: @catppuccin[@@flavor][@blue];
@lavender: @catppuccin[@@flavor][@lavender];
@text: @catppuccin[@@flavor][@text];
@subtext1: @catppuccin[@@flavor][@subtext1];
@subtext0: @catppuccin[@@flavor][@subtext0];
@overlay2: @catppuccin[@@flavor][@overlay2];
@overlay1: @catppuccin[@@flavor][@overlay1];
@overlay0: @catppuccin[@@flavor][@overlay0];
@surface2: @catppuccin[@@flavor][@surface2];
@surface1: @catppuccin[@@flavor][@surface1];
@surface0: @catppuccin[@@flavor][@surface0];
@base: @catppuccin[@@flavor][@base];
@mantle: @catppuccin[@@flavor][@mantle];
@crust: @catppuccin[@@flavor][@crust];
@accent: @catppuccin[@@flavor][@@accentColor];
--ctp-rosewater: @rosewater;
--ctp-flamingo: @flamingo;
--ctp-pink: @pink;
--ctp-mauve: @mauve;
--ctp-red: @red;
--ctp-maroon: @maroon;
--ctp-peach: @peach;
--ctp-yellow: @yellow;
--ctp-green: @green;
--ctp-teal: @teal;
--ctp-sky: @sky;
--ctp-sapphire: @sapphire;
--ctp-blue: @blue;
--ctp-lavender: @lavender;
--ctp-text: @text;
--ctp-subtext1: @subtext1;
--ctp-subtext0: @subtext0;
--ctp-overlay2: @overlay2;
--ctp-overlay1: @overlay1;
--ctp-overlay0: @overlay0;
--ctp-surface2: @surface2;
--ctp-surface1: @surface1;
--ctp-surface0: @surface0;
--ctp-base: @base;
--ctp-mantle: @mantle;
--ctp-crust: @crust;
color-scheme: if(@flavor = latte, light, dark);
::selection {
background-color: fade(@accent, 30%);
}
input,
textarea {
&::placeholder {
color: @subtext0 !important;
}
}
code.hljs {
background: none !important;
}
pre {
.bg-token-main-surface-secondary {
background-color: @surface0;
}
.bg-gray-950 {
background-color: @crust;
}
.text-token-text-secondary {
color: @subtext0;
}
}
code[class*="language-"] {
color: @text;
}
.dark\:bg-token-main-surface-secondary:is(.dark *) {
background-color: @surface0;
}
.dark\:bg-gray-950:is(.dark *) {
background-color: @mantle;
}
color: @text;
@white: if(@flavor = latte, @crust, @text);
@black: if(@flavor = latte, @text, @crust);
--white: @white;
--black: @black;
& when not(@flavor = latte) {
--gray-50: lighten(mix(@text, @subtext0), 5%);
--gray-100: @text;
--gray-200: @subtext1;
--gray-300: @overlay2;
--gray-400: @overlay0;
--gray-500: @surface2;
--gray-600: @surface1;
--gray-700: @surface0;
--gray-750: @surface0;
--gray-800: @base;
--gray-900: @mantle;
--gray-950: @crust;
--brand-purple: @accent;
--bg-primary: var(--gray-800) !important;
--text-primary: var(--gray-100) !important;
--text-secondary: var(--gray-200) !important;
--text-tertiary: var(--gray-300) !important;
--text-quaternary: var(--gray-500) !important;
--main-surface-primary: var(--gray-800) !important;
--main-surface-secondary: var(--gray-700) !important;
--main-surface-tertiary: var(--gray-600) !important;
--message-surface: var(--gray-700) !important;
--sidebar-surface-primary: var(--gray-900);
--sidebar-surface-secondary: var(--gray-800);
--sidebar-surface-tertiary: var(--gray-700);
--bg-elevated-secondary: var(--gray-900);
.popover,
.dark,
.dark .popover,
.dark.popover,
.popover .dark {
--main-surface-primary: var(--gray-700) !important;
--main-surface-secondary: var(--gray-600) !important;
--main-surface-tertiary: var(--gray-500) !important;
--text-primary: var(--white) !important;
--text-secondary: var(--gray-200) !important;
--text-tertiary: var(--gray-300) !important;
}
}
& when (@flavor = latte) {
--gray-50: @crust;
--gray-100: @mantle;
--gray-200: @base;
--gray-300: @surface0;
--gray-400: @surface1;
--gray-500: @surface2;
--gray-600: @overlay0;
--gray-700: @overlay1;
--gray-800: @subtext0;
--gray-900: @subtext1;
--gray-950: @text;
--brand-purple: @accent;
--bg-primary: var(--gray-200) !important;
--text-primary: var(--gray-950);
--text-secondary: var(--gray-600);
--text-tertiary: var(--gray-400);
--text-quaternary: var(--gray-300);
--main-surface-primary: var(--gray-200);
--main-surface-secondary: var(--gray-100);
--main-surface-tertiary: var(--gray-50);
--message-surface: var(--gray-100) !important;
--sidebar-surface-primary: var(--gray-100);
--sidebar-surface-secondary: var(--gray-200);
--sidebar-surface-tertiary: var(--gray-300);
--bg-elevated-secondary: var(--gray-100);
.popover,
.dark .popover,
.dark.popover,
.popover .dark {
--main-surface-primary: var(--gray-200) !important;
--main-surface-secondary: var(--gray-100) !important;
--main-surface-tertiary: var(--gray-50) !important;
--text-primary: var(--gray-950) !important;
--text-secondary: var(--gray-600) !important;
--text-tertiary: var(--gray-500) !important;
--interactive-bg-secondary-hover: var(--gray-600) !important;
}
}
--border-light: fade(@text, 10%);
--border-medium: fade(@text, 15%);
--border-heavy: fade(@text, 20%);
--border-xheavy: fade(@text, 25%);
--link: @accent;
--link-hover: if(
@flavor = latte,
lighten(@accent, 10%),
darken(@accent, 10%)
);
*:focus {
--tw-ring-offset-color: @base;
--tw-ring-color: @accent;
}
/* ChatGPT logo */
[style*="background-color: rgb(25, 195, 125);"] {
background-color: @green !important;
color: @base !important;
}
/* Input */
select {
@svg: escape(
''
);
background-image: url("data:image/svg+xml;@{svg}");
}
[multiple],
[type="date"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
background-color: @base;
border-color: @overlay2;
}
[type="checkbox"],
[type="radio"] {
background-color: @base;
border-color: @overlay2;
color: @accent;
}
.form-input,
.form-multiselect,
.form-select,
.form-textarea {
background-color: @base;
border-color: @overlay2;
}
.form-input:focus,
.form-multiselect:focus,
.form-select:focus,
.form-textarea:focus {
border-color: @accent;
}
.form-input::placeholder,
.form-textarea::placeholder {
color: @overlay2;
}
/* Buttons */
.btn-primary,
.btn-green {
background-color: @accent;
color: @base;
&:hover {
background-color: darken(@accent, 10%);
}
&:focus-visible {
--tw-ring-color: darken(@accent, 10%) !important;
}
}
.btn-danger {
background-color: @red;
color: @base;
&:hover:not(:disabled) {
background-color: darken(@red, 10%);
}
&.focus-visible,
&:focus-visible {
--tw-ring-color: darken(@red, 10%) !important;
}
}
.btn-danger-outline {
border-color: @red;
color: @red;
&.focus-visible,
&:focus-visible {
--tw-ring-color: lighten(@red, 10%) !important;
}
}
.btn-neutral {
&.focus-visible,
&:focus-visible {
--tw-ring-color: @overlay0 !important;
}
}
.btn-dark {
background-color: @surface0;
border-color: @overlay0;
color: @text;
&:hover {
background-color: @surface1;
}
}
.btn-light {
background-color: @overlay1;
color: @black;
&:hover {
background-color: @overlay0;
}
}
.btn-disabled,
.btn-disabled:hover {
background-color: @text;
}
/* Borders */
.border-black,
.border-black\/10,
.border-black\/20,
.border-black\/30,
.border-black\/5 {
border-color: var(--border-light);
}
.border-gray-100 {
border-color: var(--gray-100);
}
.border-gray-200 {
border-color: var(--gray-200);
}
.border-gray-300 {
border-color: var(--gray-300);
}
.border-gray-400 {
border-color: var(--gray-400);
}
.border-gray-500 {
border-color: var(--gray-500);
}
.border-gray-700 {
border-color: var(--gray-700);
}
.border-gray-950 {
border-color: var(--gray-950);
}
.border-green-500 {
border-color: lighten(@green, 10%);
}
.border-green-600 {
border-color: @accent;
}
.border-orange-400 {
border-color: lighten(mix(@red, @yellow), 10%);
}
.border-orange-500 {
border-color: mix(@red, @yellow);
}
.border-red-500 {
border-color: darken(@red, 10%);
}
.border-white {
border-color: @white;
}
.border-white\/20 {
border-color: fade(@white, 20%);
}
.border-t-[\#0077FF] {
border-top-color: @blue;
}
/* Backgrounds */
.\!bg-brand-purple {
background-color: @accent !important;
}
.\!bg-gray-200 {
background-color: var(--gray-200) !important;
}
.btn-blue {
background-color: @blue;
color: @crust;
&:hover {
background-color: darken(@blue, 5%);
}
}
/* Main message input box, popup menus, and dropdowns */
.bg-\[\#303030\],
.dark\:bg-\[\#303030\],
.dark\:bg-\[\#353535\] {
background-color: @surface0;
&.dark when (@flavor = latte) {
background-color: @subtext0;
}
}
.bg-[\#0077FF],
.bg-\[\#3C46FF\],
.bg-[\#3C46FF],
.bg-[\#4046EC] {
background-color: @blue;
}
.hover\:bg-\[\#0000FF\]:hover {
background-color: darken(@blue, 5%);
}
.bg-[\#10A37F] {
background-color: @green;
}
.bg-[\#B161FD] {
background-color: @accent;
}
.bg-[\#F8CA27] {
background-color: @yellow;
}
.bg-[\#FF5588] {
background-color: mix(@red, @pink);
}
.bg-[\#FF6E3C] {
background-color: saturate(mix(@red, @yellow), 10%);
}
.dark\:radix-highlighted\:bg-\[\#2E2F33\][data-highlighted] {
background-color: @surface0;
}
.bg-black {
background-color: @black;
}
.bg-black\/20 {
background-color: fade(@black, 20%);
}
.bg-black\/5 {
background-color: fade(@black, 5%);
}
.bg-black\/50 {
background-color: fade(@black, 50%);
}
.bg-black\/90 {
background-color: fade(@black, 90%);
}
.bg-black\/\[\.04\] {
background-color: fade(@black, 4%);
}
.bg-black\/\[\.08\] {
background-color: fade(@black, 8%);
}
.bg-black\/\[\.12\] {
background-color: fade(@black, 12%);
}
.bg-blue-100 {
background-color: lighten(@blue, 30%);
}
.bg-blue-200 {
background-color: lighten(@blue, 20%);
}
.bg-blue-300 {
background-color: lighten(@blue, 10%);
}
.bg-blue-400 {
background-color: @blue;
}
.bg-blue-500 {
background-color: darken(@blue, 5%);
}
.bg-blue-700 {
background-color: darken(@blue, 10%);
}
.hover\:bg-blue-700:hover {
background-color: darken(@blue, 15%);
}
.bg-brand-blue-800 {
background-color: darken(@blue, 10%);
}
.bg-blue-950 {
background-color: darken(@blue, 30%);
}
.checked\:bg-blue-600:checked {
background-color: @accent;
}
.bg-brand-green {
background-color: lighten(@green, 10%);
}
.bg-brand-green\/20 {
background-color: fade(lighten(@green, 10%), 20%);
}
.bg-brand-green\/40 {
background-color: fade(lighten(@green, 10%), 40%);
}
.bg-brand-purple {
background-color: @accent;
}
.bg-gray-100 {
background-color: var(--gray-100);
}
.bg-gray-200 {
background-color: var(--gray-200);
}
.bg-gray-300 {
background-color: var(--gray-300);
}
.bg-gray-400 {
background-color: var(--gray-400);
}
.bg-gray-50 {
background-color: var(--gray-50);
}
.bg-gray-500 {
background-color: var(--gray-500);
}
.bg-gray-600 {
background-color: var(--gray-600);
}
.bg-gray-700 {
background-color: var(--gray-700);
}
.bg-gray-900 {
background-color: var(--gray-900);
}
.bg-gray-950 {
background-color: var(--gray-950);
}
.bg-green-100 {
background-color: lighten(@green, 30%);
}
.bg-green-200 {
background-color: lighten(@green, 20%);
}
.bg-green-500 {
background-color: lighten(@green, 10%);
}
.bg-green-500\/10 {
background-color: fade(lighten(@green, 10%), 10%);
}
.bg-green-600 {
background-color: fade(@accent, 10%);
}
.bg-orange-500 {
background-color: mix(@yellow, @red);
}
.bg-orange-500\/10 {
background-color: fade(mix(@yellow, @red), 10%);
}
.bg-red-100 {
background-color: fade(lighten(@red, 10%), 30%);
}
.bg-red-200 {
background-color: lighten(@red, 20%);
}
.bg-red-500 {
background-color: @red;
}
.bg-red-500\/10 {
background-color: fade(@red, 10%);
}
.bg-red-600 {
background-color: lighten(@red, 10%);
}
.bg-white {
background-color: @white;
}
.bg-white\/20 {
background-color: fade(@white, 20%);
}
.bg-white\/25 {
background-color: fade(@white, 25%);
}
.bg-yellow-100 {
background-color: lighten(@yellow, 20%);
}
.bg-yellow-200 {
background-color: lighten(@yellow, 10%);
}
.bg-yellow-400 {
background-color: @yellow;
}
.bg-yellow-500 {
background-color: darken(@yellow, 10%);
}
.radix-state-checked\:\!bg-green-600[data-state="checked"] {
background-color: @accent !important;
}
.dark\:radix-state-checked\:border-green-600[data-state="checked"]:is(
.dark *
) {
border-color: @accent;
}
[class*="bg-transparent"] {
background-color: transparent;
}
/* Gradients */
.from-white {
--tw-gradient-from: @base var(--tw-gradient-from-position);
}
/* Fill/stroke */
.fill-yellow-500 {
fill: @yellow;
}
.stroke-black {
stroke: @black;
}
.stroke-brand-purple\/25 {
stroke: fade(@accent, 25%);
}
.stroke-gray-400 {
stroke: @subtext0;
}
/* Text */
.\!text-black {
color: @black !important;
}
.text-\[\#FE7600\] {
color: mix(@yellow, @red);
}
.text-\[\#fff\] {
color: @base;
}
.text-black {
color: @black;
}
.text-black\/60 {
color: fade(@black, 60%);
}
.text-black\/70 {
color: fade(@black, 70%);
}
.text-blue-500 {
color: lighten(@blue, 10%);
}
.text-blue-600 {
color: @blue;
}
.text-brand-blue-800 {
color: @blue;
}
.text-brand-purple {
color: @accent;
}
.text-gray-100 {
color: var(--gray-100);
}
.text-gray-300 {
color: var(--gray-300);
}
.text-gray-400 {
color: var(--gray-400);
}
.text-gray-500 {
color: var(--gray-500);
}
.text-gray-600 {
color: var(--gray-600);
}
.text-gray-700 {
color: var(--gray-700);
}
.text-gray-800 {
color: var(--gray-800);
}
.text-gray-900 {
color: var(--gray-900);
}
.text-green-500 {
color: lighten(@green, 10%);
}
.text-green-600 {
color: @accent;
}
.text-green-700 {
color: darken(@green, 10%);
}
.text-green-800 {
color: darken(@green, 20%);
}
.text-green-900 {
color: darken(@green, 30%);
}
.text-orange-300 {
color: lighten(mix(@yellow, @red), 15%);
}
.text-orange-400 {
color: lighten(mix(@yellow, @red), 10%);
}
.text-orange-500 {
color: mix(@yellow, @red);
}
.text-red-500 {
color: @red;
}
.text-red-600 {
color: lighten(@red, 10%);
}
.text-red-700 {
color: @red;
}
.text-red-800 {
color: darken(@red, 10%);
}
.text-token-text-error {
--text-error: @red;
}
.text-white {
color: @white;
}
.text-white\/25 {
color: fade(@white, 25%);
}
.text-white\/50 {
color: fade(@white, 50%);
}
.text-white\/80 {
color: fade(@white, 80%);
}
.text-yellow-500 {
color: @yellow;
}
.text-yellow-700 {
color: darken(@yellow, 10%);
}
.text-yellow-800 {
color: darken(@yellow, 20%);
}
.text-yellow-900 {
color: darken(@yellow, 30%);
}
/* Dark mode overrides */
/* stylelint-disable-next-line no-duplicate-selectors */
& when not(@flavor = latte) {
.dark\:bg-black {
background-color: @black;
}
.dark\:bg-white {
background-color: @white;
}
.dark\:bg-gray-700 {
background-color: var(--gray-700);
}
/* "Was this response better or worse" dialog button hover */
.dark\:hover\:bg-gray-800:hover {
background-color: transparent;
}
.dark\:text-white {
color: @white;
}
.dark\:text-black {
color: @black;
}
/* Chat suggestions on new chat page */
.dark\:text-gray-500 {
color: var(--gray-300);
}
.dark\:text-\[\#D292FF\] {
color: @mauve;
}
.dark\:focus\:border-white:focus {
border-color: @text;
}
.dark\:border-gray-700 {
border-color: var(--gray-700);
}
/* Up arrow send message button */
.disabled\:dark\:bg-token-text-quaternary:is(.dark *):disabled {
background-color: var(--text-quaternary);
}
.dark\:disabled\:text-token-main-surface-secondary:disabled:is(.dark *) {
color: var(--main-surface-secondary);
}
}
/* Other */
.ring-black {
--tw-ring-color: @black;
}
.ring-black\/10 {
--tw-ring-color: fade(@black, 10%);
}
.ring-white {
--tw-ring-color: @base;
}
.ring-offset-black {
--tw-ring-offset-color: @base;
}
/* Invalid LaTeX expressions */
[style*="color: rgb(204, 0, 0)"] {
color: @red;
}
/* Circle around OpenAI logo in center of chat */
.gizmo-shadow-stroke::after {
--tw-shadow: inset 0 0 0 1px @surface0;
}
.katex-error {
color: @red !important;
}
[style="background-color: rgb(0, 0, 46);"],
[style="background-color: rgb(255, 255, 219);"] {
background-color: @crust !important;
}
/* Icon colors for chat suggestion icons on new chat page */
svg[style="color: rgb(203, 139, 208);"] {
color: @pink !important;
}
svg[style="color: rgb(226, 197, 65);"] {
color: @yellow !important;
}
svg[style="color: rgb(118, 208, 235);"] {
color: @teal !important;
}
svg[style="color: rgb(237, 98, 98);"] {
color: @red !important;
}
}
}
@-moz-document domain("auth.openai.com") {
:root {
@media (prefers-color-scheme: light) {
#catppuccin(@lightFlavor);
}
@media (prefers-color-scheme: dark) {
#catppuccin(@darkFlavor);
}
}
#catppuccin(@flavor) {
@rosewater: @catppuccin[@@flavor][@rosewater];
@flamingo: @catppuccin[@@flavor][@flamingo];
@pink: @catppuccin[@@flavor][@pink];
@mauve: @catppuccin[@@flavor][@mauve];
@red: @catppuccin[@@flavor][@red];
@maroon: @catppuccin[@@flavor][@maroon];
@peach: @catppuccin[@@flavor][@peach];
@yellow: @catppuccin[@@flavor][@yellow];
@green: @catppuccin[@@flavor][@green];
@teal: @catppuccin[@@flavor][@teal];
@sky: @catppuccin[@@flavor][@sky];
@sapphire: @catppuccin[@@flavor][@sapphire];
@blue: @catppuccin[@@flavor][@blue];
@lavender: @catppuccin[@@flavor][@lavender];
@text: @catppuccin[@@flavor][@text];
@subtext1: @catppuccin[@@flavor][@subtext1];
@subtext0: @catppuccin[@@flavor][@subtext0];
@overlay2: @catppuccin[@@flavor][@overlay2];
@overlay1: @catppuccin[@@flavor][@overlay1];
@overlay0: @catppuccin[@@flavor][@overlay0];
@surface2: @catppuccin[@@flavor][@surface2];
@surface1: @catppuccin[@@flavor][@surface1];
@surface0: @catppuccin[@@flavor][@surface0];
@base: @catppuccin[@@flavor][@base];
@mantle: @catppuccin[@@flavor][@mantle];
@crust: @catppuccin[@@flavor][@crust];
@accent: @catppuccin[@@flavor][@@accentColor];
color-scheme: if(@flavor = latte, light, dark);
::selection {
background-color: fade(@accent, 30%);
}
input,
textarea {
&::placeholder {
color: @subtext0 !important;
}
}
color: @text;
background-color: @base;
caret-color: @text;
a {
color: @accent;
}
body,
.oai-header,
.oai-footer,
.login-container,
.main-container {
background-color: @base;
}
.oai-header img {
@svg: escape(
''
);
content: url("data:image/svg+xml,@{svg}");
background-color: transparent;
}
.title {
color: @text;
}
.email-input {
background-color: @base;
border-color: @surface0;
color: @text;
&:focus,
&:valid {
border-color: @accent;
+ .email-label {
color: @accent;
background-color: @base;
}
}
}
.email-label {
background-color: @base;
color: @subtext0;
}
.continue-btn {
background-color: @accent;
color: @base;
}
.divider-wrapper {
&::before,
&::after {
border-bottom-color: @surface2;
}
}
.social-btn {
background-color: @mantle;
border-color: @surface0;
color: @text;
}
@orange: mix(@red, @yellow);
img[alt="Google logo"] {
@svg: escape(
''
);
content: url("data:image/svg+xml,@{svg}");
}
img[alt="Microsoft logo"] {
@svg: escape(
''
);
content: url("data:image/svg+xml,@{svg}");
}
img[alt="Apple logo"] {
@svg: escape(
''
);
content: url("data:image/svg+xml,@{svg}");
}
}
}
@-moz-document domain("auth0.openai.com") {
@media (prefers-color-scheme: light) {
:root {
#catppuccin(@lightFlavor);
}
}
@media (prefers-color-scheme: dark) {
:root {
#catppuccin(@darkFlavor);
}
}
#catppuccin(@flavor) {
@rosewater: @catppuccin[@@flavor][@rosewater];
@flamingo: @catppuccin[@@flavor][@flamingo];
@pink: @catppuccin[@@flavor][@pink];
@mauve: @catppuccin[@@flavor][@mauve];
@red: @catppuccin[@@flavor][@red];
@maroon: @catppuccin[@@flavor][@maroon];
@peach: @catppuccin[@@flavor][@peach];
@yellow: @catppuccin[@@flavor][@yellow];
@green: @catppuccin[@@flavor][@green];
@teal: @catppuccin[@@flavor][@teal];
@sky: @catppuccin[@@flavor][@sky];
@sapphire: @catppuccin[@@flavor][@sapphire];
@blue: @catppuccin[@@flavor][@blue];
@lavender: @catppuccin[@@flavor][@lavender];
@text: @catppuccin[@@flavor][@text];
@subtext1: @catppuccin[@@flavor][@subtext1];
@subtext0: @catppuccin[@@flavor][@subtext0];
@overlay2: @catppuccin[@@flavor][@overlay2];
@overlay1: @catppuccin[@@flavor][@overlay1];
@overlay0: @catppuccin[@@flavor][@overlay0];
@surface2: @catppuccin[@@flavor][@surface2];
@surface1: @catppuccin[@@flavor][@surface1];
@surface0: @catppuccin[@@flavor][@surface0];
@base: @catppuccin[@@flavor][@base];
@mantle: @catppuccin[@@flavor][@mantle];
@crust: @catppuccin[@@flavor][@crust];
@accent: @catppuccin[@@flavor][@@accentColor];
color-scheme: if(@flavor = latte, light, dark);
::selection {
background-color: fade(@accent, 30%);
}
--primary-color: @accent;
--primary-color-no-override: @accent;
--action-primary-color: @accent;
--link-color: @accent;
--page-background-color: @base;
--info-color: @blue;
--success-color: @green;
--error-color: @red;
--error-text-color: @text;
--warning-color: @yellow;
--button-font-color: @text;
--widget-background-color: @base;
--presentational-content-color: @overlay2;
--gray-lightest: @base;
--gray-light: @crust;
--gray-mid: @surface0;
--gray-mid-dark: @surface1;
--gray-dark: @overlay2;
--gray-darkest: @text;
--gray-social-border: @surface0;
._button-login-password,
._button-login-id {
background-color: @accent;
color: @base;
}
.password-icon-tooltip {
background-color: @text;
&::before {
border-top-color: @text;
}
}
.oai-header svg {
fill: @text;
}
@orange: mix(@red, @yellow);
button > span {
&[data-provider^="google"] {
@svg: escape(
''
);
background-image: url("data:image/svg+xml;charset=utf-8,@{svg}");
}
&[data-provider^="windowslive"] {
@svg: escape(
''
);
background-image: url("data:image/svg+xml;charset=utf-8,@{svg}");
}
&[data-provider^="apple"] {
@svg: escape(
''
);
background-image: url("data:image/svg+xml;charset=utf-8,@{svg}");
}
}
}
}
#rgbify(@color) {
@rgb: red(@color), green(@color), blue(@color);
}
/* deno-fmt-ignore */
@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: #f4f4f4; @subtext1: #e0e0e0; @subtext0: #c6c6c6; @overlay2: #a8a8a8; @overlay1: #8d8d8d; @overlay0: #6f6f6f; @surface2: #525252; @surface1: #393939; @surface0: #262626; @base: #161616; @mantle: #0b0b0b; @crust: #000000; };
};