|
| 1 | +/* ==UserStyle== |
| 2 | +@name T3 Chat Catppuccin |
| 3 | +@namespace github.com/catppuccin/userstyles/styles/t3-chat |
| 4 | +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/t3-chat |
| 5 | +@version 0.0.1 |
| 6 | +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/t3-chat/catppuccin.user.css |
| 7 | +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3At3-chat |
| 8 | +@description Soothing pastel theme for T3 Chat |
| 9 | +@author Catppuccin |
| 10 | +@license MIT |
| 11 | +
|
| 12 | +@preprocessor less |
| 13 | +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"] |
| 14 | +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] |
| 15 | +@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"] |
| 16 | +==/UserStyle== */ |
| 17 | + |
| 18 | +#hslify(@color) { |
| 19 | + @raw: e( |
| 20 | + %("%s, %s%, %s%", hue(@color), saturation(@color), lightness(@color)) |
| 21 | + ); |
| 22 | +} |
| 23 | + |
| 24 | +@-moz-document domain("t3.chat") { |
| 25 | + @media (prefers-color-scheme: light) { |
| 26 | + :root { |
| 27 | + #catppuccin(@lightFlavor, @accentColor); |
| 28 | + } |
| 29 | + } |
| 30 | + @media (prefers-color-scheme: dark) { |
| 31 | + :root { |
| 32 | + #catppuccin(@darkFlavor, @accentColor); |
| 33 | + } |
| 34 | + } |
| 35 | + |
| 36 | + #catppuccin(@lookup, @accent) { |
| 37 | + @rosewater: @catppuccin[@@lookup][@rosewater]; |
| 38 | + @flamingo: @catppuccin[@@lookup][@flamingo]; |
| 39 | + @pink: @catppuccin[@@lookup][@pink]; |
| 40 | + @mauve: @catppuccin[@@lookup][@mauve]; |
| 41 | + @red: @catppuccin[@@lookup][@red]; |
| 42 | + @maroon: @catppuccin[@@lookup][@maroon]; |
| 43 | + @peach: @catppuccin[@@lookup][@peach]; |
| 44 | + @yellow: @catppuccin[@@lookup][@yellow]; |
| 45 | + @green: @catppuccin[@@lookup][@green]; |
| 46 | + @teal: @catppuccin[@@lookup][@teal]; |
| 47 | + @sky: @catppuccin[@@lookup][@sky]; |
| 48 | + @sapphire: @catppuccin[@@lookup][@sapphire]; |
| 49 | + @blue: @catppuccin[@@lookup][@blue]; |
| 50 | + @lavender: @catppuccin[@@lookup][@lavender]; |
| 51 | + @text: @catppuccin[@@lookup][@text]; |
| 52 | + @subtext1: @catppuccin[@@lookup][@subtext1]; |
| 53 | + @subtext0: @catppuccin[@@lookup][@subtext0]; |
| 54 | + @overlay2: @catppuccin[@@lookup][@overlay2]; |
| 55 | + @overlay1: @catppuccin[@@lookup][@overlay1]; |
| 56 | + @overlay0: @catppuccin[@@lookup][@overlay0]; |
| 57 | + @surface2: @catppuccin[@@lookup][@surface2]; |
| 58 | + @surface1: @catppuccin[@@lookup][@surface1]; |
| 59 | + @surface0: @catppuccin[@@lookup][@surface0]; |
| 60 | + @base: @catppuccin[@@lookup][@base]; |
| 61 | + @mantle: @catppuccin[@@lookup][@mantle]; |
| 62 | + @crust: @catppuccin[@@lookup][@crust]; |
| 63 | + @accent-color: @catppuccin[@@lookup][@@accent]; |
| 64 | + color-scheme: if(@lookup = latte, light, dark); |
| 65 | + |
| 66 | + ::selection { |
| 67 | + background-color: fade(@accent-color, 30%); |
| 68 | + } |
| 69 | + |
| 70 | + /* Override common UI elements */ |
| 71 | + .bg-neutral-800, |
| 72 | + .bg-gray-800, |
| 73 | + .bg-gray-950, |
| 74 | + .bg-\[\#22272E\], |
| 75 | + .bg-\[\#2D2D2D\] { |
| 76 | + background-color: @surface0 !important; |
| 77 | + } |
| 78 | + |
| 79 | + .bg-neutral-900, |
| 80 | + .bg-black, |
| 81 | + .bg-\[\#0D0A09\] { |
| 82 | + background-color: @mantle !important; |
| 83 | + } |
| 84 | + |
| 85 | + .bg-neutral-700, |
| 86 | + .bg-neutral-700\/50 { |
| 87 | + background-color: @surface1 !important; |
| 88 | + } |
| 89 | + |
| 90 | + .text-neutral-100, |
| 91 | + .text-neutral-200, |
| 92 | + .text-white, |
| 93 | + .text-gray-100, |
| 94 | + .\!text-neutral-200, |
| 95 | + strong { |
| 96 | + color: @text !important; |
| 97 | + } |
| 98 | + |
| 99 | + .text-neutral-300, |
| 100 | + .text-neutral-400, |
| 101 | + .text-gray-300, |
| 102 | + .text-gray-400 { |
| 103 | + color: @subtext1 !important; |
| 104 | + } |
| 105 | + |
| 106 | + .text-neutral-500, |
| 107 | + .text-gray-500 { |
| 108 | + color: @subtext0 !important; |
| 109 | + } |
| 110 | + |
| 111 | + .bg-primary, |
| 112 | + .bg-pink-500, |
| 113 | + .bg-blue-500, |
| 114 | + .bg-indigo-600 { |
| 115 | + background-color: @accent-color !important; |
| 116 | + } |
| 117 | + |
| 118 | + .text-primary, |
| 119 | + .text-pink-500, |
| 120 | + .text-blue-500, |
| 121 | + .text-pink-400, |
| 122 | + .text-blue-400, |
| 123 | + .text-indigo-400 { |
| 124 | + color: @accent-color !important; |
| 125 | + } |
| 126 | + |
| 127 | + .text-green-500 { |
| 128 | + color: @green !important; |
| 129 | + } |
| 130 | + |
| 131 | + .text-red-500, |
| 132 | + .text-red-400, |
| 133 | + .text-red-300 { |
| 134 | + color: @red !important; |
| 135 | + } |
| 136 | + |
| 137 | + .text-yellow-500 { |
| 138 | + color: @yellow !important; |
| 139 | + } |
| 140 | + |
| 141 | + .border-neutral-700, |
| 142 | + .border-gray-700, |
| 143 | + .border-neutral-800, |
| 144 | + .border-gray-800 { |
| 145 | + border-color: @surface1 !important; |
| 146 | + } |
| 147 | + |
| 148 | + ::-webkit-scrollbar-thumb { |
| 149 | + background: @surface1; |
| 150 | + } |
| 151 | + |
| 152 | + ::-webkit-scrollbar-thumb:hover { |
| 153 | + background: @surface2; |
| 154 | + } |
| 155 | + |
| 156 | + .bg-pink-600\/70 { |
| 157 | + background-color: @pink; |
| 158 | + color: @base !important; |
| 159 | + } |
| 160 | + |
| 161 | + .bg-pink-500\/10 { |
| 162 | + background-color: @pink; |
| 163 | + } |
| 164 | + |
| 165 | + .hover\:bg-pink-500\/70:hover { |
| 166 | + background-color: fade(@pink, 75%); |
| 167 | + } |
| 168 | + |
| 169 | + .code { |
| 170 | + background-color: @mantle !important; |
| 171 | + } |
| 172 | + |
| 173 | + /* Tailwind Prose */ |
| 174 | + .prose { |
| 175 | + --tw-prose-body: @text !important; |
| 176 | + --tw-prose-headings: @subtext0 !important; |
| 177 | + --tw-prose-lead: @subtext1 !important; |
| 178 | + --tw-prose-links: @accent-color !important; |
| 179 | + --tw-prose-bold: @subtext0 !important; |
| 180 | + --tw-prose-counters: @overlay0 !important; |
| 181 | + --tw-prose-bullets: @surface2 !important; |
| 182 | + --tw-prose-hr: @surface0 !important; |
| 183 | + --tw-prose-quotes: @subtext0 !important; |
| 184 | + --tw-prose-quote-borders: @surface0 !important; |
| 185 | + --tw-prose-captions: @overlay0 !important; |
| 186 | + --tw-prose-kbd: @subtext0 !important; |
| 187 | + --tw-prose-kbd-shadows: 17 24 39 !important; |
| 188 | + --tw-prose-code: @accent-color !important; |
| 189 | + --tw-prose-pre-code: @text !important; |
| 190 | + --tw-prose-pre-bg: @mantle !important; |
| 191 | + --tw-prose-th-borders: @surface2 !important; |
| 192 | + --tw-prose-td-borders: @surface0 !important; |
| 193 | + } |
| 194 | + |
| 195 | + /* Base ShadCN stuff */ |
| 196 | + .dark { |
| 197 | + --background: #hslify(@base) []; |
| 198 | + --foreground: #hslify(@text) []; |
| 199 | + --muted: #hslify(@surface0) []; |
| 200 | + --muted-foreground: #hslify(@subtext1) []; |
| 201 | + --popover: #hslify(@base) []; |
| 202 | + --popover-foreground: #hslify(@text) []; |
| 203 | + --card: #hslify(@base) []; |
| 204 | + --card-foreground: #hslify(@text) []; |
| 205 | + --border: #hslify(@surface1) []; |
| 206 | + --input: #hslify(@surface1) []; |
| 207 | + --primary: #hslify(@accent-color) []; |
| 208 | + --primary-foreground: #hslify(@base) []; |
| 209 | + --secondary: #hslify(@surface0) []; |
| 210 | + --secondary-foreground: #hslify(@text) []; |
| 211 | + --accent: #hslify(@surface0) []; |
| 212 | + --accent-foreground: #hslify(@text) []; |
| 213 | + --destructive: #hslify(@red) []; |
| 214 | + --destructive-foreground: #hslify(@mantle) []; |
| 215 | + --ring: #hslify(@text) []; |
| 216 | + --chart-1: #hslify(@red) []; |
| 217 | + --chart-2: #hslify(@teal) []; |
| 218 | + --chart-3: #hslify(@blue) []; |
| 219 | + --chart-4: #hslify(@yellow) []; |
| 220 | + --chart-5: #hslify(@green) []; |
| 221 | + } |
| 222 | + } |
| 223 | +} |
| 224 | + |
| 225 | +/* prettier-ignore */ |
| 226 | +@catppuccin: { |
| 227 | + @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; }; |
| 228 | + @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; }; |
| 229 | + @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; }; |
| 230 | + @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; }; |
| 231 | +} |
| 232 | + |
| 233 | +// vim:ft=less |
0 commit comments