├── readme.md ├── rose-pine-main.css ├── rose-pine-moon.theme.css └── rose-pine.theme.css /readme.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

Rosé Pine for Discord

4 |

5 | 6 |

All natural pine, faux fur and a bit of soho vibes for the classy minimalist

7 | 8 |

9 | 10 | 11 | 12 |

13 | 14 | ## Usage 15 | 16 | > [!NOTE] 17 | > For Discord web, see our [userstyle](https://userstyles.world/style/18964/rose-pine) 18 | 19 | 1. Install a Discord client mod, such as [Vencord](https://vencord.dev/) or [BetterDiscord](https://betterdiscord.app/). 20 | 2. Download `rose-pine.theme.css` or `rose-pine-moon.theme.css`. 21 | 3. Go into settings, Themes, Open Themes Folder and drop the `rose-pine.theme.css` or `rose-pine-moon.theme.css` file into the folder. 22 | 4. To switch between Rosé Pine and Rosé Pine Dawn, go to the Appearance tab in settings and change the theme from Dark to Light. 23 | 24 | ## Gallery 25 | 26 | **Rosé Pine** 27 | 28 | ![Rosé Pine for Discord](https://github.com/user-attachments/assets/a888e40f-ef9c-43b5-b050-3903464a8c51) 29 | 30 | **Rosé Pine Moon** 31 | 32 | ![Rosé Pine Moon for Discord](https://github.com/user-attachments/assets/fc59530f-ae85-4be8-a31b-52f1b76c420b) 33 | 34 | **Rosé Pine Dawn** 35 | 36 | ![Rosé Pine Dawn for Discord](https://github.com/user-attachments/assets/6a8bf69e-e07c-49dc-8669-70e4d28e04a3) 37 | 38 | ## Thanks to 39 | 40 | - [ThatOneCalculator](https://t1c.dev) 41 | - [noobfletcher1](https://github.com/noobfletcher1) 42 | -------------------------------------------------------------------------------- /rose-pine-main.css: -------------------------------------------------------------------------------- 1 | .theme-dark { 2 | --menu-item-default-hover-bg: var(--base); 3 | --button-secondary-background-hover: var(--base); 4 | --home-background: var(--base); 5 | --bg-overlay-chat: var(--base); 6 | --background-primary: var(--base); 7 | --background-mobile-primary: var(--base); 8 | --primary-800: var(--base); 9 | 10 | --button-secondary-background: var(--surface); 11 | --button-secondary-background-active: color-mix(in srgb, var(--surface) 80%, transparent); 12 | --bg-mod-faint: var(--surface); 13 | --bg-surface-raised: var(--surface); 14 | --autocomplete-bg: var(--surface); 15 | --background-secondary: var(--surface); 16 | --modal-background: var(--surface); 17 | --channeltextarea-background: var(--surface); 18 | --deprecated-card-bg: var(--surface); 19 | --deprecated-card-editable-bg: var(--surface); 20 | --card-secondary-bg: var(--surface); 21 | --background-floating: var(--surface); 22 | --primary-700: var(--surface); 23 | --bg-base-secondary: var(--surface); 24 | --bg-mod-strong: var(--surface); 25 | 26 | --menu-item-default-active-bg: var(--overlay); 27 | --activity-card-background: var(--overlay); 28 | --deprecated-text-input-bg: var(--overlay); 29 | --background-modifier-selected: var(--overlay); 30 | --background-modifier-active: var(--overlay); 31 | --background-nested-floating: var(--overlay); 32 | --bg-surface-overlay: var(--overlay); 33 | --background-secondary-alt: var(--overlay); 34 | --modal-footer-background: var(--overlay); 35 | --card-primary-bg: var(--overlay); 36 | --background-tertiary: var(--overlay); 37 | --interactive-muted: var(--overlay); 38 | --scrollbar-thin-thumb: var(--overlay); 39 | --scrollbar-auto-thumb: var(--overlay); 40 | --primary-600: var(--overlay); 41 | --primary-660: var(--overlay); 42 | --bg-mod-subtle: var(--overlay); 43 | 44 | --text-muted: var(--muted); 45 | --interactive-hover: var(--muted); 46 | --primary-400: var(--muted); 47 | 48 | --background-message-highlight: color-mix(in srgb, var(--subtle) 15%, transparent); 49 | --clr-subtle: var(--subtle); 50 | 51 | --text-normal: var(--text); 52 | --text-spotify: var(--text); 53 | --header-primary: var(--text); 54 | --header-secondary: var(--text); 55 | --interactive-normal: var(--text); 56 | --interactive-active: var(--text); 57 | --button-secondary-text: var(--text); 58 | 59 | --status-danger: hsl(from var(--love) h s calc(l*0.85)); 60 | --menu-item-danger-active-bg: hsl(from var(--love) h s calc(l*0.85)); 61 | 62 | --background-mentioned: color-mix(in srgb, var(--gold) 10%, transparent); 63 | --background-mentioned-hover: color-mix(in srgb, var(--gold) 20%, transparent); 64 | --info-warning-foreground: var(--gold); 65 | 66 | /* all variables using --rose would go here, but there are none */ 67 | 68 | --text-link: var(--pine); 69 | --ping: var(--pine); 70 | --background-accent: var(--pine); 71 | --button-filled-brand-background: var(--pine); 72 | --button-filled-brand-background-hover: color-mix(in srgb, var(--pine) 60%, transparent); 73 | --control-brand-foreground-new: var(--pine); 74 | --brand-500: var(--pine); 75 | --brand-400: var(--pine); 76 | --control-brand-foreground: var(--pine); 77 | --text-brand: var(--pine); 78 | --info-warning-background: color-mix(in srgb, var(--pine) 10%, transparent); 79 | --polls-voted-fill: color-mix(in srgb, var(--pine) 25%, transparent); 80 | --brand-15a: color-mix(in srgb, var(--pine) 25%, transparent); 81 | --button-filled-brand-background-active: color-mix(in srgb, var(--pine) 30%, transparent); 82 | --mention-background: color-mix(in srgb, var(--pine) 25%, transparent); 83 | --mention-foreground: hsl(from var(--pine) h s calc(l*1.5)); 84 | --brand-05a: color-mix(in srgb, var(--pine) 15%, transparent); 85 | --brand-10a: color-mix(in srgb, var(--pine) 20%, transparent); 86 | 87 | --header-spotify: var(--foam); 88 | 89 | /* all variables using --highlightLow would go here, but there are none */ 90 | 91 | --background-modifier-hover: var(--highlightMed); 92 | --button-secondary-background-disabled: var(--highlightMed); 93 | 94 | --background-modifier-accent: var(--highlightHigh); 95 | 96 | /* misc */ 97 | --scrollbar-thin-track: transparent; 98 | --scrollbar-auto-track: transparent; 99 | 100 | --button-filled-brand-text: var(--dawn-surface); 101 | } 102 | 103 | .theme-light { 104 | --menu-item-default-hover-bg: var(--dawn-base); 105 | --button-secondary-background-hover: var(--dawn-base); 106 | --home-background: var(--dawn-base); 107 | --bg-overlay-chat: var(--dawn-base); 108 | --background-primary: var(--dawn-base); 109 | --background-mobile-primary: var(--dawn-base); 110 | --primary-800: var(--dawn-base); 111 | 112 | --button-secondary-background: var(--dawn-surface); 113 | --button-secondary-background-active: color-mix(in srgb, var(--dawn-surface) 80%, transparent); 114 | --bg-mod-faint: var(--dawn-surface); 115 | --bg-surface-raised: var(--dawn-surface); 116 | --autocomplete-bg: var(--dawn-surface); 117 | --background-secondary: var(--dawn-surface); 118 | --modal-background: var(--dawn-surface); 119 | --channeltextarea-background: var(--dawn-surface); 120 | --deprecated-card-bg: var(--dawn-surface); 121 | --deprecated-card-editable-bg: var(--dawn-surface); 122 | --card-secondary-bg: var(--dawn-surface); 123 | --background-floating: var(--dawn-surface); 124 | --primary-700: var(--dawn-surface); 125 | --bg-base-secondary: var(--dawn-surface); 126 | --bg-mod-strong: var(--dawn-surface); 127 | --button-filled-brand-text: var(--dawn-surface); 128 | 129 | --menu-item-default-active-bg: var(--dawn-overlay); 130 | --activity-card-background: var(--dawn-overlay); 131 | --deprecated-text-input-bg: var(--dawn-overlay); 132 | --background-modifier-selected: var(--dawn-overlay); 133 | --background-modifier-active: var(--dawn-overlay); 134 | --background-nested-floating: var(--dawn-overlay); 135 | --bg-surface-overlay: var(--dawn-overlay); 136 | --background-secondary-alt: var(--dawn-overlay); 137 | --modal-footer-background: var(--dawn-overlay); 138 | --card-primary-bg: var(--dawn-overlay); 139 | --background-tertiary: var(--dawn-overlay); 140 | --interactive-muted: var(--dawn-overlay); 141 | --scrollbar-thin-thumb: var(--dawn-overlay); 142 | --scrollbar-auto-thumb: var(--dawn-overlay); 143 | --primary-600: var(--dawn-overlay); 144 | --primary-660: var(--dawn-overlay); 145 | --bg-mod-subtle: var(--dawn-overlay); 146 | 147 | --text-muted: var(--dawn-muted); 148 | --interactive-hover: var(--dawn-muted); 149 | --primary-400: var(--dawn-muted); 150 | --primary-430: var(--dawn-muted); 151 | 152 | --background-message-highlight: color-mix(in srgb, var(--dawn-subtle) 15%, transparent); 153 | --clr-subtle: var(--dawn-subtle); 154 | 155 | --text-normal: var(--dawn-text); 156 | --text-spotify: var(--dawn-text); 157 | --header-primary: var(--dawn-text); 158 | --header-secondary: var(--dawn-text); 159 | --interactive-normal: var(--dawn-text); 160 | --interactive-active: var(--dawn-text); 161 | --button-secondary-text: var(--dawn-text); 162 | 163 | --status-danger: var(--dawn-love); 164 | 165 | --background-mentioned: color-mix(in srgb, var(--dawn-gold) 10%, transparent); 166 | --background-mentioned-hover: color-mix(in srgb, var(--dawn-gold) 20%, transparent); 167 | --info-warning-foreground: var(--dawn-gold); 168 | 169 | /* all variables using --rose would go here, but there are none */ 170 | 171 | --text-link: var(--dawn-pine); 172 | --ping: var(--dawn-pine); 173 | --background-accent: var(--dawn-pine); 174 | --button-filled-brand-background: var(--dawn-pine); 175 | --button-filled-brand-background-hover: hsl(from var(--dawn-pine) h s calc(l*0.8)); 176 | --control-brand-foreground-new: var(--dawn-pine); 177 | --brand-500: var(--dawn-pine); 178 | --brand-400: var(--dawn-pine); 179 | --brand-560: var(--dawn-pine); 180 | --control-brand-foreground: var(--dawn-pine); 181 | --info-warning-background: color-mix(in srgb, var(--dawn-pine) 25%, transparent); 182 | --text-brand: var(--dawn-pine); 183 | --polls-voted-fill: color-mix(in srgb, var(--dawn-pine) 25%, transparent); 184 | --brand-160: color-mix(in srgb, var(--dawn-pine) 25%, transparent); 185 | --button-filled-brand-background-active: hsl(from var(--dawn-pine) h s calc(l*0.5)); 186 | --mention-background: color-mix(in srgb, var(--dawn-pine) 25%, transparent); 187 | --mention-foreground: hsl(from var(--dawn-pine) h s calc(l*1.5)); 188 | --brand-05a: color-mix(in srgb, var(--dawn-pine) 25%, transparent); 189 | --brand-10a: color-mix(in srgb, var(--dawn-pine) 30%, transparent); 190 | 191 | --header-spotify: var(--dawn-foam); 192 | 193 | /* all variables using --highlightLow would go here, but there are none */ 194 | 195 | --background-modifier-hover: var(--dawn-highlightMed); 196 | --button-secondary-background-disabled: var(--dawn-highlightMed); 197 | 198 | --background-modifier-accent: var(--dawn-highlightHigh); 199 | 200 | /* misc */ 201 | --scrollbar-thin-track: transparent; 202 | --scrollbar-auto-track: transparent; 203 | } 204 | 205 | .container__87bf1, 206 | .container__87bf1 > .slider__87bf1 > svg > path, 207 | .lookFilled__3f413.select__3f413, 208 | .list__920b8, 209 | .mainLoginContainer__86e92 .input__0f084, 210 | .container_d97f89, 211 | .name_ac72c6 .input__0f084, 212 | .mainTableContainer__09a38, 213 | .container_cb32c7:has(> div > .appDetailsContainer_cb32c7), 214 | .copyInput_fffc15, 215 | .answerInner__4c520, 216 | .content__49fc1 .input__0f084, 217 | .stackedBars__74017, 218 | .replyBar__841c8, 219 | #settings-integrations-webhook-1341931982912884847 .input__0f084 { 220 | background-color: var(--background-tertiary) !important; 221 | fill: var(--background-tertiary) !important; 222 | } 223 | 224 | .iconBadge__650eb.isCurrentUserConnected__650eb { 225 | background-color: var(--background-accent) !important; 226 | } 227 | 228 | 229 | .replying__5126c:before { 230 | background-color: var(--clr-subtle) !important; 231 | } 232 | 233 | .replying__5126c:hover { 234 | background-color: color-mix(in srgb, var(--clr-subtle) 25%, transparent) !important; 235 | } 236 | 237 | .itemFilled__001a7, 238 | .container_cb32c7:has(> div > .appDetailsContainer_cb32c7):hover { 239 | background-color: var(--background-primary) !important; 240 | } 241 | 242 | .vc-addon-header > div > .container__87bf1, 243 | .container_c8ffbb, 244 | .members_c8ffbb, 245 | .member_c8ffbb, 246 | .container_cb32c7:has(> div > .appDetailsContainer_cb32c7) .rowDivider_cb32c7 { 247 | background-color: var(--background-secondary) !important; 248 | } 249 | 250 | .container__87bf1.checked__87bf1, 251 | .container__87bf1.checked__87bf1 > .slider__87bf1 > svg > path, 252 | .vc-addon-header > div > .container__87bf1.checked__87bf1, 253 | .live_a7acae, 254 | .unreadPill__908e2 { 255 | background-color: var(--brand-500) !important; 256 | fill: var(--brand-500) !important; 257 | } 258 | 259 | .unreadPillCapStroke__908e2 { 260 | fill: var(--background-accent) !important; 261 | color: var(--background-accent) !important; 262 | } 263 | 264 | .warning__6436f, 265 | .isUnread__908e2, .custom-theme-background .isUnread__908e2 { 266 | border-color: var(--background-accent) !important; 267 | } 268 | 269 | .warning__6436f .icon__6436f, 270 | .isUnread__908e2 .content__908e2 { 271 | color: var(--background-accent) !important; 272 | } 273 | 274 | .executedCommand_c19a55 .appLauncherOnboardingCommandName_c19a55 { 275 | background-color: color-mix(in srgb, var(--text-link) 25%, transparent) !important; 276 | } 277 | 278 | .muted__29444 .overflow__82b15 { 279 | color: var(--background-modifier-hover) !important; 280 | } 281 | 282 | .colorDefault_c1e9c4.focused_c1e9c4, 283 | .colorDefault_c1e9c4:active:not(.hideInteraction_c1e9c4) { 284 | color: var(--text-normal) !important; 285 | background-color: var(--background-tertiary) !important; 286 | } 287 | 288 | .modeMuted__2ea32 .icon__2ea32, 289 | .modeMuted__2ea32 .name__2ea32{ 290 | /* color: hsl(from var(--muted) h s calc(l*0.7)); */ 291 | color: var(--text-muted) !important; 292 | } 293 | 294 | .theme-dark .iconBackgroundTierTwo__97677 { 295 | color: hsl(from var(--interactive-muted) h s calc(l*1.8)) !important; 296 | } 297 | 298 | .darkIcon__36dee { 299 | background-color: var(--base) !important; 300 | } 301 | 302 | .lightIcon__36dee { 303 | background-color: var(--dawn-base) !important; 304 | } 305 | -------------------------------------------------------------------------------- /rose-pine-moon.theme.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @name Rosé Pine Moon 3 | * @author 3nfg/HuCares_ 4 | * @authorId 637120137828237322 5 | * @version 4.2.0 6 | * @description All natural pine, faux fur and a bit of soho vibes for the classy minimalist. 7 | * @source https://github.com/rose-pine/discord 8 | * @updateUrl https://github.com/rose-pine/discord/blob/rose-pine-moon.theme.css 9 | */ 10 | 11 | @import url("https://benji-en.github.io/rose-pine/rose-pine-main.css"); 12 | 13 | :root { 14 | --base: #232136; 15 | --surface: #2a273f; 16 | --overlay: #393552; 17 | --muted: #6e6a86; 18 | --subtle: #908caa; 19 | --text: #e0def4; 20 | --love: #eb6f92; 21 | --gold: #f6c177; 22 | --rose: #ea9a97; 23 | --pine: #3e8fb0; 24 | --foam: #9ccfd8; 25 | --iris: #c4a7e7; 26 | --highlightLow: #2a283e; 27 | --highlightMed: #44415a; 28 | --highlightHigh: #56526e; 29 | 30 | --dawn-base: #faf4ed; 31 | --dawn-surface: #fffaf3; 32 | --dawn-overlay: #f2e9e1; 33 | --dawn-muted: #9893a5; 34 | --dawn-subtle: #797593; 35 | --dawn-text: #575279; 36 | --dawn-love: #b4637a; 37 | --dawn-gold: #ea9d34; 38 | --dawn-rose: #d7827e; 39 | --dawn-pine: #286983; 40 | --dawn-foam: #56949f; 41 | --dawn-iris: #907aa9; 42 | --dawn-highlightLow: #f4ede8; 43 | --dawn-highlightMed: #dfdad9; 44 | --dawn-highlightHigh: #cecacd; 45 | } 46 | -------------------------------------------------------------------------------- /rose-pine.theme.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @name Rosé Pine 3 | * @author blueb/Papa Quill 4 | * @authorId 403390454273409028 5 | * @version 4.2.0 6 | * @description All natural pine, faux fur and a bit of soho vibes for the classy minimalist. 7 | * @source https://github.com/rose-pine/discord 8 | * @updateUrl https://github.com/rose-pine/discord/blob/rose-pine.theme.css 9 | */ 10 | 11 | @import url("https://benji-en.github.io/rose-pine/rose-pine-main.css"); 12 | 13 | :root { 14 | --base: #191724; 15 | --surface: #1f1d2e; 16 | --overlay: #26233a; 17 | --muted: #6e6a86; 18 | --subtle: #908caa; 19 | --text: #e0def4; 20 | --love: #eb6f92; 21 | --gold: #f6c177; 22 | --rose: #ebbcba; 23 | --pine: #31748f; 24 | --foam: #9ccfd8; 25 | --iris: #c4a7e7; 26 | --highlightLow: #21202e; 27 | --highlightMed: #403d52; 28 | --highlightHigh: #524f67; 29 | 30 | --dawn-base: #faf4ed; 31 | --dawn-surface: #fffaf3; 32 | --dawn-overlay: #f2e9e1; 33 | --dawn-muted: #9893a5; 34 | --dawn-subtle: #797593; 35 | --dawn-text: #575279; 36 | --dawn-love: #b4637a; 37 | --dawn-gold: #ea9d34; 38 | --dawn-rose: #d7827e; 39 | --dawn-pine: #286983; 40 | --dawn-foam: #56949f; 41 | --dawn-iris: #907aa9; 42 | --dawn-highlightLow: #f4ede8; 43 | --dawn-highlightMed: #dfdad9; 44 | --dawn-highlightHigh: #cecacd; 45 | } 46 | --------------------------------------------------------------------------------