├── .github └── workflows │ ├── pr_checks.yml │ └── publish_themes.yml ├── .gitignore ├── .vscode └── settings.json ├── README.md ├── data ├── amethyst │ └── Preset.toml ├── amoled │ └── Preset.toml ├── ayu-dark │ └── Preset.toml ├── blobfox │ └── Preset.toml ├── blood-and-rust │ └── Preset.toml ├── blossom │ └── Preset.toml ├── blue-dark │ └── Preset.toml ├── bree │ ├── Custom.css │ └── Preset.toml ├── catppuccin-frappe │ └── Preset.toml ├── catppuccin-latte │ └── Preset.toml ├── catppuccin-macchiato │ └── Preset.toml ├── catppuccin-mocha │ └── Preset.toml ├── cats │ ├── Custom.css │ └── Preset.toml ├── classic-grey │ └── Preset.toml ├── classic-xp │ └── Preset.toml ├── comfy-blue │ └── Preset.toml ├── dark-purple-theme │ └── Preset.toml ├── dark-signal │ ├── Custom.css │ └── Preset.toml ├── dark │ └── Preset.toml ├── darkmode-pink │ └── Preset.toml ├── darkmode-purple │ └── Preset.toml ├── deep-ocean │ └── Preset.toml ├── discord-colors │ ├── Custom.css │ └── Preset.toml ├── discord-colours-layout │ ├── Custom.css │ └── Preset.toml ├── discord │ └── Preset.toml ├── dracula │ └── Preset.toml ├── forgejo-dark │ └── Preset.toml ├── github-dark-dimmed │ └── Preset.toml ├── github-dark │ └── Preset.toml ├── glass │ ├── Custom.css │ └── Preset.toml ├── gruvbox-dark │ └── Preset.toml ├── horizon │ └── Preset.toml ├── ice-shard │ ├── Custom.css │ └── Preset.toml ├── iceshrimp-light │ ├── Custom.css │ └── Preset.toml ├── irc-chat │ ├── Custom.css │ └── Preset.toml ├── kyli0x │ └── Preset.toml ├── light │ └── Preset.toml ├── lucifers-fall │ ├── Custom.css │ └── Preset.toml ├── material-dark │ ├── Custom.css │ └── Preset.toml ├── material-light │ ├── Custom.css │ └── Preset.toml ├── mint-glow │ └── Preset.toml ├── neon-blue │ ├── Custom.css │ └── Preset.toml ├── night-beach │ └── Preset.toml ├── nocturnal │ └── Preset.toml ├── nord-dark │ └── Preset.toml ├── nucleon │ ├── Custom.css │ └── Preset.toml ├── one-dark │ └── Preset.toml ├── paperwhite │ └── Preset.toml ├── pink │ └── Preset.toml ├── pleasant-purple │ ├── Custom.css │ └── Preset.toml ├── primer-dark-colorblind │ ├── Custom.css │ └── Preset.toml ├── primer-dark-dimmed │ ├── Custom.css │ └── Preset.toml ├── primer-dark-high-contrast │ ├── Custom.css │ └── Preset.toml ├── primer-dark │ ├── Custom.css │ └── Preset.toml ├── primer-light-colorblind │ ├── Custom.css │ └── Preset.toml ├── primer-light-high-contrast │ ├── Custom.css │ └── Preset.toml ├── primer-light │ ├── Custom.css │ └── Preset.toml ├── purpel │ ├── Custom.css │ └── Preset.toml ├── rexo-turquoise │ └── Preset.toml ├── rosepine-dawn │ └── Preset.toml ├── rosepine-moon │ └── Preset.toml ├── rosepine │ └── Preset.toml ├── sakura-midnight │ └── Preset.toml ├── skeuovolt │ ├── Custom.css │ └── Preset.toml ├── social-classic │ ├── Custom.css │ └── Preset.toml ├── solarized-dark │ └── Preset.toml ├── sonar │ └── Preset.toml ├── steamy │ └── Preset.toml ├── striking-stardust │ └── Preset.toml ├── tokyo-night │ └── Preset.toml ├── twitch-theme │ └── Preset.toml └── vintage-terminal │ └── Preset.toml ├── package.json ├── scripts ├── primer.css └── primer.ts ├── src ├── build.js ├── check.js └── helpers.js └── yarn.lock /.github/workflows/pr_checks.yml: -------------------------------------------------------------------------------- 1 | name: Check and build PR 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - "master" 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v3 14 | 15 | - name: Setup Node 16 | uses: actions/setup-node@v3 17 | with: 18 | cache: 'yarn' 19 | 20 | - run: yarn install 21 | - run: yarn check 22 | 23 | - name: Build 24 | run: yarn build 25 | -------------------------------------------------------------------------------- /.github/workflows/publish_themes.yml: -------------------------------------------------------------------------------- 1 | name: Publish Themes 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - uses: actions/checkout@v3 13 | 14 | - name: Setup Node 15 | uses: actions/setup-node@v3 16 | with: 17 | cache: 'yarn' 18 | 19 | - run: yarn install 20 | - run: yarn check 21 | 22 | - name: Build 23 | run: yarn build 24 | 25 | - name: Deploy 26 | uses: JamesIves/github-pages-deploy-action@4.1.5 27 | with: 28 | branch: built 29 | folder: built 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | built 3 | !built/theme_dark.json 4 | !built/theme_light.json 5 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "deno.enable": true, 3 | "deno.lint": true, 4 | "deno.unstable": true 5 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Revolt Themes 2 | 3 | ## Folder Structure 4 | 5 | ``` 6 | data 7 | |- theme_slug 8 | |- Preset.toml 9 | |- Custom.css (optional) 10 | ``` 11 | 12 | ## Preset Information 13 | 14 | Each preset comes with a bit of information to identify it. 15 | 16 | ```toml 17 | # URL friendly name 18 | slug = "my-theme" 19 | 20 | # Display name 21 | name = "My Theme" 22 | 23 | # Authors' name 24 | creator = "An Individual" 25 | 26 | # The commit this preset was built against (optional) 27 | # Should only be specified if you use custom CSS that tends to break between updates 28 | commit = "eea13a3" 29 | 30 | # Preset description 31 | description = "neat" 32 | 33 | # Theme Version 34 | # Use Semantic Versioning (https://semver.org/) 35 | # Default: 0.0.1 36 | version = "0.0.1" 37 | 38 | # Tags (optional) 39 | # Must be a single alphanumeric word 40 | tags = ["sunset", "blue"] 41 | ``` 42 | -------------------------------------------------------------------------------- /data/amethyst/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "amethyst" 2 | name = "Amethyst" 3 | creator = "Meow" 4 | description = "Purple... based on spinfish's amethyst betterdiscord theme." 5 | tags = ["dark", "purple"] 6 | version = "1.0.1" 7 | 8 | [variables] 9 | light = false 10 | accent = "#ff9100" 11 | background = "#230431" 12 | foreground = "#ffffff" 13 | block = "#1c0028" 14 | mention = "#310c44" 15 | message-box = "#2d0f3d" 16 | 17 | success = "#4dd75e" 18 | warning = "#FAA352" 19 | error = "#ed3f43" 20 | hover = "rgba(0, 0, 0, 0.2)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#361741" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#230431" 29 | header = "#150020" 30 | 31 | [variables.secondary] 32 | background = "#1c0028" 33 | foreground = "#d2d2d2" 34 | header = "#1c0028" 35 | 36 | [variables.tertiary] 37 | background = "#8b8b8b" 38 | foreground = "#8b8b8b" 39 | 40 | [variables.status] 41 | online = "#3ba55d" 42 | away = "#faa81a" 43 | busy = "#ed4245" 44 | invisible = "#747f8d" 45 | -------------------------------------------------------------------------------- /data/amoled/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "amoled" 2 | name = "AMOLED" 3 | creator = "insert" 4 | description = "Pure black, perfect for mobile." 5 | tags = ["oled"] 6 | 7 | [variables] 8 | light = false 9 | accent = "#FD6671" 10 | background = "#000000" 11 | foreground = "#FFFFFF" 12 | 13 | block = "#1D1D1D" 14 | message-box = "#000000" 15 | mention = "rgba(251, 255, 0, 0.06)" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#F06464" 20 | hover = "rgba(0, 0, 0, 0.1)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#CA525A" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#000000" 28 | header = "#000000" 29 | 30 | [variables.secondary] 31 | background = "#000000" 32 | foreground = "#DDDDDD" 33 | header = "#1A1A1A" 34 | 35 | [variables.tertiary] 36 | background = "#000000" 37 | foreground = "#AAAAAA" 38 | 39 | [variables.status] 40 | online = "#3ABF7E" 41 | away = "#F39F00" 42 | busy = "#F84848" 43 | streaming = "#977EFF" 44 | invisible = "#A5A5A5" 45 | -------------------------------------------------------------------------------- /data/ayu-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "dark" 2 | name = "Ayu Dark" 3 | creator = "Zomatree" 4 | description = "A Theme using the Ayu colour pallete." 5 | 6 | [variables] 7 | light = false 8 | accent = "#e6b450" 9 | background = "#090e15" 10 | foreground = "#b3b1ad" 11 | 12 | block = "#0c1017" 13 | message-box = "#090e15" 14 | mention = "#0c1017" 15 | 16 | success = "#91b362" 17 | warning = "#FAA352" 18 | error = "#ff3333" 19 | hover = "#0c1017" 20 | 21 | [variables.scrollbar] 22 | thumb = "#e6b450" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#090e15" 27 | header = "#090e15" 28 | 29 | [variables.secondary] 30 | background = "#090e15" 31 | foreground = "#4d5566" 32 | header = "#0c1017" 33 | 34 | [variables.tertiary] 35 | background = "#4D4D4D" 36 | foreground = "#848484" 37 | 38 | [variables.status] 39 | online = "#91b362" 40 | away = "#F39F00" 41 | busy = "#ff3333" 42 | streaming = "#977EFF" 43 | invisible = "#A5A5A5" 44 | -------------------------------------------------------------------------------- /data/blobfox/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "blobfox-theme" 2 | name = "Blobfox theme" 3 | creator = "Houl" 4 | description = "A dark theme with blobfox orange." 5 | tags = ["dark", "blobfox", "orange"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#FF8702" 11 | background = "#101010" 12 | foreground = "#F6F6F6" 13 | 14 | block = "#202020" 15 | message-box = "#202020" 16 | mention = "rgba(255, 135, 2, 0.2)" 17 | 18 | success = "#57F287" 19 | warning = "#FE925C" 20 | error = "#ED4245" 21 | hover = "rgba(75, 75, 75, 0.1)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#FF8702" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#101010" 29 | header = "#151515" 30 | 31 | [variables.secondary] 32 | background = "#151515" 33 | foreground = "#C8C8C8" 34 | header = "#181818" 35 | 36 | [variables.tertiary] 37 | background = "#505050" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#57F287" 42 | away = "#FE925C" 43 | busy = "#ED4245" 44 | streaming = "#AE45EB" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/blood-and-rust/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "blood-and-rust" 2 | name = "Blood and Rust" 3 | creator = "Rosenkvarts#2611" 4 | description = "Very dark theme with dark red letters and orange/brown accents. Hard to see for some, pleasant for certain goblins like me. Enjoy!" 5 | version = "0.0.1" 6 | tags = ["dark", "red", "brown", "orange", "blood", "rust", "black"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#903014" 11 | background = "#101010" 12 | foreground = "#640000" 13 | 14 | block = "#1e1e1e" 15 | message-box = "#0f0f0f" 16 | mention = "#171717" 17 | 18 | success = "#154719" 19 | warning = "#be641e" 20 | tooltip = "#000000" 21 | error = "#ff0000" 22 | hover = "rgba(0, 0, 0, 0.1)" 23 | 24 | [variables.scrollbar] 25 | thumb = "#191919" 26 | track = "transparent" 27 | 28 | [variables.primary] 29 | background = "#0a0a0a" 30 | header = "#1d1b1d" 31 | 32 | [variables.secondary] 33 | background = "#0d0d0d" 34 | foreground = "#903014" 35 | header = "#1e1e1e" 36 | 37 | [variables.tertiary] 38 | background = "#262224" 39 | foreground = "#640000" 40 | 41 | [variables.status] 42 | online = "#355a48" 43 | away = "#907441" 44 | focus = "#4799F0" 45 | busy = "#7e3a3a" 46 | streaming = "#584c85" 47 | invisible = "#5f5858" 48 | 49 | font = "Poppins" 50 | monospaceFont = "Space Mono" 51 | -------------------------------------------------------------------------------- /data/blossom/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "blossom" 2 | name = "Blossom" 3 | creator = "Axorax" 4 | description = "A visually enchanting theme inspired by cherry blossoms." 5 | version = "1.0.0" 6 | tags = ["light", "blossom", "cherry"] 7 | 8 | [variables] 9 | light = true 10 | accent = "#FF85A0" 11 | background = "#F6F0F7" 12 | foreground = "#2C2C2C" 13 | 14 | block = "#c7a9c7" 15 | message-box = "#F1EAF2" 16 | mention = "#FFC2D6" 17 | 18 | success = "#70D84C" 19 | warning = "#FFC93C" 20 | error = "#FF504E" 21 | hover = "#ECE7EC" 22 | 23 | [variables.scrollbar] 24 | thumb = "#D8D1D8" 25 | track = "#EDE8ED" 26 | 27 | [variables.primary] 28 | background = "#F1EAF2" 29 | header = "#F1EAF2" 30 | 31 | [variables.secondary] 32 | background = "#EDE8ED" 33 | foreground = "#5D5D5D" 34 | header = "#F4EFF4" 35 | 36 | [variables.tertiary] 37 | background = "#D4CDD4" 38 | foreground = "#787878" 39 | 40 | [variables.status] 41 | online = "#70D84C" 42 | away = "#FFC93C" 43 | busy = "#FF504E" 44 | streaming = "#CFA0D0" 45 | invisible = "#BDB7BD" -------------------------------------------------------------------------------- /data/blue-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "blue-dark" 2 | name = "Blue Dark" 3 | creator = "SP46" 4 | description = "A modern and unique style for Revolt." 5 | 6 | [variables] 7 | light = false 8 | accent = "#e91e63" 9 | background = "#101823" 10 | foreground = "#f6f6f6" 11 | 12 | block = "#262f3d" 13 | message-box = "#212a38" 14 | mention = "rgba(251, 255, 0, 0.06)" 15 | 16 | success = "#31bf7e" 17 | warning = "#fae352" 18 | error = "#e91e63" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#ba184f" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#151e2b" 27 | header = "#1a2433" 28 | 29 | [variables.secondary] 30 | background = "#1a2433" 31 | foreground = "#c8c8c8" 32 | header = "#212a38" 33 | 34 | [variables.tertiary] 35 | background = "#212a38" 36 | foreground = "#848484" 37 | 38 | [variables.status] 39 | online = "#31bf7e" 40 | away = "#fae352" 41 | busy = "#e91e63" 42 | streaming = "#977eff" 43 | invisible = "#a5a5a5" 44 | -------------------------------------------------------------------------------- /data/bree/Custom.css: -------------------------------------------------------------------------------- 1 | /* todo: use a consistently named, stable css class */ 2 | /* The chat input area */ 3 | .tinfKpom71H-wBY-85CJ7 { 4 | background-color: var(--hover); 5 | } 6 | -------------------------------------------------------------------------------- /data/bree/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "bree" 2 | name = "bree's theme" 3 | creator = "bree" 4 | description = "this is bree's purple dark theme." 5 | 6 | [variables] 7 | light = false 8 | accent = "#FD6671" 9 | background = "#292937" 10 | foreground = "#F6F6F6" 11 | 12 | block = "rgb(25 25 30)" 13 | message-box = "rgb(55 55 66)" 14 | mention = "rgba(251, 255, 0, 0.06)" 15 | 16 | success = "#65E572" 17 | warning = "#FAA352" 18 | error = "#F06464" 19 | hover = "rgb(0 0 0 / 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#CA525A" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "rgb(33 33 44)" 27 | header = "rgb(44 44 55)" 28 | 29 | [variables.secondary] 30 | background = "rgb(28 28 36)" 31 | foreground = "#C8C8C8" 32 | header = "rgb(37 37 48)" 33 | 34 | [variables.tertiary] 35 | background = "rgb(77 77 88)" 36 | foreground = "rgb(133 133 144)" 37 | 38 | [variables.status] 39 | online = "#3ABF7E" 40 | away = "#F39F00" 41 | busy = "#F84848" 42 | streaming = "#977EFF" 43 | invisible = "#A5A5A5" 44 | -------------------------------------------------------------------------------- /data/catppuccin-frappe/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "catppuccin-frappe" 2 | name = "Catppuccin Frappé" 3 | creator = "Catppuccin Org" 4 | description = "Soothing pastel theme for Revolt." 5 | tags = ["pastel", "soothing", "dark"] 6 | version = "2.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#ca9ee6" 11 | background = "#303446" 12 | foreground = "#c6d0f5" 13 | block = "#232634" 14 | message-box = "#232634" 15 | mention = "rgba(48, 52, 70, 0.10)" 16 | success = "#a6d189" 17 | warning = "#ef9f76" 18 | tooltip = "#000000" 19 | error = "#e78284" 20 | hover = "rgba(35, 38, 52, 0.75)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#babbf1" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#303446" 28 | header = "#292c3c" 29 | 30 | [variables.secondary] 31 | background = "#292c3c" 32 | foreground = "#737994" 33 | header = "#292c3c" 34 | 35 | [variables.tertiary] 36 | background = "#232634" 37 | foreground = "#626880" 38 | 39 | [variables.status] 40 | online = "#a6d189" 41 | away = "#e5c890" 42 | focus = "#8caaee" 43 | busy = "#e78284" 44 | streaming = "#ca9ee6" 45 | invisible = "#626880" 46 | -------------------------------------------------------------------------------- /data/catppuccin-latte/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "catppuccin-latte" 2 | name = "Catppuccin Latte" 3 | creator = "Catppuccin Org" 4 | description = "Soothing pastel theme for Revolt." 5 | tags = ["pastel", "soothing", "light"] 6 | version = "2.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#8839ef" 11 | background = "#eff1f5" 12 | foreground = "#4c4f69" 13 | block = "#dce0e8" 14 | message-box = "#dce0e8" 15 | mention = "rgba(239, 241, 245, 0.10)" 16 | success = "#40a02b" 17 | warning = "#fe640b" 18 | tooltip = "#000000" 19 | error = "#d20f39" 20 | hover = "rgba(220, 224, 232, 0.75)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#7287fd" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#eff1f5" 28 | header = "#e6e9ef" 29 | 30 | [variables.secondary] 31 | background = "#e6e9ef" 32 | foreground = "#9ca0b0" 33 | header = "#e6e9ef" 34 | 35 | [variables.tertiary] 36 | background = "#dce0e8" 37 | foreground = "#acb0be" 38 | 39 | [variables.status] 40 | online = "#40a02b" 41 | away = "#df8e1d" 42 | focus = "#1e66f5" 43 | busy = "#d20f39" 44 | streaming = "#8839ef" 45 | invisible = "#acb0be" 46 | -------------------------------------------------------------------------------- /data/catppuccin-macchiato/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "catppuccin-macchiato" 2 | name = "Catppuccin Macchiato" 3 | creator = "Catppuccin Org" 4 | description = "Soothing pastel theme for Revolt." 5 | tags = ["pastel", "soothing", "dark"] 6 | version = "2.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#c6a0f6" 11 | background = "#24273a" 12 | foreground = "#cad3f5" 13 | block = "#181926" 14 | message-box = "#181926" 15 | mention = "rgba(36, 39, 58, 0.10)" 16 | success = "#a6da95" 17 | warning = "#f5a97f" 18 | tooltip = "#000000" 19 | error = "#ed8796" 20 | hover = "rgba(24, 25, 38, 0.75)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#b7bdf8" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#24273a" 28 | header = "#1e2030" 29 | 30 | [variables.secondary] 31 | background = "#1e2030" 32 | foreground = "#6e738d" 33 | header = "#1e2030" 34 | 35 | [variables.tertiary] 36 | background = "#181926" 37 | foreground = "#5b6078" 38 | 39 | [variables.status] 40 | online = "#a6da95" 41 | away = "#eed49f" 42 | focus = "#8aadf4" 43 | busy = "#ed8796" 44 | streaming = "#c6a0f6" 45 | invisible = "#5b6078" 46 | -------------------------------------------------------------------------------- /data/catppuccin-mocha/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "catppuccin-mocha" 2 | name = "Catppuccin Mocha" 3 | creator = "Catppuccin Org" 4 | description = "Soothing pastel theme for Revolt." 5 | tags = ["pastel", "soothing", "dark"] 6 | version = "2.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#cba6f7" 11 | background = "#1e1e2e" 12 | foreground = "#cdd6f4" 13 | block = "#11111b" 14 | message-box = "#11111b" 15 | mention = "rgba(30, 30, 46, 0.10)" 16 | success = "#a6e3a1" 17 | warning = "#fab387" 18 | tooltip = "#000000" 19 | error = "#f38ba8" 20 | hover = "rgba(17, 17, 27, 0.75)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#b4befe" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#1e1e2e" 28 | header = "#181825" 29 | 30 | [variables.secondary] 31 | background = "#181825" 32 | foreground = "#6c7086" 33 | header = "#181825" 34 | 35 | [variables.tertiary] 36 | background = "#11111b" 37 | foreground = "#585b70" 38 | 39 | [variables.status] 40 | online = "#a6e3a1" 41 | away = "#f9e2af" 42 | focus = "#89b4fa" 43 | busy = "#f38ba8" 44 | streaming = "#cba6f7" 45 | invisible = "#585b70" 46 | -------------------------------------------------------------------------------- /data/cats/Custom.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-image: url('https://autumn.revolt.chat/attachments/PGJcmqTljyBeHQAsqq8aaJjJ6bQBZbrfCfWkoIjhgC/Hauskatze_langhaar.jpg'); 3 | background-size: cover; 4 | background-position: center; 5 | } 6 | 7 | .EmbedInvite__EmbedInviteBase-sc-154n8c6-0.bTyHZC, 8 | ._attachment_197qa_1._file_197qa_25, 9 | .MessageBox__Base-sc-jul4fa-0.jBEnry, 10 | ._embed_1912h_1._website_1912h_12, 11 | .Theme__ThemeInfo-sc-12nukt1-0.jPrjw, 12 | .Sidebar__Base-sc-1uh6eub-0.cRCSBm, 13 | ._content_sso5v_77, 14 | ._details_605sm_31, 15 | ._actions_ag1so_25 > *, 16 | .Modal__ModalBase-sc-1ppg3sd-0.bDDYwS, 17 | ._settings_t7t23_33, 18 | ._actions_iu4oa_1, 19 | .ReplyBar__Base-sc-d2l7w7-0.jtuvHh, 20 | .VoiceHeader__VoiceBase-sc-mvbohh-0.coVeIl, 21 | .Tip__TipBase-sc-1b2fe6b-1.bVXzUI, 22 | .ComboBox-sc-djv074-0.ddkErI, 23 | .FilePreview__Container-sc-znkm6h-0.ewmXHm, 24 | .Discover__Container-sc-6nwhb3-0.gAGipD, 25 | .Details-sc-1qkt4w1-0.kyMBmJ, 26 | .Titlebar__TitlebarBase-sc-1ykozpe-0.hwmymO, 27 | .BottomNavigation__Base-sc-15obpw5-0.fmxapA, 28 | ._invite_605sm_1, .Header-sc-39hpd7-0.fUpUzg, 29 | .ErrorBoundary__CrashContainer-sc-1s8h6qo-0.cHHQBt, 30 | ._pending_sd6wo_95, 31 | ._attachment_197qa_1._audio_197qa_13, 32 | .RequiresOnline__Base-sc-qthzj2-0.hwlBoN, 33 | ._attachment_197qa_1._text_197qa_33, 34 | .RevoltApp__StatusBar-sc-1613ew5-1.iOZZrd, 35 | .Button-sc-1gxkzq3-0.iWNKPN, 36 | .Tile__Icon-sc-1szgf75-3.xlMfH, 37 | img._image_197qa_75, 38 | .Base-sc-1d91xkm-0.kVCswW, 39 | ._embed_dxa3n_1._website_dxa3n_12, 40 | .sc-iBPTik.bnZuoo, 41 | .Details-sc-3j94yd-0.jKeKvP, 42 | .InviteBot__BotInfo-sc-eg29o6-0.fNvYYN, 43 | .ComboBox-sc-f94r78-0.jfwTbF, 44 | 45 | input, textarea, button, .entry, blockquote, .spoiler, 46 | pre.code, .context-menu, audio, table, .mobile, pre 47 | { 48 | backdrop-filter: blur(25px) !important; 49 | } 50 | 51 | .MessageBox__Base-sc-jul4fa-0.jBEnry > * , 52 | .MessageBox__Base-sc-jul4fa-0.jBEnry, 53 | .ServerListSidebar__ServerEntry-sc-10bk066-2.jFgSXl > span > svg > path 54 | { 55 | background-color: transparent !important; 56 | fill: #000000 !important; 57 | } 58 | 59 | .InviteBot__BotInfo-sc-eg29o6-0.fNvYYN { 60 | border-radius: 10px; 61 | } 62 | 63 | option, audio { 64 | background-color: #000000; 65 | color: #fff; 66 | } 67 | 68 | option:hover { 69 | background-color: var(--accent); 70 | } 71 | 72 | blockquote < pre.code { 73 | backdrop-filter: none; 74 | } 75 | 76 | blockquote > blockquote { 77 | backdrop-filter: none; 78 | backgound-color: #000000 !important; 79 | } 80 | 81 | *::selection { 82 | background-color: var(--accent); 83 | color: #fff; 84 | } 85 | 86 | .RevoltApp__StatusBar-sc-1613ew5-1.iOZZrd { 87 | color: var(--accent) !important; 88 | } 89 | 90 | .context-menu { 91 | transition: all 0.3s; 92 | background-color: #000000a0 !important; 93 | } 94 | 95 | .context-menu > *:hover { 96 | color: var(--accent); 97 | background-color: #00000015 !important; 98 | backdrop-filter: none; 99 | } 100 | 101 | .SidebarBase-sc-1dma6vq-0.jyizw, 102 | .Button-sc-1gxkzq3-0.iWNKPN, 103 | table, .Details-sc-1qkt4w1-0.kyMBmJ, time 104 | { 105 | background-color: #00000069; 106 | } 107 | 108 | .Titlebar__TitlebarBase-sc-1ykozpe-0.hwmymO { 109 | background-color: #000000f0 !important; 110 | } 111 | 112 | textarea, time { 113 | background-color: transparent !important; 114 | } 115 | 116 | ::root { 117 | --sidebar-active: #000000; 118 | } 119 | 120 | img._image_197qa_75 { 121 | background-color: #00000069 !important; 122 | } 123 | 124 | ._container_197qa_64 { 125 | min-width: 20%; 126 | } 127 | 128 | .spoiler > img { 129 | display: none; 130 | } 131 | 132 | .Modal__ModalBase-sc-1ppg3sd-0.bDDYwS { 133 | background: rgba(0, 0, 0, 0.5); 134 | } 135 | -------------------------------------------------------------------------------- /data/cats/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "cats" 2 | name = "Cats" 3 | creator = "@LazyCat" 4 | description = "There are cats on bg and more blur." 5 | tags = ["cats", "blur"] 6 | 7 | [variables] 8 | light = false 9 | accent = "#FD6671" 10 | background = "transparent" 11 | foreground = "#FFF" 12 | 13 | block = "#2D2D2D69" 14 | message-box = "#000000aa" 15 | mention = "#ffff0015" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#F06464" 20 | hover = "rgb(0, 0, 0, 0.1)" 21 | 22 | tooltip = "#000000" 23 | 24 | [variables.scrollbar] 25 | thumb = "#CA525A" 26 | track = "transparent" 27 | 28 | [variables.primary] 29 | background = "#000000a0" 30 | header = "#00000069" 31 | 32 | [variables.secondary] 33 | background = "#00000069" 34 | foreground = "#C8C8C869" 35 | header = "#00000069" 36 | 37 | [variables.tertiary] 38 | background = "#00000069" 39 | foreground = "#ffffff69" 40 | 41 | [variables.status] 42 | online = "#3ABF7E" 43 | away = "#F39F00" 44 | busy = "#F84848" 45 | streaming = "#977EFF" 46 | invisible = "#A5A5A5" 47 | -------------------------------------------------------------------------------- /data/classic-grey/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "classic-grey" 2 | name = "Classic Grey" 3 | creator = "Sandwich247" 4 | description = "A classic grey theme with orange accents." 5 | tags = ["light", "grey", "orange"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#F39F00" 11 | background = "#787878" 12 | foreground = "#ffffff" 13 | 14 | block = "#2e2e2e" 15 | message-box = "#3d3d3d" 16 | mention = "#637eb6" 17 | 18 | success = "#669a4d" 19 | warning = "#F39F00" 20 | tooltip = "#000000" 21 | error = "#420000" 22 | hover = "#7d7d7d" 23 | 24 | [variables.scrollbar] 25 | thumb = "#F39F00" 26 | track = "#3d3d3d" 27 | 28 | [variables.primary] 29 | background = "#707070" 30 | header = "#3d3d3d" 31 | 32 | [variables.secondary] 33 | background = "#5e5e5e" 34 | foreground = "#d9d9d9" 35 | header = "#4f4f4f" 36 | 37 | [variables.tertiary] 38 | background = "#4f4f4f" 39 | foreground = "#cccccc" 40 | 41 | [variables.status] 42 | online = "#669a4d" 43 | away = "#F39F00" 44 | focus = "#4799F0" 45 | busy = "ff0000" 46 | streaming = "#977EFF" 47 | invisible = "#383838" 48 | -------------------------------------------------------------------------------- /data/classic-xp/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "classic-xp" 2 | name = "Classic XP" 3 | creator = "Neptuner" 4 | description = "Throwback theme to the Windows XP era" 5 | tags = ["windows", "windows-xp", "xp", "throwback", "light"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#0855dd" 11 | background = "#ece9d8" 12 | foreground = "#000000" 13 | 14 | block = "#ece9d8" 15 | message-box = "#e2deca" 16 | mention = "rgba(252,207,3, 0.3)" 17 | 18 | success = "#81C046" 19 | warning = "#FAA352" 20 | error = "#DE482B" 21 | hover = "rgba(0, 0, 0, 0.2)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#1255be" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#e2deca" 29 | header = "#e2deca" 30 | 31 | [variables.secondary] 32 | background = "#ece9d8" 33 | foreground = "#1f1f1f" 34 | header = "#e2deca" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#3a3a3a" 39 | 40 | [variables.status] 41 | online = "#81C046" 42 | away = "#F39F00" 43 | busy = "#DE482B" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/comfy-blue/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "comfy-blue" 2 | name = "Comfy Blue" 3 | creator = "Qky" 4 | description = "Soft and cute looking light blue theme." 5 | tags = ["blue", "light", "pastel"] 6 | 7 | [variables] 8 | light = true 9 | accent = "#165EC9" 10 | background = "#FFFFFF" 11 | foreground = "#071D40" 12 | 13 | block = "rgb(43, 118, 231, 0.9)" 14 | message-box = "rgba(89, 148, 236, 0.7)" 15 | mention = "rgba(236, 89, 221, 0.3)" 16 | 17 | success = "#2BE79C" 18 | warning = "#E79C2B" 19 | tooltip = "#5994EC" 20 | error = "#EC6859" 21 | hover = "#c8dbf9" 22 | 23 | [variables.scrollbar] 24 | thumb = "rgba(177, 89, 236, 0.6)" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "rgba(181, 207, 246, 0.31)" 29 | header = "#6296E3" 30 | 31 | [variables.secondary] 32 | background = "#87B2F1" 33 | foreground = "#0C336E" 34 | header = "#6C98DA" 35 | 36 | [variables.tertiary] 37 | background = "#5994EC" 38 | foreground = "#11489C" 39 | 40 | [variables.status] 41 | online = "#59EC68" 42 | away = "#ece75b" 43 | busy = "#EC6859" 44 | streaming = "#9C2BE7" 45 | invisible = "#747f8d" 46 | 47 | [variables.border] 48 | color = "#d0d7de" 49 | -------------------------------------------------------------------------------- /data/dark-purple-theme/Preset.toml: -------------------------------------------------------------------------------- 1 | # URL friendly name 2 | slug = "dark-purple" 3 | # Display name 4 | name = "Dark Purple Theme" 5 | # Authors' name 6 | creator = "MisterZurg" 7 | # Preset description 8 | description = "A dark theme in purple tones for Revolt as in JetBrains IDEs." 9 | tags = ["ui", "purple", "dark", "revolt", "2022"] 10 | version = "0.0.1" 11 | 12 | [variables] 13 | accent = "#b279f2" 14 | background = "#2C2C3B" 15 | foreground = "#D0D0D9" 16 | block = "#2C2C3B" 17 | message-box = "rgba(255, 255, 255, 0.05)" 18 | mention = "#9649cc" 19 | success = "#239E62" 20 | warning = "#cca929" 21 | tooltip = "#9146FF" 22 | error = "#bd3c5f" 23 | hover = "#693687" 24 | 25 | [variables.scrollbar] 26 | thumb = "#524e66" 27 | track = "transparent" 28 | 29 | [variables.primary] 30 | background = "1d1d21" 31 | header = "#3d3952" 32 | 33 | [variables.secondary] 34 | background = "#363445" 35 | foreground = "#6d6a80" 36 | header = "#453A5C" 37 | 38 | [variables.tertiary] 39 | background = "#646078" 40 | foreground = "#FFFFFF" 41 | 42 | [variables.status] 43 | online = "#239E62" 44 | away = "#cca929" 45 | focus = "#9146FF" 46 | busy = "#c63a5d" 47 | streaming = "#8a64b3" 48 | invisible = "#5e5b6b" 49 | sidebar-active = "#202225" 50 | border-color = "#1F1F24" 51 | 52 | light = false 53 | font = "Lexend" 54 | monospaceFont = "JetBrains Mono" 55 | -------------------------------------------------------------------------------- /data/dark-signal/Custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --sidebar-active: #2f3136; 3 | } 4 | 5 | [class*="MessageBox__Base"] { 6 | margin-left: 8px; 7 | margin-right: 8px; 8 | margin-bottom: 8px; 9 | border-radius: 90px; 10 | } 11 | 12 | [class^="MessageBase__MessageInfo"].csvICB { 13 | width: 50px; 14 | } 15 | 16 | [class*="MessageBase__MessageInfo"] > [class*="avatar"] { 17 | height: 28px !important; 18 | width: 28px; 19 | } 20 | 21 | /* Fix for emoji picker */ 22 | [data-test-id="virtuoso-item-list"] > [class^=RowContainer-sc] { 23 | flex-wrap: nowrap; 24 | } 25 | -------------------------------------------------------------------------------- /data/dark-signal/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "darksignal" 2 | name = "Dark Signal" 3 | creator = "Scout339" 4 | description = "My rendition of the Signal app's Dark theme [2024]" 5 | tags = ["dark", "blue", "signal"] 6 | version = "0.0.1" 7 | 8 | [variables] 9 | light = false 10 | accent = "#2667ed" 11 | background = "#292929" 12 | foreground = "#e9e9e9" 13 | block = "#292929" 14 | mention = "rgba(251, 255, 0, 0.2)" 15 | message-box = "#3b3b3b" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#f44339" 20 | hover = "rgba(300, 300, 300, 0.1)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#848484" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#121212" 29 | header = "#2e2e2e" 30 | 31 | [variables.secondary] 32 | background = "#2e2e2e" 33 | foreground = "#C8C8C8" 34 | header = "#292929" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#f44339" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "dark" 2 | name = "Dark Mode" 3 | creator = "Revolt" 4 | description = "This is the default dark theme for Revolt." 5 | tags = ["revolt"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#FD6671" 11 | background = "#191919" 12 | foreground = "#F6F6F6" 13 | 14 | block = "#2D2D2D" 15 | message-box = "#363636" 16 | mention = "rgba(251, 255, 0, 0.06)" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "rgba(0, 0, 0, 0.1)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#CA525A" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#242424" 29 | header = "#363636" 30 | 31 | [variables.secondary] 32 | background = "#1E1E1E" 33 | foreground = "#C8C8C8" 34 | header = "#2D2D2D" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/darkmode-pink/Preset.toml: -------------------------------------------------------------------------------- 1 | name = "Darkmode Pink" 2 | slug = "darkmode-pink" 3 | description = "A pleasant dark theme with pink highlights." 4 | creator = "maloriemeows" 5 | version = "v1.0.0" 6 | 7 | [variables] 8 | light = false 9 | accent = "#e8a6aa" 10 | background = "#101010" 11 | foreground = "#faebeb" 12 | block = "#2D2D2D" 13 | message-box = "#282828" 14 | mention = "#564848" 15 | success = "#65E572" 16 | warning = "#FAA352" 17 | error = "#F06464" 18 | hover = "rgba(0, 0, 0, 0.1)" 19 | tooltip = "#000000" 20 | 21 | [variables.scrollbar] 22 | track = "transparent" 23 | thumb = "#ffb3b8" 24 | 25 | [variables.primary] 26 | header = "#665c5c" 27 | background = "#0d0d0d" 28 | 29 | [variables.secondary] 30 | header = "#2D2D2D" 31 | background = "#131313" 32 | foreground = "#ccadad" 33 | 34 | [variables.tertiary] 35 | background = "#323232" 36 | foreground = "#848484" 37 | 38 | [variables.status] 39 | online = "#3ABF7E" 40 | away = "#F39F00" 41 | focus = "#4799F0" 42 | busy = "#F84848" 43 | streaming = "#977EFF" 44 | invisible = "#A5A5A5" 45 | -------------------------------------------------------------------------------- /data/darkmode-purple/Preset.toml: -------------------------------------------------------------------------------- 1 | # URL friendly name 2 | slug = "darkmode-purple" 3 | 4 | # Display name 5 | name = "Darkmode Purple" 6 | 7 | # Authors' name 8 | creator = "gurblygirl" 9 | 10 | # Preset description 11 | description = "A snazzy, purple, and black theme" 12 | 13 | # Theme Version 14 | # Use Semantic Versioning (https://semver.org/) 15 | # Default: 0.0.1 16 | version = "0.0.1" 17 | 18 | # Tags (optional) 19 | # Must be a single alphanumeric word 20 | tags = ["purple", "dark", "darkmode"] 21 | 22 | [variables] 23 | light = false 24 | accent = "#ad90a9" 25 | background = "#101010" 26 | foreground = "#c8c8c8" 27 | block = "#1e1e1e" 28 | message-box = "#0f0f0f" 29 | mention = "#171717" 30 | success = "#65E572" 31 | warning = "#FAA352" 32 | error = "#F06464" 33 | hover = "rgba(0, 0, 0, 0.1)" 34 | tooltip = "#000000" 35 | 36 | [variables.scrollbar] 37 | track = "transparent" 38 | thumb = "#191919" 39 | 40 | [variables.primary] 41 | header = "#1d1b1d" 42 | background = "#0a0a0a" 43 | 44 | [variables.secondary] 45 | header = "#1e1e1e" 46 | background = "#0d0d0d" 47 | foreground = "#998593" 48 | 49 | [variables.tertiary] 50 | background = "#262224" 51 | foreground = "#969696" 52 | 53 | [variables.status] 54 | online = "#3ABF7E" 55 | away = "#F39F00" 56 | focus = "#4799F0" 57 | busy = "#F84848" 58 | streaming = "#977EFF" 59 | invisible = "#A5A5A5" 60 | -------------------------------------------------------------------------------- /data/deep-ocean/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "deepocean" 2 | name = "Deep Ocean" 3 | creator = "hofq" 4 | description = "Deep oceanic blue inspired by Hyperocean" 5 | tags = ["ocean", "space", "blue", "dark"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#00b0ff" 11 | background = "#0f111a" 12 | foreground = "#FFFFFF" 13 | 14 | block = "rgba(144, 164, 255, 0.1)" 15 | message-box = "#1c2031" 16 | mention = "rgba(242, 242, 122, 0.3)" 17 | 18 | success = "#14b37d" 19 | warning = "#f2f27a" 20 | error = "#ff5f56" 21 | hover = "rgba(144, 164, 255, 0.03)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#ff5f56" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#0b0c13" 29 | header = "#0f111a" 30 | 31 | [variables.secondary] 32 | background = "#0f111a" 33 | foreground = "#bcc6d6" 34 | header = "#1c2031" 35 | 36 | [variables.tertiary] 37 | background = "#1c2031" 38 | foreground = "#9ba3b0" 39 | 40 | [variables.status] 41 | online = "#14b37d" 42 | away = "#f2f27a" 43 | busy = "#ff5f56" 44 | streaming = "#703faf" 45 | invisible = "#8f93a2" -------------------------------------------------------------------------------- /data/discord-colors/Custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --sidebar-active: #2f3136; 3 | } 4 | 5 | a, 6 | a:hover { 7 | color: #13abe8; 8 | } 9 | 10 | /* Apply margin to server scroller */ 11 | [class*="SidebarBase"]:first-child > [class^="Base-sc"] { 12 | margin-bottom: 10px; 13 | margin-left: 10px; 14 | margin-right: 10px; 15 | } 16 | 17 | [data-test-id^="virtuoso-item-list"]{ 18 | margin-top: 10px !important; 19 | } 20 | 21 | [class*="SidebarBase"] 22 | > [class^="Base-sc"] 23 | > [data-test-id*="virtuoso-scroller"] { 24 | width: 70px; 25 | } 26 | 27 | [class*="MessageBox__Base"] { 28 | margin-left: 20px; 29 | margin-right: 20px; 30 | margin-bottom: 26px; 31 | border-radius: 10px; 32 | } 33 | 34 | /* Padding at the end of the chat. */ 35 | [class*="MessageArea__Area"] > div { 36 | padding-bottom: 0px; 37 | } 38 | 39 | [class*="RevoltApp__Routes"] > [class*="Header"] { 40 | background: #36393f; 41 | box-shadow: 1px 1px 1px #27292e; 42 | border-bottom: solid #363636 1px; 43 | } 44 | 45 | [class^="MessageBase__MessageInfo"].csvICB { 46 | width: 90px; 47 | } 48 | 49 | [class*="MessageBase__MessageInfo"] > [class*="avatar"] { 50 | height: 44px !important; 51 | width: 44px; 52 | } 53 | 54 | [class*="MessageArea__Area"] { 55 | --scrollbar-track: #2e3338; 56 | --scrollbar-thickness: 10px; 57 | } 58 | 59 | ::-webkit-scrollbar-thumb { 60 | display: inline-block; 61 | background: #202225; 62 | border-radius: 15px; 63 | 64 | background-clip: border-box !important; 65 | height: 5px !important; 66 | background-size: 5px 5px !important; 67 | background-repeat: no-repeat; 68 | 69 | max-height: 5px !important; 70 | } 71 | 72 | ::-webkit-scrollbar-track { 73 | border-radius: 30px; 74 | } 75 | 76 | :root { 77 | --foreground: #d3d3d3; 78 | } 79 | 80 | ._item_1avxi_1[data-alert="true"] { 81 | color: #ffffff !important; 82 | } 83 | 84 | ._item_1avxi_1[data-active="true"] { 85 | color: #ffffff !important; 86 | } 87 | 88 | :root { 89 | --hover: #3c3f45; 90 | } 91 | 92 | @media (hover: hover) { 93 | [class*="ServerSidebar__ServerList"]:not(:hover) { 94 | overflow: hidden; 95 | } 96 | 97 | [data-test-id*="virtuoso-scroller"]:not(:hover) { 98 | overflow-y: hidden !important; 99 | overflow: hidden; 100 | } 101 | } 102 | 103 | [class*="FilePreview__Container"] { 104 | margin: 10px; 105 | } 106 | 107 | [class*="MessageBox__Blocked"] { 108 | margin-left: 20px; 109 | } 110 | 111 | [class*="MessageBox__Action"] { 112 | margin-right: 10px; 113 | } 114 | 115 | [class*="MessageArea__Area"] > div > [class*="Base-sc"]:has(> time) { 116 | border-top: solid 1px #42464d; 117 | justify-content: center; 118 | } 119 | 120 | [class*="MessageArea__Area"] > div > [class*="Base-sc"]:has(> time) > time { 121 | color: #b9bbbe; 122 | } 123 | 124 | [class*="MessageBase"]:hover { 125 | background: #32353b; 126 | } 127 | 128 | [class*="ServerSidebar__ServerBase"] { 129 | margin: 0 !important; 130 | } 131 | 132 | blockquote { 133 | background: none !important; 134 | border-radius: 2px !important; 135 | border-inline-start-color: #4f545c !important; 136 | } 137 | 138 | @media (hover: none), (pointer: coarse) { 139 | [class^="MessageBase__MessageInfo"].csvICB { 140 | width: 60px; 141 | margin-right: 5px; 142 | } 143 | 144 | [class*="MessageBox__Action"] { 145 | margin-right: 0px; 146 | } 147 | 148 | textarea[class*="TextArea"] { 149 | width: 115%; 150 | } 151 | 152 | /* New observation, above and this can be deleted probably */ 153 | textarea[class*="TextArea"] { 154 | width: 100%; 155 | } 156 | } 157 | 158 | [class*="MessageArea__Area"] { 159 | margin-bottom: -40px; 160 | } 161 | 162 | [class*="MessageArea__Area"] > div { 163 | padding-bottom: 60px; 164 | } 165 | 166 | /* Messages scrollbar overflow fix */ 167 | ::-webkit-scrollbar-track { 168 | margin-bottom: 65px; 169 | margin-top: 53px; 170 | } 171 | 172 | ::-webkit-scrollbar-thumb { 173 | min-height: 0px !important; 174 | } 175 | 176 | a, 177 | a:link, 178 | a:visited, 179 | a:hover { 180 | color: #15afe3; 181 | } 182 | 183 | [class^="SidebarBase"] [class^="ParentBase-sc"] { 184 | height: 48px; 185 | width: 48px; 186 | } 187 | 188 | [class^="SwooshWrapper"] { 189 | top: -58px; 190 | left: -6px; 191 | } 192 | 193 | [class^="SwooshWrapper"] > svg { 194 | width: 66px; 195 | height: 163px; 196 | } 197 | 198 | [class^="MessageBase__MessageInfo"] { 199 | max-height: 38px; 200 | } 201 | 202 | [class^="MessageBase-sc"] { 203 | padding: 0.225rem; 204 | } 205 | 206 | [class^="MessageBase__MessageContent-sc"] > [class^="detail"] { 207 | margin-bottom: 5px; 208 | } 209 | 210 | @media (hover: none), (pointer: coarse) { 211 | [class^="MessageArea__Area-sc"]::-webkit-scrollbar { 212 | width: 0px; 213 | } 214 | } 215 | 216 | [class^="Search__SearchBase-sc"] > input[class^="InputBox-sc"] { 217 | background: #24262a; 218 | } 219 | 220 | 221 | @media (pointer: coarse) { 222 | [class^="ServerSidebar__ServerList-sc"] [class^="_item"] { 223 | height: 46px; 224 | } 225 | } 226 | 227 | @media (pointer: coarse) { 228 | [class^="MessageEditor__EditorBase-sc"] { 229 | position: relative; 230 | left: -6%; 231 | } 232 | } 233 | 234 | @media (pointer: coarse) { 235 | [class^="MessageBox__FloatingLayer-sc"] > [class^="Column-sc"] { 236 | z-index: 6; 237 | } 238 | 239 | [class^="Header-sc"] { 240 | z-index: 1; 241 | } 242 | } 243 | 244 | [class^="MessageBox__FileAction-sc"] > [class^="IconButton-sc"] { 245 | width: 56px; 246 | justify-content: flex-end; 247 | padding-right: 10px; 248 | } 249 | [class^="MessageBox__FileAction-sc"] { 250 | padding-left: 4px; 251 | } 252 | 253 | 254 | /* Make scrollbar alike Discord for Desktop*/ 255 | @media (pointer: fine) { 256 | [class^="Channel__ChannelContent-sc"]{ 257 | margin-right: 5px; 258 | } 259 | [class^="MessageArea__Area-sc"]{ 260 | padding-right: 4px; 261 | } 262 | } 263 | 264 | [class^="MessageBase__MessageContent"] > [class^="_embed"] { 265 | margin: 0.3em 0; 266 | } 267 | 268 | 269 | /* Disable highlights on hover of server channels */ 270 | [class^="ServerSidebar__ServerList-sc"] [class^="_item_"]:hover{ 271 | color: var(--tertiary-foreground); 272 | } 273 | 274 | /* Animations for Server List & Chat Containers */ 275 | 276 | @keyframes scaleanimation{ 277 | 0% { transform: scale(0.9); } 278 | 100% { transform: scale(1.0); } 279 | } 280 | 281 | [class^=ParentBase-sc]:active, [class^=SwooshWrapper-sc] { 282 | animation: scaleanimation 2s forwards; 283 | } 284 | 285 | @keyframes customfadein{ 286 | 0% { opacity: 0; } 287 | 100% { opacity: 1; } 288 | } 289 | 290 | [class^=SwooshWrapper-sc], [class^=Channel__ChannelContent-sc] > * { 291 | animation: customfadein 1.0s forwards; 292 | } 293 | 294 | /* Quick fix for the emoji picker due to recent changes in Revolt's emoji picker behavior. */ 295 | [data-test-id="virtuoso-item-list"] > [class^=RowContainer-sc] { 296 | flex-wrap: nowrap; 297 | } 298 | -------------------------------------------------------------------------------- /data/discord-colors/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "discord-colors" 2 | name = "Discord Colors" 3 | creator = "Eleven" 4 | description = "Discord colors for Revolt." 5 | tags = ["discord", "blurple"] 6 | version = "0.0.3" 7 | 8 | [variables] 9 | light = false 10 | accent = "#5865F2" 11 | background = "#202225" 12 | foreground = "#ffffff" 13 | 14 | block = "#202225" 15 | message-box = "#40444b" 16 | mention = "#4b443b" 17 | 18 | success = "#57F287" 19 | warning = "#FEE75C" 20 | error = "#ED4245" 21 | hover = "rgba(0, 0, 0, 0.1)" 22 | 23 | [variables.sidebar] 24 | active = "#2f3136" 25 | 26 | [variables.scrollbar] 27 | thumb = "#202225" 28 | track = "transparent" 29 | 30 | [variables.primary] 31 | background = "#36393f" 32 | header = "#2f3136" 33 | 34 | [variables.secondary] 35 | background = "#2f3136" 36 | foreground = "#b9bbbe" 37 | header = "#2a2c31" 38 | 39 | [variables.tertiary] 40 | background = "#202225" 41 | foreground = "#b9bbbe" 42 | 43 | [variables.status] 44 | online = "#3ba55d" 45 | away = "#faa81a" 46 | busy = "#ed4245" 47 | streaming = "#593695" 48 | invisible = "#747f8d" 49 | -------------------------------------------------------------------------------- /data/discord-colours-layout/Custom.css: -------------------------------------------------------------------------------- 1 | /* 2 | Fonts 3 | */ 4 | :root { 5 | --text-size: 14px; 6 | } 7 | body { 8 | font-weight: 400; 9 | } 10 | [class^="_item_"] > div[class^="_name_"], [class^="Category-sc-"], [class^="MessageReply__ReplyBase"] .user { 11 | font-weight: 500; 12 | } 13 | /* Revite actually uses important on the author, so we need to do a higher specificity important */ 14 | span.detail span.author { 15 | font-weight: 500 !important; 16 | } 17 | 18 | /* 19 | Layout 20 | */ 21 | [class^="_settings_"] { 22 | position: relative !important; 23 | } 24 | 25 | [class^="MessageBase__MessageInfo"] [class^="IconBase"] { 26 | width: 40px; 27 | height: 40px; 28 | } 29 | 30 | [class^="MessageBase"], .detail { 31 | min-height: 1.375em; 32 | padding: 0.125em; 33 | } 34 | [class^="MessageBase__DetailBase"], 35 | [class^="MessageBase"] > time, 36 | [class^="MessageBase"] > .edited { 37 | min-height: 1em; 38 | display: flex; 39 | justify-content: center; 40 | align-items: center; 41 | } 42 | 43 | [class^="UserShort__BotBadge-sc-"] { 44 | height: 1.3em; 45 | } 46 | 47 | pre { 48 | padding: 0.5em !important; 49 | margin: 0; 50 | } 51 | 52 | /* 53 | Recolours 54 | */ 55 | ::selection { 56 | background-color: var(--accent); 57 | color: var(--foreground); 58 | } 59 | 60 | [class^="MessageReply__ReplyBase"]::before { 61 | border-inline-start: 2px solid var(--tertiary-background); 62 | border-top: 2px solid var(--tertiary-background); 63 | } 64 | 65 | pre { 66 | border: 1px solid var(--background); 67 | } 68 | 69 | /* 70 | Custom Scrollbar 71 | */ 72 | :not( 73 | [data-test-id="virtuoso-scroller"], 74 | [class^="Groups-sc"], 75 | [class*="Sidebar"] 76 | )::-webkit-scrollbar { 77 | width: 16px; 78 | } 79 | 80 | ::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb { 81 | border-radius: 8px; 82 | border: solid 4px transparent !important; 83 | background-clip: padding-box; 84 | } 85 | 86 | ::-webkit-scrollbar-thumb { 87 | min-height: 40px; 88 | } 89 | 90 | ::-webkit-scrollbar-track { 91 | margin-bottom: 4px; 92 | margin-top: 4px; 93 | } 94 | 95 | [data-scroll-offset]::-webkit-scrollbar-track { 96 | margin-top: calc(var(--header-height) + 4px); 97 | } 98 | -------------------------------------------------------------------------------- /data/discord-colours-layout/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "discord-colours-layout" 2 | 3 | name = "Discord Colours & Layout" 4 | creator = "Derpius" 5 | description = "Original Discord colours as well as some custom CSS to replicate the feel" 6 | 7 | tags = ["discord", "blurple"] 8 | version = "0.1.0" 9 | commit = "70bda88" 10 | 11 | [variables] 12 | light = false 13 | accent = "#7289DA" 14 | background = "#202225" 15 | foreground = "#dcddde" 16 | 17 | block = "#2f3136" 18 | message-box = "#34363c" 19 | mention = "hsla(38,95.7%,54.1%,0.1)" 20 | 21 | success = "hsl(139,calc(47.3%),43.9%);" 22 | warning = "#FAA352" 23 | error = "hsl(359,66.7%,54.1%);" 24 | hover = "rgba(0, 0, 0, 0.1)" 25 | 26 | [variables.scrollbar] 27 | thumb = "#202225" 28 | track = "#2f3136" 29 | 30 | [variables.primary] 31 | background = "#36393f" 32 | header = "#2d2f34" 33 | 34 | [variables.secondary] 35 | background = "#2f3136" 36 | foreground = "#C8C8C8" 37 | header = "#2f3136" 38 | 39 | [variables.tertiary] 40 | background = "#4f545c" 41 | foreground = "#a3a6aa" 42 | 43 | [variables.status] 44 | online = "#3ABF7E" 45 | away = "#F39F00" 46 | busy = "#F84848" 47 | streaming = "#977EFF" 48 | invisible = "#A5A5A5" 49 | -------------------------------------------------------------------------------- /data/discord/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "discord" 2 | name = "Discord" 3 | creator = "Axorax" 4 | description = "Theme based on Discord dark mode." 5 | version = "1.0.0" 6 | tags = ["dark", "discord"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#5865F2" 11 | background = "#1E1F22" 12 | foreground = "#fff" 13 | 14 | block = "#2B2D31" 15 | message-box = "#313338" 16 | mention = "#444037" 17 | 18 | success = "#23A55A" 19 | warning = "#F0B132" 20 | error = "#DA373C" 21 | hover = "#2E3035" 22 | 23 | [variables.scrollbar] 24 | thumb = "#1A1B1E" 25 | track = "#2B2D31" 26 | 27 | [variables.primary] 28 | background = "#313338" 29 | header = "#313338" 30 | 31 | [variables.secondary] 32 | background = "#2B2D31" 33 | foreground = "#dbdee1" 34 | header = "#3F4147" 35 | 36 | [variables.tertiary] 37 | background = "#4f4f4f" 38 | foreground = "#8e8f90" 39 | 40 | [variables.status] 41 | online = "#23A55A" 42 | away = "#F0B232" 43 | busy = "#F23F43" 44 | streaming = "#593695" 45 | invisible = "#80848E" 46 | -------------------------------------------------------------------------------- /data/dracula/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "dracula" 2 | name = "Dracula" 3 | creator = "Wild" 4 | description = "Dracula theme for Revolt. https://draculatheme.com/" 5 | 6 | [variables] 7 | light = false 8 | accent = "#ff79c6" 9 | background = "#282a36" 10 | foreground = "#f8f8f2" 11 | 12 | block = "#1C1D26" 13 | message-box = "#343646" 14 | mention = "rgb(139, 233, 253, 0.05)" 15 | 16 | success = "#50fa7b" 17 | warning = "#ffb86c" 18 | error = "#ff5555" 19 | hover = "#282a36" 20 | 21 | [variables.scrollbar] 22 | thumb = "#bd93f9" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#282a36" 27 | header = "#343646" 28 | 29 | [variables.secondary] 30 | background = "#1C1D26" 31 | foreground = "#f8f8f2" 32 | header = "#343646" 33 | 34 | [variables.tertiary] 35 | background = "#282a36" 36 | foreground = "#AEAEA9" 37 | 38 | [variables.status] 39 | online = "#50fa7b" 40 | away = "#ffb86c" 41 | busy = "#ff5555" 42 | streaming = "#bd93f9" 43 | invisible = "#6272a4" 44 | -------------------------------------------------------------------------------- /data/forgejo-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "forgejo-dark" 2 | name = "Forgejo Dark" 3 | creator = "Freeplay" 4 | description = "Forgejo's Dark Colors" 5 | version = "1.0.0" 6 | tags = ["dark", "forgejo"] 7 | 8 | [variables] 9 | accent = "#e5873a" 10 | light = false 11 | background = "#10161d" 12 | foreground = "#D2E0F0" 13 | 14 | block = "#171e26" 15 | message-box = "#1d262f" 16 | mention = "#37435160" 17 | 18 | success = "#0be881" 19 | warning = "#ed8936" 20 | error = "#f66151" 21 | hover = "rgba(34, 45, 55, 0.5)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#e5873a" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#171e26" 29 | header = "#242d38" 30 | 31 | [variables.secondary] 32 | background = "#131a21" 33 | foreground = "#D2E0F0CC" 34 | header = "#1d262f" 35 | 36 | [variables.tertiary] 37 | background = "#171e26" 38 | foreground = "#D2E0F099" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/github-dark-dimmed/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "github-dark-dimmed" 2 | name = "Github Dark Dimmed" 3 | creator = "CodeWhiteOfficial" 4 | description = "Github's Dark Dimmed theme from the official color palette" 5 | tags = ["dark", "dark-dimmed", "github"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#0366d6" 11 | background = "#1B1B1B" 12 | foreground = "#C5C8C6" 13 | block = "#262626" 14 | mention = "rgba(3, 102, 214, 0.06)" 15 | message-box = "#2E2E2E" 16 | 17 | success = "#28A745" 18 | warning = "#F5A623" 19 | error = "#CB2431" 20 | hover = "rgba(0, 0, 0, 0.1)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#3E3E3E" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#282828" 29 | header = "#3C3C3C" 30 | 31 | [variables.secondary] 32 | background = "#252525" 33 | foreground = "#C5C8C6" 34 | header = "#2E2E2E" 35 | 36 | [variables.tertiary] 37 | background = "#383838" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#28A745" 42 | away = "#F5A623" 43 | focus = "#0366d6" 44 | busy = "#CB2431" 45 | streaming = "#3E3E3E" 46 | invisible = "#A5A5A5" 47 | -------------------------------------------------------------------------------- /data/github-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "github-dark" 2 | name = "Github Dark" 3 | creator = "CodeWhiteOfficial" 4 | description = "Github's Dark theme from the official color palette" 5 | tags = ["dark", "github"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#6C63FF" 11 | background = "#1B1F23" 12 | foreground = "#CCCCCC" 13 | block = "#1B1F23" 14 | message-box = "#40444b" 15 | mention = "#4b443b" 16 | 17 | success = "#2D974D" 18 | warning = "#FEE75C" 19 | error = "#ED4245" 20 | hover = "rgba(0, 0, 0, 0.1)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#1B1F23" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#1B1F23" 29 | header = "#181A1F" 30 | 31 | [variables.secondary] 32 | background = "#181A1F" 33 | foreground = "#b9bbbe" 34 | header = "#1B1F23" 35 | 36 | [variables.tertiary] 37 | background = "#1B1F23" 38 | foreground = "#b9bbbe" 39 | 40 | [variables.status] 41 | online = "#2D974D" 42 | away = "#FEE75C" 43 | focus = "#6C63FF" 44 | busy = "#ED4245" 45 | streaming = "#593695" 46 | invisible = "#747f8d" 47 | -------------------------------------------------------------------------------- /data/glass/Custom.css: -------------------------------------------------------------------------------- 1 | ._11Ivv { 2 | background: url("https://autumn.revolt.chat/attachments/FQkCgdyHs4z9OXbdGfbF396uhPahc3seYRFMdEMZqp/axo-theme-bg.jpg"); 3 | background-repeat: no-repeat; 4 | background-size: cover; 5 | } 6 | 7 | .PreloaderBase-sc-1xcl5li-0.ddQdoB { 8 | background: #11111192; 9 | } 10 | 11 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq > div { 12 | background: #11111192; 13 | width: calc(100% - 2rem); 14 | margin-left: 1rem; 15 | margin-top: 2rem; 16 | border-radius: 6px; 17 | } 18 | 19 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div, 20 | .TypingIndicator__Base-sc-1jama4m-0.fUFJYB > div { 21 | background: #11111192; 22 | width: calc(100% - 2rem); 23 | margin-left: 1rem; 24 | border-radius: 0 0 6px 6px; 25 | margin-top: -1rem; 26 | } 27 | 28 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div { 29 | background: #11111192; 30 | width: calc(100% - 2rem); 31 | margin-left: 1rem; 32 | border-radius: 0 0 6px 6px; 33 | margin-top: -1rem; 34 | backdrop-filter: blur(2px); 35 | } 36 | 37 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div button.active { 38 | background: #111111c9; 39 | border: 1px solid #3d3d3d; 40 | } 41 | 42 | .MessageBase__DetailBase-sc-1s9ehlg-3.kyoVXf time { 43 | color: #c9c9c9; 44 | } 45 | 46 | textarea#message::placeholder { 47 | color: #ffffff8e; 48 | } 49 | 50 | .FilePreview__Container-sc-znkm6h-0.ewmXHm { 51 | background: #11111192; 52 | width: calc(100% - 2rem); 53 | margin: 0 0 1rem 0; 54 | margin-left: 1rem; 55 | border-radius: 6px; 56 | backdrop-filter: blur(9px); 57 | } 58 | 59 | .ReplyBar__Base-sc-d2l7w7-0.jtuvHh { 60 | background: #11111192; 61 | width: calc(100% - 2rem); 62 | margin: 0 0 0.5rem 0; 63 | margin-left: 1rem; 64 | border-radius: 6px; 65 | backdrop-filter: blur(9px); 66 | } 67 | 68 | pre.sc-bkzYnD.cjWexI { 69 | background: #11111192; 70 | backdrop-filter: blur(9px); 71 | } 72 | 73 | .Base-sc-1kllx7r-0.iIKZoW { 74 | border-top: thin solid #5eb0c3; 75 | } 76 | 77 | .Base-sc-yb16g4-0.iDeTmr { 78 | margin: 1rem; 79 | background: #11111192; 80 | border-radius: 6px; 81 | } 82 | 83 | .Shadow-sc-yb16g4-1.bSmCBu { 84 | display: none; 85 | } 86 | 87 | .MessageArea__Area-sc-1q4cka6-0.kpVPRw { 88 | margin: 5rem 1rem 1rem 1rem; 89 | background: #11111192; 90 | border-radius: 6px; 91 | backdrop-filter: blur(2.8px); 92 | } 93 | 94 | .MessageBox__Base-sc-jul4fa-0.jBEnry { 95 | background: #11111192; 96 | border-radius: 6px; 97 | margin: 0 1rem 1rem 1rem; 98 | backdrop-filter: blur(3px); 99 | } 100 | 101 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1.dUCGFk { 102 | background: #11111192; 103 | margin: 5rem 1rem 0 0; 104 | height: calc(100vh - 6rem); 105 | border-radius: 6px; 106 | padding: 0.5rem; 107 | } 108 | 109 | .Header-sc-ujh2d9-0.fPzJRX, .Header-sc-ujh2d9-0.fEKFaQ, .Header-sc-ujh2d9-0.dzRjrU, .Header-sc-ujh2d9-0.gXyCoD { 110 | margin: 1rem; 111 | border-radius: 6px; 112 | width: calc(100vw - 22rem); 113 | backdrop-filter: blur(0px); 114 | background: #11111192; 115 | } 116 | 117 | .Header-sc-ujh2d9-0.gXyCoD { 118 | width: calc(100vw - 7.4rem) !important; 119 | } 120 | 121 | .Header-sc-ujh2d9-0.fEKFaQ { 122 | width: calc(100vw - 6.4rem) !important; 123 | margin-left: -15.5rem !important; 124 | } 125 | 126 | ._list_sd6wo_13.with-padding { 127 | background: #11111192; 128 | margin-right: 0.8rem; 129 | margin-top: 5rem; 130 | border-radius: 6px; 131 | height: calc(100vh - 6rem); 132 | } 133 | 134 | .Header-sc-ujh2d9-0.dzRjrU { 135 | width: calc(100vw - 7.4rem) !important; 136 | margin-left: 1rem !important; 137 | } 138 | 139 | .ItemContainer-sc-176t3v5-0.iRFMLa { 140 | overflow: hidden; 141 | } 142 | 143 | .ServerSidebar__ServerBase-sc-1lca5oe-0.JkpVA { 144 | background: #11111192; 145 | border-radius: 6px; 146 | margin: 1rem 0; 147 | height: calc(100vh - 2rem); 148 | } 149 | 150 | .ThemeBaseSelector__List-sc-udzwdl-0.fTtexK > div h4 { 151 | margin-top: .5rem; 152 | color: #c9c9c9; 153 | } 154 | 155 | ._contentcontainer_t7t23_62 h4 { 156 | color: #c9c9c9 !important; 157 | } 158 | 159 | pre.sc-bkzYnD.cjWexI code, 160 | .MemberList__ListCategory-sc-1bwlier-0.fWMCga, 161 | .MemberList__ListCategory-sc-1bwlier-0.jOPNWX, 162 | .SidebarBase-sc-1dma6vq-0.jyizw, 163 | .Channel__ChannelMain-sc-k5myot-0.DmIgS, 164 | .RevoltApp__Routes-sc-1613ew5-2.hpNYLK, 165 | .Channel__ChannelContent-sc-k5myot-1.hfkRtg, 166 | .RevoltApp__Routes-sc-1613ew5-2.jAWgqa, 167 | .Discover__Container-sc-6nwhb3-0.gAGipD, 168 | .Details-sc-3j94yd-0.jKeKvP summary { 169 | background: transparent !important; 170 | } 171 | 172 | a.Base-sc-j9ukbi-0.eMqgHq, 173 | a.Base-sc-j9ukbi-0.bQqZNf, 174 | .TipBase-sc-upm053-0.jzUIcb { 175 | background: #11111192; 176 | border: 1px solid #3d3d3d; 177 | } 178 | 179 | iframe.Discover__Frame-sc-6nwhb3-1.kcZkuw { 180 | margin: 1rem; 181 | border-radius: 10px; 182 | } 183 | 184 | div#Menu, 185 | .MessageBase__MessageContent-sc-1s9ehlg-2.jkmmZm .sc-iBPTik.bnZuoo { 186 | backdrop-filter: blur(9px); 187 | background: #11111192; 188 | } 189 | 190 | ._contentcontainer_t7t23_62::after { 191 | content: "⠀"; 192 | } 193 | 194 | ._embed_dxa3n_1._website_dxa3n_12 { 195 | backdrop-filter: blur(8px); 196 | background: #11111192; 197 | } 198 | 199 | .Header-sc-ujh2d9-0.fPzJRX svg { 200 | width: 22px; 201 | aspect-ratio: 1/1; 202 | } 203 | 204 | .SidebarBase-sc-1dma6vq-0.jyizw { 205 | background: transparent; 206 | backdrop-filter: blur(0); 207 | } 208 | 209 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort { 210 | flex-direction: column !important; 211 | gap: .5rem !important; 212 | } 213 | 214 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort button { 215 | padding: .5rem 1rem !important; 216 | } 217 | 218 | input.InputBox-sc-13s1218-0.bEeAEn { 219 | background: #0c0c0c; 220 | border: 1px solid #3d3d3d; 221 | border-radius: 6px; 222 | } 223 | 224 | input.InputBox-sc-13s1218-0.bEeAEn:hover { 225 | outline: 1px dashed #5eb0c3 !important; 226 | } 227 | 228 | input.InputBox-sc-13s1218-0.bEeAEn:focus { 229 | outline: none !important; 230 | } 231 | 232 | ._item_1avxi_1._user_1avxi_23 { 233 | opacity: .7; 234 | } 235 | 236 | ._item_1avxi_1._user_1avxi_23, ._item_1avxi_1 div._name_1avxi_60 ._subText_1avxi_67 { 237 | color: #e7e7e7bd; 238 | } -------------------------------------------------------------------------------- /data/glass/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "glass" 2 | name = "Glass" 3 | creator = "Axorax" 4 | description = "Modified nucleon theme with glass effect." 5 | version = "1.0.0" 6 | tags = ["dark", "transparent", "glass", "blur", "nucleon-glass"] 7 | 8 | [variables] 9 | light = false 10 | background = "#11111192" 11 | 12 | mention = "rgba(251, 255, 0, 0.1)" 13 | hover = "rgba(0, 0, 0, 0.3)" 14 | 15 | [variables.primary] 16 | background = "#11111192" 17 | 18 | [variables.secondary] 19 | background = "#11111192" 20 | foreground = "#c9c9c9" 21 | -------------------------------------------------------------------------------- /data/gruvbox-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "gruvbox-dark" 2 | name = "Gruvbox Dark" 3 | creator = "to268" 4 | description = "This is the gruvbox dark hard theme" 5 | 6 | [variables] 7 | light = false 8 | accent = "#FB4934" 9 | background = "#282828" 10 | foreground = "#F6F6F6" 11 | 12 | block = "#282828" 13 | message-box = "#3C3836" 14 | mention = "#D3869B" 15 | 16 | success = "#B8BB26" 17 | warning = "#FABD2F" 18 | error = "#FE8019" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#FF424F" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#242424" 27 | header = "#3C3836" 28 | 29 | [variables.secondary] 30 | background = "#3C3836" 31 | foreground = "#C8C8C8" 32 | header = "#504945" 33 | 34 | [variables.tertiary] 35 | background = "#928374" 36 | foreground = "#BDAE93" 37 | 38 | [variables.status] 39 | online = "#8EC07C" 40 | away = "#D65D0E" 41 | busy = "#FB4934" 42 | streaming = "#977ED5" 43 | invisible = "#FBF1C7" -------------------------------------------------------------------------------- /data/horizon/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "horizon" 2 | name = "Horizon" 3 | creator = "Demperor" 4 | description = "The VSCode Horizon theme ported to Revolt." 5 | version = "1.0.0" 6 | 7 | [variables] 8 | light = false 9 | accent = "#6C6F93" 10 | background = "#16161C" 11 | foreground = "#8B8D8F" 12 | 13 | block = "#4B4C535A" 14 | message-box = "#1D1F27" 15 | mention = "#2E303E9F" 16 | 17 | success = "#09F7A0" 18 | warning = "#FAB28E" 19 | tooltip = "#000000" 20 | error = "#F43E5C" 21 | hover = "#083C5A9f" 22 | 23 | sidebar-sidebar-active = "#202225" 24 | 25 | [variables.scrollbar] 26 | thumb = "#8a1046" 27 | track = "#21252E2A" 28 | 29 | [variables.primary] 30 | background = "#1D1F27" 31 | header = "#16161C" 32 | 33 | [variables.secondary] 34 | background = "#1D1F27" 35 | foreground = "#8B8D8F" 36 | header = "#1c2031" 37 | 38 | [variables.tertiary] 39 | background = "#1c2031" 40 | foreground = "#9ba3b0" 41 | 42 | [variables.status] 43 | online = "#27D796" 44 | away = "#FAC29A" 45 | focus = "#4799F0" 46 | busy = "#F09383" 47 | streaming = "#21BFC2" 48 | invisible = "#c8ccd4" 49 | 50 | -------------------------------------------------------------------------------- /data/ice-shard/Custom.css: -------------------------------------------------------------------------------- 1 | /*** Custom css for the ice shard theme ***/ 2 | 3 | /* Removes all round edges on everything */ 4 | :root { 5 | --border-radius: 0; 6 | --border-radius-half: 0; 7 | } 8 | 9 | /* Adds a light blue line between the server and channel list */ 10 | .dGrZZ { 11 | border-right: 2px solid #72F5F3; 12 | } 13 | 14 | /* Makes spoilers a lighter color, to make them better visible on the dark background */ 15 | :root .spoiler { 16 | background: #313152; 17 | } 18 | 19 | /* Hides the wave used as a chosen server indicator by default */ 20 | .QgupM span, .kGANuc span { 21 | display: none; 22 | } 23 | 24 | /* Adds a light blue border around the active server's icon */ 25 | .QgupM svg, .kGANuc svg { 26 | outline-style: solid; 27 | outline-color: #72F5F3; 28 | outline-width: 2px; 29 | } 30 | 31 | /* Colored outline and name of picked channel */ 32 | ._compact_12e90_19[data-active=true], 33 | ._normal_12e90_16[data-active=true], 34 | ._user_12e90_23[data-active=true] { 35 | color: #37FFF8; 36 | outline-style: solid; 37 | outline-color: #72F5F3; 38 | outline-width: 2px; 39 | } 40 | 41 | /* Mention message colored + bold text */ 42 | div.CaijV > div.jgcjMZ > ._markdown_8b8eo_2, 43 | div.cCwoWr > div.jgcjMZ > ._markdown_8b8eo_2 { 44 | color: #4CFAFF; 45 | font-weight: bold; 46 | } 47 | 48 | /* Nice home screen */ 49 | ._home_1khrk_1 { 50 | height: 100%; 51 | background-image: url("https://autumn.revolt.chat/attachments/hqI1nk7NBECh8n7GP3eqt-PXv-5tXGWGnbn9qJWZUO"); 52 | background-repeat: no-repeat; 53 | background-attachment: fixed; 54 | background-size: 100% 100%; 55 | } 56 | /* Outlining buttons on home screen for better readability */ 57 | div._actions_1khrk_12 > a > div, 58 | div._actions_1khrk_12 > div > a > div { 59 | outline-style: solid; 60 | outline-color: #72F5F3; 61 | outline-width: 1px; 62 | } 63 | 64 | /* Nicer link hovers */ 65 | p>a:hover,span>a:hover,li>a:hover,strong>a:hover,th>a:hover,td>a:hover, 66 | h1>a:hover,h2>a:hover,h3>a:hover,h4>a:hover,h5>a:hover,h6>a:hover{ 67 | color: magenta; 68 | background: cyan; 69 | text-decoration: none !important; 70 | } 71 | 72 | /* Nicer name hovers */ 73 | .author:hover,.user>span:hover{ 74 | background: cyan !important; 75 | text-decoration: none !important; 76 | color: #000056; 77 | } 78 | 79 | /* Readable buttons on pop-up menus and bot badges */ 80 | .ZAptB, .iYfESC, .kqSFkj { 81 | color: #000056; 82 | font-weight: bold; 83 | } 84 | 85 | /* Theme consistent colors on message search */ 86 | .kRnBUt { 87 | color: #000056; 88 | font-weight: bold; 89 | background: #00FFF5; 90 | } 91 | .kRnBUt:hover { 92 | background: #4CFAFF; 93 | } 94 | .jqHpRY { 95 | color: #00FFF5; 96 | } 97 | 98 | /* buttons and checkboxes */ 99 | .check, .dvKiPb { 100 | outline-style: solid; 101 | outline-color: #72F5F3; 102 | outline-width: 1px; 103 | } 104 | 105 | /***** END *****/ 106 | -------------------------------------------------------------------------------- /data/ice-shard/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "ice-shard" 2 | name = "Ice Shard" 3 | creator = "Cara" 4 | commit = "3cf8c64" 5 | description = "Very dark backgrounds and light blue details. Making use of custom css to give the app a sharp, cold feel and add a number of simple ux improvements." 6 | 7 | [variables] 8 | light = false 9 | accent = "#00fff5" 10 | background = "#0a0a0a" 11 | foreground = "#e2ffff" 12 | 13 | block = "#262630" 14 | message-box = "#1d1d1d" 15 | mention = "rgba(0, 0, 86, 0.40)" 16 | 17 | success = "#5bffbc" 18 | warning = "#ffb44a" 19 | error = "#e72a4f" 20 | hover = "rgba(37, 37, 48, 0.2)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#6399a1" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#181818" 28 | header = "#1e1e1e" 29 | 30 | [variables.secondary] 31 | background = "#141414" 32 | foreground = "#acf8ff" 33 | header = "#1e1e1e" 34 | 35 | [variables.tertiary] 36 | background = "#292929" 37 | foreground = "#dbffff" 38 | 39 | [variables.status] 40 | online = "#4cfaff" 41 | away = "#cfe40b" 42 | busy = "#fe0e4d" 43 | streaming = "#b961ff" 44 | invisible = "#cdcdcd" 45 | -------------------------------------------------------------------------------- /data/iceshrimp-light/Custom.css: -------------------------------------------------------------------------------- 1 | /* 2 | This is the default CSS for the IceShrimp Light theme. 3 | 4 | This applies small fixes that makes Revolt more in place 5 | with the upstream theme, it is entirely optional to have 6 | this CSS as-is, but things may feel slightly off. 7 | */ 8 | 9 | :root { 10 | --border-radius-user-icon: 8px; 11 | font-feature-settings: "liga" 1, "calt" 1; 12 | } 13 | 14 | a[href^="/server/"] svg > circle { 15 | fill: #303446 !important; 16 | } 17 | 18 | [class^="UserShort__Name"] { 19 | filter: contrast(70%); 20 | } 21 | 22 | [class^="MessageReply__ReplyBase-sc-"]::before { 23 | border-inline-start: 2px solid #a5adce; 24 | border-top: 2px solid #a5adce; 25 | } 26 | 27 | [class^="TypingIndicator__Base-sc-"] > div > [class^="avatars"] > img { 28 | border-radius: var(--border-radius-user-icon); 29 | } 30 | 31 | [data-item-index="0"] [class^="ItemContainer-sc-176t3v5-0"] foreignObject :is(div, img) { 32 | border-radius: var(--border-radius-user-icon) !important; 33 | } 34 | 35 | [class^="ServerHeader__ServerBanner-sc-"] { 36 | margin: 0.5rem; 37 | border-radius: var(--border-radius-user-icon); 38 | } 39 | -------------------------------------------------------------------------------- /data/iceshrimp-light/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "iceshrimp-light" 2 | name = "Iceshrimp Light" 3 | creator = "theycallhermax" 4 | description = "The light theme from the Misskey fork bringing you no-nonsense fixes, features and improvements you actually want" 5 | tags = ["light", "blue", "iceshrimp"] 6 | version = "1.3.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#9A92FF" 11 | background = "#f1f5ff" 12 | foreground = "#3B364C" 13 | 14 | block = "#414141" 15 | message-box = "#f1f5ff" 16 | mention = "rgb(229, 200, 144, 0.40)" 17 | 18 | success = "rgb(134, 179, 0)" 19 | warning = "rgb(255, 240, 219)" 20 | error = "rgb(236, 65, 55)" 21 | hover = "rgba(0, 0, 0, 0.1)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#9A92FF" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#E7EDFF" 29 | header = "#f1f5ff" 30 | 31 | [variables.secondary] 32 | background = "#f1f5ff" 33 | foreground = "#3B364C" 34 | header = "#c6d0f5" 35 | 36 | [variables.tertiary] 37 | background = "#9A92FF" 38 | foreground = "#3B364C" 39 | 40 | [variables.status] 41 | online = "#58d4c9" 42 | away = "#e8cd7e" 43 | busy = "#ea5353" 44 | streaming = "#89b4fa" 45 | invisible = "#888888" 46 | -------------------------------------------------------------------------------- /data/irc-chat/Custom.css: -------------------------------------------------------------------------------- 1 | /*Original theme: <@01FE43S0TRRR73MEP5Y63Z9MCB>(@Davari) 2 | Edits to make more usable made by <@01FTN0QWKA45VG5CPCVJH7H399>(@MYT) 3 | */ 4 | * { 5 | border-color: var(--border-color) !important; 6 | } 7 | @font-face { 8 | font-family: Blank; 9 | src: url("https://raw.githack.com/adobe-fonts/adobe-blank/master/AdobeBlank.ttf.woff?raw=true"); 10 | unicode-range: U+61-7a,U+41-5a,U+20 11 | } 12 | :root { 13 | font-variant-ligatures:normal!important; 14 | --font: var(--monospace-font) !important; 15 | --irc-chat-width: 260px; 16 | } 17 | [class^=MessageBase-] { 18 | position: relative; 19 | margin-top: 0; 20 | } 21 | [class^=MessageBase__MessageInfo] { 22 | width: var(--irc-chat-width); 23 | margin-right: 10px; 24 | } 25 | [class^=MessageBase__MessageInfo]>svg, .user>svg { 26 | display: none; 27 | } 28 | [class^=Channel__ChannelContent] [class^=MessageBase__MessageContent] { 29 | position: unset; 30 | } 31 | [class^=MessageBase__MessageContent]>.detail { 32 | position: absolute; 33 | left: 0; 34 | top: 0; 35 | width: var(--irc-chat-width); 36 | display: flex; 37 | flex-direction: row-reverse; 38 | } 39 | [class^=MessageBase__MessageContent]>.detail>.author { 40 | word-break: break-all; 41 | } 42 | [class^=MessageBase__MessageInfo]>time { 43 | opacity: 1 !important; 44 | flex-grow: 1; 45 | } 46 | [class^=MessageReply__ReplyBase] { 47 | margin-left: calc(var(--irc-chat-width) + 15px); 48 | margin-top: 0; 49 | } 50 | [class^=MessageReply__ReplyBase]::before { 51 | content: '>'; 52 | border: none; 53 | align-self: center; 54 | width: auto; 55 | height: 100%; 56 | } 57 | [class^=MessageBase__DetailBase] { 58 | margin-right: auto; 59 | } 60 | [class^=MessageBase__DetailBase]>time { 61 | margin-left: 2px; 62 | font-family: Blank, var(--font); 63 | } 64 | [class^=MessageBase__]>time::before { 65 | content: '[' 66 | } 67 | [class^=MessageBase__]>time::after { 68 | content: ']' 69 | } 70 | [class^=MessageBase__MessageContent]>.detail>.author::before, .user>span::before { 71 | content: '<' 72 | } 73 | [class^=MessageBase__MessageContent]>.detail>.author::after, .user>span::after { 74 | content: '>' 75 | } 76 | [class^=DateDivider__Base] { 77 | margin: 3px -6px; 78 | padding: 1px 4px; 79 | position: sticky; 80 | top: 0; 81 | border: unset; 82 | background: var(--secondary-header); 83 | height: auto; 84 | z-index: 1; 85 | } 86 | [class^=DateDivider__Base]>time { 87 | font-size: 10px; 88 | background: unset; 89 | } 90 | [class^=MessageArea__Area] { 91 | background: linear-gradient(to right, var(--secondary-background) calc(var(--irc-chat-width) + 7px), #0000 calc(var(--irc-chat-width) + 7px)) 92 | } 93 | /*[class^=MessageArea__Area]>div { 94 | padding-bottom: 0; 95 | } 96 | to reactivate this, you need to hide the * is typing bar*/ 97 | [class^=DateDivider__Unread] { 98 | padding: unset; 99 | border-radius: unset; 100 | background: unset; 101 | color: var(--accent); 102 | font-size: 10px; 103 | margin: 0 5px; 104 | } 105 | [class^=DateDivider__Unread]::after { 106 | content: ''; 107 | position: absolute; 108 | width: 100%; 109 | background: var(--accent); 110 | height: 1px; 111 | top: 7px; 112 | margin-left: 5px; 113 | } 114 | [class^=Channel__ChannelContent] [class^=MessageBase__MessageInfo]>.copyTime { 115 | position: relative; 116 | } 117 | -------------------------------------------------------------------------------- /data/irc-chat/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "irc-chat" 2 | name = "IRC Chat" 3 | creator = "ERROR_404_NULL_NOT_FOUND" 4 | description = "A pure CSS theme looking to emulate the look and feel of an IRC chat. Colors are amoled. Credits are in Custom.css" 5 | tags = ['amoled','irc','IRC','compact','no-pfps'] 6 | 7 | [variables] 8 | light = false 9 | accent = "#FD6671" 10 | background = "#000000" 11 | foreground = "#FFFFFF" 12 | 13 | block = "#1D1D1D" 14 | message-box = "#000000" 15 | mention = "rgba(251, 255, 0, 0.06)" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#F06464" 20 | hover = "rgba(0, 0, 0, 0.1)" 21 | 22 | [variables.scrollbar] 23 | thumb = "#CA525A" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#000000" 28 | header = "#000000" 29 | 30 | [variables.secondary] 31 | background = "#000000" 32 | foreground = "#DDDDDD" 33 | header = "#1A1A1A" 34 | 35 | [variables.tertiary] 36 | background = "#000000" 37 | foreground = "#AAAAAA" 38 | 39 | [variables.status] 40 | online = "#3ABF7E" 41 | away = "#F39F00" 42 | busy = "#F84848" 43 | streaming = "#977EFF" 44 | invisible = "#A5A5A5" 45 | -------------------------------------------------------------------------------- /data/kyli0x/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "kyli0x" 2 | name = "kyli0x's Theme" 3 | creator = "kyli0x" 4 | description = "Cyan and gray based theme for Revolt" 5 | versions = "1.0.0" 6 | tags = ["dark", "cyan", "gray", "orange"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#1AABA0" 11 | background = "#444444" 12 | foreground = "#FFFFFF" 13 | 14 | block = "#333333" 15 | message-box = "#333333" 16 | mention = "AB581A" 17 | 18 | success = "#ff7d00" 19 | warning = "#aba01a" 20 | tooltip = "#5994EC" 21 | error = "#AB1A25" 22 | hover = "#222222" 23 | 24 | [variables.scrollbar] 25 | thumb = "#FF7D00" 26 | track = "transparent" 27 | 28 | [variables.primary] 29 | background = "#222222" 30 | header = "#222222" 31 | 32 | [variables.secondary] 33 | background = "#222222" 34 | foreground = "BCC6D6" 35 | header = "#444444" 36 | 37 | [variables.tertiary] 38 | background = "#FF7D00" 39 | foreground = "#9BA3B0" 40 | 41 | [variables.status] 42 | online = "#30B6A0" 43 | away = "#ABA01A" 44 | focus = "#9146FF" 45 | busy = "#AB1A25" 46 | streaming = "#A01AAB" 47 | invisible = "#8F93A2" 48 | -------------------------------------------------------------------------------- /data/light/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "light" 2 | name = "Light Mode" 3 | creator = "Revolt" 4 | description = "This is the default light theme for Revolt." 5 | tags = ["revolt"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#FD6671" 11 | background = "#F6F6F6" 12 | foreground = "#101010" 13 | 14 | block = "#414141" 15 | message-box = "#F1F1F1" 16 | mention = "rgba(251, 255, 0, 0.40)" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "rgba(0, 0, 0, 0.2)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#CA525A" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#FFFFFF" 29 | header = "#F1F1F1" 30 | 31 | [variables.secondary] 32 | background = "#F1F1F1" 33 | foreground = "#888888" 34 | header = "#F1F1F1" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#646464" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/lucifers-fall/Custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --border-radius-user-icon: 12px; 3 | --primary-background: rgba(var(--primary-background-rgb), 0.70); 4 | --secondary-background: rgba(var(--secondary-background-rgb), 0.35); 5 | --message-box: rgba(var(--secondary-background-rgb), 0.70); 6 | --block: rgba(var(--primary-background-rgb), 0.70); 7 | } 8 | 9 | [class^="RevoltApp__AppContainer-sc-"] { 10 | z-index: -999; 11 | background: url('https://autumn.revolt.chat/attachments/KHu7zDNg6LcIvIYq22cICwDL8FzqRfjCpFiTW7UvG8/Untitled281_20221101085844.png'); 12 | background-position: center; 13 | background-repeat: no-repeat; 14 | background-attachment: fixed; 15 | background-size: cover; 16 | position: absolute; 17 | display: block; 18 | inset: 0; 19 | top: 0; 20 | } 21 | 22 | [class^="MessageReply__ReplyBase"]::before { 23 | border-inline-start: 2px solid var(--tertiary-background); 24 | border-top: 2px solid var(--tertiary-background);} 25 | -------------------------------------------------------------------------------- /data/lucifers-fall/Preset.toml: -------------------------------------------------------------------------------- 1 | name = "Lucifer's Fall" 2 | slug = "lucifers-fall" 3 | creator = "The Humanoid" 4 | version = "v0.0.1" 5 | tags = ["amoled", "purple"] 6 | description = "AMOLED black theme based around Lucifer's Fall with a purple accent." 7 | 8 | [variables] 9 | light = false 10 | accent = "#662d73" 11 | background = "#000000" 12 | foreground = "#F6F6F6" 13 | block = "#000000" 14 | message-box = "#000000" 15 | mention = "#662d73" 16 | success = "#65E572" 17 | warning = "#FAA352" 18 | error = "#ED4245" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | tooltip = "#000000" 21 | 22 | [variables.scrollbar] 23 | track = "transparent" 24 | thumb = "#662d73" 25 | 26 | [variables.primary] 27 | header = "#000000" 28 | background = "#000000" 29 | 30 | [variables.secondary] 31 | header = "#000000" 32 | background = "#000000" 33 | foreground = "#C8C8C8" 34 | [variables.tertiary] 35 | background = "#662d73" 36 | foreground = "#C8C8C8" 37 | 38 | [variables.status] 39 | online = "#3ABF7E" 40 | away = "#F39F00" 41 | focus = "#4799F0" 42 | busy = "#F84848" 43 | streaming = "#977EFF" 44 | invisible = "#A5A5A5" 45 | -------------------------------------------------------------------------------- /data/material-dark/Custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --messagebgcolor: rgb(33, 35, 38); 3 | --embedbgcolor: rgb(21, 23, 25); 4 | --popoutcolor: rgb(45, 48, 52); 5 | --serverbarselectedcolor: rgb(255, 255, 255); 6 | --actionbarbuttonhovercolor: rgba(255, 255, 255, 0.075); 7 | --actionbarbgcolor: rgb(45, 48, 52); 8 | --dividerlinecolor: rgba(255, 255, 255, 0.125); 9 | --contextmenubuttonhovercolor: rgb(61, 63, 67); 10 | --tippybgcolor: rgba(97, 97, 97, 0.9); 11 | --tippytextcolor: rgb(246, 246, 246); 12 | --pendingrequestbgcolor: rgb(39, 39, 42); 13 | --mediaradius: calc(18px / 1.75); 14 | --messageboxradius: calc(48px / 2); 15 | --cubicbezieranimation: cubic-bezier(0.4, 0, 0.2, 1); 16 | } 17 | 18 | .MessageBox__Base-sc-jul4fa-0 { 19 | border-radius: var(--messageboxradius) !important; 20 | position: relative; 21 | top: -10px; 22 | width: 98%; 23 | margin-left: 15px; 24 | } 25 | 26 | .FilePreview__Container-sc-znkm6h-0 { 27 | border-radius: var(--messageboxradius) var(--messageboxradius) 0 0; 28 | position: relative; 29 | top: -10px; 30 | width: 98%; 31 | margin-left: 15px; 32 | } 33 | 34 | .FilePreview__Container-sc-znkm6h-0:before, .FilePreview__Container-sc-znkm6h-0:after { 35 | content: " "; 36 | position: absolute; 37 | width: 0; 38 | height: 0; 39 | bottom: calc(18px / 0.95* -1); 40 | background-color: transparent; 41 | border: calc(18px / 1.8) solid transparent; 42 | border-top-color: var(--message-box); 43 | pointer-events: none; 44 | } 45 | 46 | .FilePreview__Container-sc-znkm6h-0:before { 47 | border-right-color: var(--message-box); 48 | right: -0.01px; 49 | } 50 | 51 | .FilePreview__Container-sc-znkm6h-0:after { 52 | border-left-color: var(--message-box); 53 | left: -0.3px; 54 | } 55 | 56 | .FilePreview__PreviewBox-sc-znkm6h-6, .FilePreview__EmptyEntry-sc-znkm6h-5 { 57 | border-radius: 18px; 58 | } 59 | 60 | .sc-dmlqKv { 61 | font-size: 110%; 62 | } 63 | 64 | ._sidebar_t7t23_39 { 65 | max-width: 240px; 66 | } 67 | 68 | ._contentcontainer_t7t23_62 { 69 | min-width: 0px !important; 70 | max-width: 1600px !important; 71 | width: 80% !important; 72 | margin-left: 10%; 73 | } 74 | 75 | .Container-sc-1d91xkm-1 { 76 | box-shadow: hsl(0, 0%, 0%, 0.28) 0px 8px 24px; 77 | } 78 | 79 | ._closeButton_t7t23_240 { 80 | border: none !important; 81 | } 82 | 83 | ._content_1avxi_40 { 84 | font-weight: 500 !important; 85 | } 86 | 87 | ._item_1avxi_1 { 88 | transition: background-color 250ms var(--cubicbezieranimation) !important; 89 | } 90 | 91 | .ServerSidebar__ServerList-sc-1lca5oe-1 { 92 | background: var(--primary-background); 93 | scrollbar-width: none; 94 | } 95 | 96 | .SidebarBase__GenericSidebarList-sc-1dma6vq-2 { 97 | background: var(--primary-background); 98 | scrollbar-width: none; 99 | } 100 | 101 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1 { 102 | background: var(--primary-background); 103 | } 104 | 105 | .MemberList__ListCategory-sc-1bwlier-0 { 106 | background: var(--primary-background); 107 | } 108 | 109 | .MessageBase-sc-1s9ehlg-0 { 110 | background-color: var(--messagebgcolor); 111 | border-radius: 18px; 112 | transition: background-color 250ms var(--cubicbezieranimation); 113 | margin-left: 78px; 114 | margin-right: 10px; 115 | } 116 | 117 | .MessageBase__MessageInfo-sc-1s9ehlg-1 { 118 | left: -75px; 119 | position: relative; 120 | } 121 | 122 | .MessageBase__MessageInfo-sc-1s9ehlg-1:not(:has(time)) { 123 | left: -50px; 124 | width: 40px; 125 | height: 40px; 126 | } 127 | 128 | .MessageBase__MessageInfo-sc-1s9ehlg-1 > div { 129 | width: 50px; 130 | } 131 | 132 | .MessageBase__MessageContent-sc-1s9ehlg-2 { 133 | left: -30px; 134 | } 135 | 136 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time) .MessageBase__MessageContent-sc-1s9ehlg-2 { 137 | left: -66px; 138 | flex: 0 0 auto; 139 | width: calc(100% - 40px); 140 | } 141 | 142 | .SystemMessage__SystemContent-sc-1au0o14-0 { 143 | left: -55px; 144 | position: relative; 145 | } 146 | 147 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time) { 148 | border-radius: 0 0 18px 18px; 149 | } 150 | 151 | .MessageBase-sc-1s9ehlg-0:has(.SystemMessage__SystemContent-sc-1au0o14-0) { 152 | border-radius: 18px !important; 153 | } 154 | 155 | .sc-iBPTik { 156 | box-shadow: hsl(0, 0%, 0%, 0.28) 0px 8px 24px; 157 | background: var(--actionbarbgcolor); 158 | border: none; 159 | border-radius: 16px; 160 | right: -26.75px; 161 | transition: width 250ms var(--cubicbezieranimation); 162 | } 163 | 164 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):before, .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):after { 165 | content: " "; 166 | position: relative; 167 | width: 0; 168 | height: 0; 169 | top: calc(18px / 1.15 * -1); 170 | background-color: transparent; 171 | border: calc(18px / 2.275) solid transparent; 172 | border-bottom-color: var(--messagebgcolor); 173 | pointer-events: none; 174 | transition: border-color 250ms var(--cubicbezieranimation); 175 | } 176 | 177 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):before { 178 | left: -2px; 179 | border-left-color: var(--messagebgcolor); 180 | } 181 | 182 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):after { 183 | right: 34px; 184 | border-right-color: var(--messagebgcolor); 185 | } 186 | 187 | .MessageEditor__EditorBase-sc-133d9pc-0 { 188 | position: relative; 189 | left: -37px; 190 | } 191 | 192 | .MessageReply__ReplyBase-sc-utzx7-0 { 193 | position: relative; 194 | left: 18px; 195 | } 196 | 197 | .EmbedInvite__EmbedInviteBase-sc-154n8c6-0 { 198 | background-color: var(--embedbgcolor); 199 | border-radius: var(--mediaradius); 200 | } 201 | 202 | ._attachment_197qa_1 { 203 | background: var(--embedbgcolor) !important; 204 | border-radius: var(--mediaradius); 205 | } 206 | 207 | ._actions_iu4oa_1 { 208 | background: transparent; 209 | } 210 | 211 | .ReplyBar__Base-sc-d2l7w7-0 { 212 | position: relative; 213 | top: -10px; 214 | background: transparent; 215 | } 216 | 217 | .TypingIndicator__Base-sc-1jama4m-0 { 218 | top: -10px; 219 | width: 97.5%; 220 | } 221 | 222 | .TypingIndicator__Base-sc-1jama4m-0 > div { 223 | background-color: var(--primary-background); 224 | backdrop-filter: blur(0px) !important; 225 | z-index: 1; 226 | } 227 | 228 | .MessageArea__Area-sc-1q4cka6-0 { 229 | width: 98%; 230 | margin-bottom: 15px; 231 | } 232 | 233 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq { 234 | display: flex; 235 | top: 5px; 236 | border-radius: 0 0 0 0; 237 | z-index: 2; 238 | justify-content: center; 239 | align-items: center; 240 | } 241 | 242 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq > div { 243 | border-radius: 50px; 244 | height: 52px; 245 | width: 40%; 246 | width: max-content; 247 | } 248 | 249 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn { 250 | display: flex; 251 | top: -75px; 252 | border-radius: 0 0 0 0; 253 | z-index: 2; 254 | justify-content: right; 255 | align-items: right; 256 | } 257 | 258 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div { 259 | border-radius: 15px; 260 | min-width: 80px !important; 261 | width: max-content; 262 | height: 56px; 263 | margin-right: 20px; 264 | background-color: var(--accent); 265 | color: rgb(255, 255, 255); 266 | } 267 | 268 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn .right { 269 | flex-direction: row-reverse; 270 | } 271 | 272 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq .right > span, .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div > div:not(.right) { 273 | display: none; 274 | } 275 | 276 | .JumpToBottom__Bar-sc-v9kqir-0 .StyledIconBase-ea9ulj-0 { 277 | width: 36px; 278 | height: 36px; 279 | } 280 | 281 | .ButtonItem-sc-1ixnesa-0, ._item_1avxi_1 { 282 | border-radius: 21px; 283 | } 284 | 285 | .Button-sc-wdolxy-0 { 286 | border-radius: 18px; 287 | background-color: var(--accent); 288 | height: 36px; 289 | } 290 | 291 | .Button-sc-wdolxy-0.jMjzeh { 292 | background-color: transparent; 293 | } 294 | 295 | .Actions-sc-1d91xkm-4 { 296 | background: var(--secondary-header); 297 | } 298 | 299 | .sc-fubCzh { 300 | border-radius: 50px; 301 | } 302 | 303 | .sc-fubCzh:hover { 304 | background-color: var(--actionbarbuttonhovercolor); 305 | } 306 | 307 | ._item_1avxi_1[data-active=true] { 308 | background-color: color-mix(in srgb, var(--accent) 35%, transparent); 309 | } 310 | 311 | .context-menu { 312 | background-color: var(--popoutcolor) !important; 313 | border-radius: 8px; 314 | box-shadow: 0 4px 8px 0 rgb(0, 0, 0) ; 315 | animation: opacity-anim 100ms ease, context-menu-anim 300ms var(--cubicbezieranimation); 316 | transform-origin: top; 317 | backdrop-filter: none !important; 318 | } 319 | 320 | .context-menu > span { 321 | transition: background-color 250ms var(--cubicbezieranimation); 322 | min-height: 32px; 323 | padding: 9px 12px !important; 324 | margin: 0 !important; 325 | } 326 | 327 | .context-menu > span:not([data-disabled=true]):hover, .context-menu .main > span:not([data-disabled=true]):hover { 328 | background-color: var(--contextmenubuttonhovercolor) !important; 329 | } 330 | 331 | .LineDivider-sc-135498f-0 { 332 | width: 100%; 333 | background-color: var(--dividerlinecolor); 334 | margin: 8px 0; 335 | } 336 | 337 | ._friend_sd6wo_33 { 338 | transition: background-color .2s ease; 339 | border-radius: 18px; 340 | } 341 | 342 | ._friend_sd6wo_33:hover { 343 | background-color: var(--hover); 344 | } 345 | 346 | ._button_sd6wo_44 { 347 | background-color: transparent; 348 | } 349 | 350 | .SwooshWrapper-sc-176t3v5-1 { 351 | transform: rotate(180deg); 352 | left: -33px; 353 | top: -37px; 354 | } 355 | 356 | .SwooshWrapper-sc-176t3v5-1 > svg { 357 | width: 30px; 358 | } 359 | 360 | .SwooshWrapper-sc-176t3v5-1 > svg > path { 361 | fill: var(--serverbarselectedcolor); 362 | } 363 | 364 | .Base-sc-j9ukbi-0 { 365 | border-radius: 16px; 366 | } 367 | 368 | .tippy-box { 369 | border-radius: 8px; 370 | background-color: var(--tippybgcolor); 371 | color: var(--tippytextcolor); 372 | } 373 | 374 | .tippy-arrow { 375 | display: none; 376 | } 377 | 378 | ._header_kup3j_8 { 379 | border-radius: 18px 18px 0 0; 380 | } 381 | 382 | ._content_kup3j_90 { 383 | border-radius: 0 0 18px 18px; 384 | } 385 | 386 | ._pending_sd6wo_95 { 387 | border-radius: 18px; 388 | background: var(--pendingrequestbgcolor); 389 | } 390 | 391 | ._entry_kup3j_140 { 392 | transition: background-color 250ms var(--cubicbezieranimation); 393 | } 394 | 395 | @keyframes opacity-anim { 396 | from { 397 | opacity: 0; 398 | } 399 | } 400 | 401 | @keyframes context-menu-anim { 402 | from { 403 | transform: scale(1, 0.5); 404 | } 405 | } -------------------------------------------------------------------------------- /data/material-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "material-dark" 2 | name = "Material Dark" 3 | creator = "netpa" 4 | description = "A theme based on Google's Material Design" 5 | tags = ["material", "google", "blue"] 6 | version = "1.1.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#557BE2" 11 | background = "#0E0F11" 12 | foreground = "#F6F6F6" 13 | 14 | block = "#151719" 15 | message-box = "#27272A" 16 | mention = "#303D5F" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "#2B2D31" 22 | 23 | [variables.scrollbar] 24 | thumb = "#D1D1D1" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#151619" 29 | header = "#151619" 30 | 31 | [variables.secondary] 32 | background = "#0E0F11" 33 | foreground = "#C8C8C8" 34 | header = "#151619" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#43B683" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" -------------------------------------------------------------------------------- /data/material-light/Custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --messagebgcolor: rgb(228, 230, 231); 3 | --embedbgcolor: rgb(199, 201, 204); 4 | --popoutcolor: rgb(255, 255, 255); 5 | --serverbarselectedcolor: rgb(47, 48, 53); 6 | --actionbarbuttonhovercolor: rgb(228, 228, 228); 7 | --actionbarbgcolor: rgb(255, 255, 255); 8 | --dividerlinecolor: rgb(205, 205, 205); 9 | --contextmenubuttonhovercolor: rgb(229, 229, 229); 10 | --tippybgcolor: rgba(97, 97, 97, 0.9); 11 | --tippytextcolor: rgb(197, 197, 197); 12 | --pendingrequestbgcolor: rgb(220, 220, 220); 13 | --mediaradius: calc(18px / 1.75); 14 | --messageboxradius: calc(48px / 2); 15 | --cubicbezieranimation: cubic-bezier(0.4, 0, 0.2, 1); 16 | } 17 | 18 | .MessageBox__Base-sc-jul4fa-0 { 19 | border-radius: var(--messageboxradius) !important; 20 | position: relative; 21 | top: -10px; 22 | width: 98%; 23 | margin-left: 15px; 24 | } 25 | 26 | .FilePreview__Container-sc-znkm6h-0 { 27 | border-radius: var(--messageboxradius) var(--messageboxradius) 0 0; 28 | position: relative; 29 | top: -10px; 30 | width: 98%; 31 | margin-left: 15px; 32 | } 33 | 34 | .FilePreview__Container-sc-znkm6h-0:before, .FilePreview__Container-sc-znkm6h-0:after { 35 | content: " "; 36 | position: absolute; 37 | width: 0; 38 | height: 0; 39 | bottom: calc(18px / 0.95* -1); 40 | background-color: transparent; 41 | border: calc(18px / 1.8) solid transparent; 42 | border-top-color: var(--message-box); 43 | pointer-events: none; 44 | } 45 | 46 | .FilePreview__Container-sc-znkm6h-0:before { 47 | border-right-color: var(--message-box); 48 | right: -0.01px; 49 | } 50 | 51 | .FilePreview__Container-sc-znkm6h-0:after { 52 | border-left-color: var(--message-box); 53 | left: -0.3px; 54 | } 55 | 56 | .FilePreview__PreviewBox-sc-znkm6h-6, .FilePreview__EmptyEntry-sc-znkm6h-5 { 57 | border-radius: 18px; 58 | } 59 | 60 | .sc-dmlqKv { 61 | font-size: 110%; 62 | } 63 | 64 | ._sidebar_t7t23_39 { 65 | max-width: 240px; 66 | } 67 | 68 | ._contentcontainer_t7t23_62 { 69 | min-width: 0px !important; 70 | max-width: 1600px !important; 71 | width: 80% !important; 72 | margin-left: 10%; 73 | } 74 | 75 | .Container-sc-1d91xkm-1 { 76 | box-shadow: hsl(0, 0%, 0%, 0.28) 0px 8px 24px; 77 | } 78 | 79 | ._closeButton_t7t23_240 { 80 | border: none !important; 81 | } 82 | 83 | ._content_1avxi_40 { 84 | font-weight: 500 !important; 85 | } 86 | 87 | ._item_1avxi_1 { 88 | transition: background-color 250ms var(--cubicbezieranimation) !important; 89 | } 90 | 91 | .ServerSidebar__ServerList-sc-1lca5oe-1 { 92 | background: var(--primary-background); 93 | scrollbar-width: none; 94 | } 95 | 96 | .SidebarBase__GenericSidebarList-sc-1dma6vq-2 { 97 | background: var(--primary-background); 98 | scrollbar-width: none; 99 | } 100 | 101 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1 { 102 | background: var(--primary-background); 103 | } 104 | 105 | .MemberList__ListCategory-sc-1bwlier-0 { 106 | background: var(--primary-background); 107 | } 108 | 109 | .MessageBase-sc-1s9ehlg-0 { 110 | background-color: var(--messagebgcolor); 111 | border-radius: 18px; 112 | transition: background-color 250ms var(--cubicbezieranimation); 113 | margin-left: 78px; 114 | margin-right: 10px; 115 | } 116 | 117 | .MessageBase__MessageInfo-sc-1s9ehlg-1 { 118 | left: -75px; 119 | position: relative; 120 | } 121 | 122 | .MessageBase__MessageInfo-sc-1s9ehlg-1:not(:has(time)) { 123 | left: -50px; 124 | width: 40px; 125 | height: 40px; 126 | } 127 | 128 | .MessageBase__MessageInfo-sc-1s9ehlg-1 > div { 129 | width: 50px; 130 | } 131 | 132 | .MessageBase__MessageContent-sc-1s9ehlg-2 { 133 | left: -30px; 134 | } 135 | 136 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time) .MessageBase__MessageContent-sc-1s9ehlg-2 { 137 | left: -66px; 138 | flex: 0 0 auto; 139 | width: calc(100% - 40px); 140 | } 141 | 142 | .SystemMessage__SystemContent-sc-1au0o14-0 { 143 | left: -55px; 144 | position: relative; 145 | } 146 | 147 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time) { 148 | border-radius: 0 0 18px 18px; 149 | } 150 | 151 | .MessageBase-sc-1s9ehlg-0:has(.SystemMessage__SystemContent-sc-1au0o14-0) { 152 | border-radius: 18px !important; 153 | } 154 | 155 | 156 | .sc-iBPTik { 157 | box-shadow: hsl(0, 0%, 0%, 0.28) 0px 8px 24px; 158 | background: var(--actionbarbgcolor); 159 | border: none; 160 | border-radius: 16px; 161 | right: -26.75px; 162 | transition: width 250ms var(--cubicbezieranimation); 163 | } 164 | 165 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):before, .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):after { 166 | content: " "; 167 | position: relative; 168 | width: 0; 169 | height: 0; 170 | top: calc(18px / 1.15 * -1); 171 | background-color: transparent; 172 | border: calc(18px / 2.275) solid transparent; 173 | border-bottom-color: var(--messagebgcolor); 174 | pointer-events: none; 175 | transition: border-color 250ms var(--cubicbezieranimation); 176 | } 177 | 178 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):before { 179 | left: -2px; 180 | border-left-color: var(--messagebgcolor); 181 | } 182 | 183 | .MessageBase-sc-1s9ehlg-0:has(.MessageBase__MessageInfo-sc-1s9ehlg-1 time):not(:has(.SystemMessage__SystemContent-sc-1au0o14-0)):after { 184 | right: 34px; 185 | border-right-color: var(--messagebgcolor); 186 | } 187 | 188 | .MessageEditor__EditorBase-sc-133d9pc-0 { 189 | position: relative; 190 | left: -37px; 191 | } 192 | 193 | .MessageReply__ReplyBase-sc-utzx7-0 { 194 | position: relative; 195 | left: 18px; 196 | } 197 | 198 | .EmbedInvite__EmbedInviteBase-sc-154n8c6-0 { 199 | background-color: var(--embedbgcolor); 200 | border-radius: var(--mediaradius); 201 | } 202 | 203 | ._attachment_197qa_1 { 204 | background: var(--embedbgcolor) !important; 205 | border-radius: var(--mediaradius); 206 | } 207 | 208 | ._actions_iu4oa_1 { 209 | background: transparent; 210 | } 211 | 212 | .ReplyBar__Base-sc-d2l7w7-0 { 213 | position: relative; 214 | top: -10px; 215 | background: transparent; 216 | } 217 | 218 | .TypingIndicator__Base-sc-1jama4m-0 { 219 | top: -10px; 220 | width: 97.5%; 221 | } 222 | 223 | .TypingIndicator__Base-sc-1jama4m-0 > div { 224 | background-color: var(--primary-background); 225 | backdrop-filter: blur(0px) !important; 226 | z-index: 1; 227 | } 228 | 229 | .MessageArea__Area-sc-1q4cka6-0 { 230 | width: 98%; 231 | margin-bottom: 15px; 232 | } 233 | 234 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq { 235 | display: flex; 236 | top: 5px; 237 | border-radius: 0 0 0 0; 238 | z-index: 2; 239 | justify-content: center; 240 | align-items: center; 241 | } 242 | 243 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq > div { 244 | border-radius: 50px; 245 | height: 52px; 246 | width: 40%; 247 | width: max-content; 248 | } 249 | 250 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn { 251 | display: flex; 252 | top: -75px; 253 | border-radius: 0 0 0 0; 254 | z-index: 2; 255 | justify-content: right; 256 | align-items: right; 257 | } 258 | 259 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div { 260 | border-radius: 15px; 261 | min-width: 80px !important; 262 | width: max-content; 263 | height: 56px; 264 | margin-right: 20px; 265 | background-color: var(--accent); 266 | color: rgb(255, 255, 255); 267 | } 268 | 269 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn .right { 270 | flex-direction: row-reverse; 271 | } 272 | 273 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq .right > span, .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div > div:not(.right) { 274 | display: none; 275 | } 276 | 277 | .JumpToBottom__Bar-sc-v9kqir-0 .StyledIconBase-ea9ulj-0 { 278 | width: 36px; 279 | height: 36px; 280 | } 281 | 282 | .ButtonItem-sc-1ixnesa-0, ._item_1avxi_1 { 283 | border-radius: 21px; 284 | } 285 | 286 | .Button-sc-wdolxy-0 { 287 | border-radius: 18px; 288 | background-color: var(--accent); 289 | height: 36px; 290 | } 291 | 292 | .Button-sc-wdolxy-0.jMjzeh { 293 | background-color: transparent; 294 | } 295 | 296 | .Actions-sc-1d91xkm-4 { 297 | background: var(--secondary-header); 298 | } 299 | 300 | .sc-fubCzh { 301 | border-radius: 50px; 302 | } 303 | 304 | .sc-fubCzh:hover { 305 | background-color: var(--actionbarbuttonhovercolor); 306 | } 307 | 308 | ._item_1avxi_1[data-active=true] { 309 | background-color: color-mix(in srgb, var(--accent) 35%, transparent); 310 | } 311 | 312 | .context-menu { 313 | background-color: var(--popoutcolor) !important; 314 | border-radius: 8px; 315 | box-shadow: 0 4px 8px 0 rgb(0, 0, 0) ; 316 | animation: opacity-anim 100ms ease, context-menu-anim 300ms var(--cubicbezieranimation); 317 | transform-origin: top; 318 | backdrop-filter: none !important; 319 | } 320 | 321 | .context-menu > span { 322 | transition: background-color 250ms var(--cubicbezieranimation); 323 | min-height: 32px; 324 | padding: 9px 12px !important; 325 | margin: 0 !important; 326 | } 327 | 328 | .context-menu > span:not([data-disabled=true]):hover, .context-menu .main > span:not([data-disabled=true]):hover { 329 | background-color: var(--contextmenubuttonhovercolor) !important; 330 | } 331 | 332 | .LineDivider-sc-135498f-0 { 333 | width: 100%; 334 | background-color: var(--dividerlinecolor); 335 | margin: 8px 0; 336 | } 337 | 338 | ._friend_sd6wo_33 { 339 | transition: background-color .2s ease; 340 | border-radius: 18px; 341 | } 342 | 343 | ._friend_sd6wo_33:hover { 344 | background-color: var(--hover); 345 | } 346 | 347 | ._button_sd6wo_44 { 348 | background-color: transparent; 349 | } 350 | 351 | .SwooshWrapper-sc-176t3v5-1 { 352 | transform: rotate(180deg); 353 | left: -33px; 354 | top: -37px; 355 | } 356 | 357 | .SwooshWrapper-sc-176t3v5-1 > svg { 358 | width: 30px; 359 | } 360 | 361 | .SwooshWrapper-sc-176t3v5-1 > svg > path { 362 | fill: var(--serverbarselectedcolor); 363 | } 364 | 365 | .Base-sc-j9ukbi-0 { 366 | border-radius: 16px; 367 | } 368 | 369 | .tippy-box { 370 | border-radius: 8px; 371 | background-color: var(--tippybgcolor); 372 | color: var(--tippytextcolor); 373 | } 374 | 375 | .tippy-arrow { 376 | display: none; 377 | } 378 | 379 | ._header_kup3j_8 { 380 | border-radius: 18px 18px 0 0; 381 | } 382 | 383 | ._content_kup3j_90 { 384 | border-radius: 0 0 18px 18px; 385 | } 386 | 387 | ._pending_sd6wo_95 { 388 | border-radius: 18px; 389 | background: var(--pendingrequestbgcolor); 390 | } 391 | 392 | ._entry_kup3j_140 { 393 | transition: background-color 250ms var(--cubicbezieranimation); 394 | } 395 | 396 | @keyframes opacity-anim { 397 | from { 398 | opacity: 0; 399 | } 400 | } 401 | 402 | @keyframes context-menu-anim { 403 | from { 404 | transform: scale(1, 0.5); 405 | } 406 | } -------------------------------------------------------------------------------- /data/material-light/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "material-light" 2 | name = "Material Light" 3 | creator = "netpa" 4 | description = "A theme based on Google's Material Design" 5 | tags = ["material", "google", "blue"] 6 | version = "1.1.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#557BE2" 11 | background = "#E8E8E8" 12 | foreground = "#323339" 13 | 14 | block = "#ABABAB" 15 | message-box = "#E4E6E7" 16 | mention = "#557BE2" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "#DADBDD" 22 | 23 | [variables.scrollbar] 24 | thumb = "#D1D1D1" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#FAFAFA" 29 | header = "#FAFAFA" 30 | 31 | [variables.secondary] 32 | background = "#E8E8E8" 33 | foreground = "#323339" 34 | header = "#FAFAFA" 35 | 36 | [variables.tertiary] 37 | background = "#ADADAD" 38 | foreground = "#323339" 39 | 40 | [variables.status] 41 | online = "#43b683" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" -------------------------------------------------------------------------------- /data/mint-glow/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "mint-glow" 2 | name = "Mint Glow" 3 | creator = "Potato#9983" 4 | description = "Dark theme with pastel green highlights." 5 | 6 | [variables] 7 | light = false 8 | accent = "#B8F684" 9 | background = "#141414" 10 | foreground = "#F5F3E7" 11 | 12 | block = "#414141" 13 | message-box = "#EEC3C3" 14 | mention = "#FBFF00" 15 | 16 | success = "#AAE95A" 17 | warning = "#F7D145" 18 | error = "#EA2A2A" 19 | hover = "#000000" 20 | 21 | [variables.scrollbar] 22 | thumb = "#B8F684" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#1E1E1E" 27 | header = "#30313B" 28 | 29 | [variables.secondary] 30 | background = "#252526" 31 | foreground = "#BFBFBF" 32 | header = "#1A1A1A" 33 | 34 | [variables.tertiary] 35 | background = "#252526" 36 | foreground = "#D8E4DA" 37 | 38 | [variables.status] 39 | online = "#3BBF51" 40 | away = "#F39F00" 41 | busy = "#E24050" 42 | streaming = "#9A81FD" 43 | invisible = "#A5A5A5" 44 | 45 | tags = ["pastel", "green"] 46 | 47 | version = "0.0.1" 48 | -------------------------------------------------------------------------------- /data/neon-blue/Custom.css: -------------------------------------------------------------------------------- 1 | /* Main BG */ 2 | ._11Ivv { 3 | background: #1a1b26; 4 | background-repeat: no-repeat; 5 | background-size: cover; 6 | z-index: 1; 7 | border: 1px var(--accent) solid; 8 | } 9 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1.dUCGFk { 10 | height: calc(100% - 3rem); 11 | } 12 | .Header-sc-ujh2d9-0.fEKFaQ { 13 | width: calc(100vw - 58px) !important; 14 | } 15 | /* settings button */ 16 | 17 | .gafLvO svg {--accent: white !important} 18 | .FallbackBase-sc-3bwws8-1.gafLvO { 19 | border-radius: 2px; 20 | clip-path: polygon(var(--cp-size) 0, 100% 0, 100% calc(100% - var(--cp-size)), calc(100% - var(--cp-size)) 100%, 0 100%, 0 var(--cp-size)) !important; 21 | --cp-size: 5px; 22 | background: var(--accent); 23 | } 24 | 25 | 26 | /* stop settings from overlapping border and topbar on desktop */ 27 | ._settings_t7t23_33.undefined { 28 | margin-inline: 1px; 29 | height: calc(100% - var(--titlebar-height) - 2px); 30 | width: calc(100% - 2px); 31 | margin-top: calc(var(--titlebar-height) + 1px) !important; 32 | } 33 | 34 | /* Topbar */ 35 | .hwmymO .actions div:hover { 36 | background: #252631; 37 | cursor: pointer; 38 | } 39 | 40 | .drag { 41 | border-top: 1px var(--accent) solid; 42 | margin: 0 !important; 43 | z-index: 999999; 44 | } 45 | 46 | .hwmymO .actions, .hwmymO .title, .hwmymO .drag { 47 | background: #151621; 48 | } 49 | 50 | .hwmymO .actions { 51 | border-top: 1px var(--accent) solid; 52 | border-right: 1px var(--accent) solid; 53 | margin: 0 !important; 54 | padding-left: 6px; 55 | height: 100%; 56 | } 57 | 58 | .hwmymO .title { 59 | border-top: 1px var(--accent) solid; 60 | border-left: 1px var(--accent) solid; 61 | margin: 0 !important; 62 | padding-left: 10px; 63 | padding-top: 10px; 64 | height: 100%; 65 | } 66 | 67 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div, .TypingIndicator__Base-sc-1jama4m-0.fUFJYB > div { 68 | background: #0002; 69 | backdrop-filter: blur(5px); 70 | border-radius: 0; 71 | border-top: 1px var(--accent) solid; 72 | } 73 | 74 | ._tabs_kup3j_69>div:hover:not([data-active=true]) { 75 | border-bottom: 2px solid #09701a; 76 | } 77 | 78 | ._tabs_kup3j_69>div[data-active=true] { 79 | border-bottom: 2px solid var(--accent); 80 | } 81 | 82 | .Content-sc-1d91xkm-3.bVQPpK { 83 | border: var(--accent) 1px solid; 84 | } 85 | 86 | ._item_1avxi_1._user_1avxi_23:hover svg foreignObject img { 87 | border-radius: 25%; 88 | } 89 | 90 | ._item_1avxi_1._user_1avxi_23 svg foreignObject img { 91 | transition: .1s ease-in-out all; 92 | } 93 | 94 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq > div { 95 | background: #11111192; 96 | border-radius: 0; 97 | border-bottom: var(--accent) 1px solid; 98 | backdrop-filter: none; 99 | } 100 | 101 | ._item_1avxi_1._compact_1avxi_19:hover ._avatar_1avxi_56 img.IconBase__ImageIconBase-sc-igncj4-1.hpNCHs, ._item_1avxi_1._compact_1avxi_19[data-active="true"] ._avatar_1avxi_56 img.IconBase__ImageIconBase-sc-igncj4-1.hpNCHs { 102 | border-radius: calc(var(--border-radius-half) / 3); 103 | } 104 | 105 | img.IconBase__ImageIconBase-sc-igncj4-1.hpNCHs { 106 | border-radius: calc(var(--border-radius-half) / 1.5); 107 | } 108 | 109 | ._list_sd6wo_13.with-padding { 110 | margin-top: 3em; 111 | height: 100vh !important; 112 | } 113 | 114 | .iDeTmr { 115 | background: var(--secondary-background); 116 | border-right: 1px var(--accent) solid; 117 | } 118 | 119 | .Channel__ChannelMain-sc-k5myot-0.DmIgS .SidebarBase__GenericSidebarBase-sc-1dma6vq-1.dUCGFk { 120 | border-right: 0; 121 | border-left: 1px var(--accent) solid; 122 | } 123 | 124 | 125 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1.dUCGFk { 126 | border-right: 1px var(--accent) solid; 127 | } 128 | 129 | a.Base-sc-j9ukbi-0.eMqgHq, a.Base-sc-j9ukbi-0.bQqZNf, .TipBase-sc-upm053-0.jzUIcb { 130 | --cp-size: 15px; 131 | clip-path: polygon(var(--cp-size) 0, 100% 0, 100% calc(100% - var(--cp-size)), calc(100% - var(--cp-size)) 100%, 0 100%, 0 var(--cp-size)) !important; 132 | border: none !important; 133 | } 134 | 135 | select { 136 | --cp-size: 15px; 137 | } 138 | 139 | .checkmark{ 140 | --cp-size: 7px; 141 | border: none !important 142 | } 143 | 144 | .EmojiSelector__Container-sc-1b2o6ki-0 div div .button { 145 | --cp-size: 25px; 146 | border: none !important 147 | } 148 | 149 | .button, .checkmark, select { 150 | clip-path: polygon(var(--cp-size) 0, 100% 0, 100% calc(100% - var(--cp-size)), calc(100% - var(--cp-size)) 100%, 0 100%, 0 var(--cp-size)) !important; 151 | } 152 | 153 | ._item_1avxi_1._compact_1avxi_19 { 154 | --cp-size: 7.5px; 155 | clip-path: polygon(var(--cp-size) 0, 100% 0, 100% calc(100% - var(--cp-size)), calc(100% - var(--cp-size)) 100%, 0 100%, 0 var(--cp-size)) !important; 156 | border-radius: 3px !important; 157 | } 158 | 159 | .ThemeOverrides__Container-sc-1brryxj-0 .entry { 160 | clip-path: polygon(var(--cp-size) 0, 100% 0, 100% calc(100% - var(--cp-size)), calc(100% - var(--cp-size)) 100%, 0 100%, 0 var(--cp-size)) !important; 161 | --cp-size: 15px; 162 | } 163 | 164 | ._attachment_197qa_1._text_197qa_33 { 165 | border-radius: 0; 166 | } 167 | 168 | div._text_197qa_33 div._actions_iu4oa_1 { 169 | border-top: none !important; 170 | } 171 | 172 | ._actions_iu4oa_1 { 173 | border-radius: 0 !important; 174 | backdrop-filter: none !important; 175 | background: #111 !important; 176 | border: 1px var(--accent) solid !important; 177 | } 178 | 179 | .Header-sc-ujh2d9-0.dzRjrU { 180 | border-radius: 0; 181 | border-bottom: 1px var(--accent) solid; 182 | } 183 | 184 | .ReplyBar__Base-sc-d2l7w7-0.jtuvHh { 185 | border-top: var(--accent) 1px solid; 186 | } 187 | 188 | .FilePreview__Container-sc-znkm6h-0.ewmXHm { 189 | width: initial !important; 190 | margin: 0 !important; 191 | margin-left: 0 !important; 192 | border-top: 1px var(--accent) solid; 193 | } 194 | 195 | div#Menu, .MessageBase__MessageContent-sc-1s9ehlg-2.jkmmZm .sc-iBPTik.bnZuoo { 196 | backdrop-filter: none; 197 | background: #141414; 198 | border-radius: 0; 199 | border: 1px var(--accent) solid; 200 | } 201 | 202 | body { 203 | border: 1px var(--accent) solid 204 | } 205 | 206 | .ServerSidebar__ServerBase-sc-1lca5oe-0.JkpVA { 207 | border-radius: 0; 208 | border-right: 1px var(--accent) solid 209 | } 210 | 211 | .MessageBox__Base-sc-jul4fa-0.jBEnry { 212 | margin: 0 !important; 213 | border-top: 1px var(--accent) solid 214 | } 215 | 216 | .Header-sc-ujh2d9-0.fPzJRX { 217 | border-bottom: 1px var(--accent) solid; 218 | } 219 | 220 | .dUCGFk, .MessageArea__Area-sc-1q4cka6-0.kpVPRw { 221 | margin-top: 3rem !important; 222 | } 223 | 224 | .Details-sc-3j94yd-0 summary div { 225 | width: 100%; 226 | } 227 | 228 | ._item_1avxi_1[data-active=true] { 229 | cursor: default; 230 | background: var(--accent); 231 | } 232 | 233 | .Category-sc-tvyi45-0.iuNJGz { 234 | padding-top: 1.2em; 235 | border-top: var(--accent) 1px solid; 236 | width: 100%; 237 | } 238 | 239 | ._sidebar_t7t23_39 { 240 | border-right: var(--accent) 1px solid; 241 | } 242 | 243 | /* cyrillic-ext */ 244 | @font-face { 245 | font-family: 'Tektur'; 246 | font-style: normal; 247 | font-weight: 400; 248 | font-stretch: normal; 249 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtEacLLTQ.woff2) format('woff2'); 250 | unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 251 | } 252 | /* cyrillic */ 253 | @font-face { 254 | font-family: 'Tektur'; 255 | font-style: normal; 256 | font-weight: 400; 257 | font-stretch: normal; 258 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtNacLLTQ.woff2) format('woff2'); 259 | unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 260 | } 261 | /* greek */ 262 | @font-face { 263 | font-family: 'Tektur'; 264 | font-style: normal; 265 | font-weight: 400; 266 | font-stretch: normal; 267 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtKacLLTQ.woff2) format('woff2'); 268 | unicode-range: U+0370-03FF; 269 | } 270 | /* vietnamese */ 271 | @font-face { 272 | font-family: 'Tektur'; 273 | font-style: normal; 274 | font-weight: 400; 275 | font-stretch: normal; 276 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtGacLLTQ.woff2) format('woff2'); 277 | unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 278 | } 279 | /* latin-ext */ 280 | @font-face { 281 | font-family: 'Tektur'; 282 | font-style: normal; 283 | font-weight: 400; 284 | font-stretch: normal; 285 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtHacLLTQ.woff2) format('woff2'); 286 | unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; 287 | } 288 | /* latin */ 289 | @font-face { 290 | font-family: 'Tektur'; 291 | font-style: normal; 292 | font-weight: 400; 293 | font-stretch: normal; 294 | src: url(https://fonts.gstatic.com/s/tektur/v1/XoHN2YHtS7q969kXCjzlV0aSkS_o8OacmTe0TYlYFot8TrwuVbtJacI.woff2) format('woff2'); 295 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 296 | } 297 | 298 | :root { 299 | --font: Tektur !important; 300 | } 301 | 302 | .PreloaderBase-sc-1xcl5li-0.ddQdoB { 303 | background: #11111192; 304 | } 305 | 306 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div, 307 | .TypingIndicator__Base-sc-1jama4m-0.fUFJYB > div { 308 | background: #11111192; 309 | } 310 | 311 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div { 312 | background: #11111192; 313 | width: calc(100% - 2rem); 314 | margin-left: 1rem; 315 | margin-top: -1rem; 316 | backdrop-filter: blur(2px); 317 | } 318 | 319 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div button.active { 320 | background: #111111c9; 321 | border: 1px solid #3d3d3d; 322 | } 323 | 324 | .MessageBase__DetailBase-sc-1s9ehlg-3.kyoVXf time { 325 | color: #c9c9c9; 326 | } 327 | 328 | textarea#message::placeholder { 329 | color: #ffffff8e; 330 | } 331 | 332 | .FilePreview__Container-sc-znkm6h-0.ewmXHm { 333 | background: #11111192; 334 | width: calc(100% - 2rem); 335 | margin: 0 0 1rem 0; 336 | margin-left: 1rem; 337 | backdrop-filter: blur(9px); 338 | } 339 | 340 | .ReplyBar__Base-sc-d2l7w7-0.jtuvHh { 341 | background: #11111192; 342 | backdrop-filter: blur(9px); 343 | } 344 | 345 | pre.sc-bkzYnD.cjWexI { 346 | background: #11111192; 347 | backdrop-filter: blur(9px); 348 | } 349 | 350 | .Base-sc-1kllx7r-0.iIKZoW { 351 | border-top: thin solid #5eb0c3; 352 | } 353 | 354 | .Shadow-sc-yb16g4-1.bSmCBu { 355 | display: none; 356 | } 357 | 358 | .MessageArea__Area-sc-1q4cka6-0.kpVPRw { 359 | background: #11111192; 360 | } 361 | 362 | .MessageBox__Base-sc-jul4fa-0.jBEnry { 363 | background: #11111192; 364 | margin: 0 1rem 1rem 1rem; 365 | } 366 | 367 | .Header-sc-ujh2d9-0.fPzJRX, .Header-sc-ujh2d9-0.fEKFaQ, .Header-sc-ujh2d9-0.dzRjrU, .Header-sc-ujh2d9-0.gXyCoD { 368 | backdrop-filter: blur(0px); 369 | background: #11111192; 370 | } 371 | 372 | .Header-sc-ujh2d9-0.gXyCoD { 373 | width: calc(100vw - 7.4rem) !important; 374 | } 375 | 376 | .Header-sc-ujh2d9-0.fEKFaQ { 377 | width: calc(100vw - 58px) !important; 378 | margin-left: -14.5rem !important; 379 | border-bottom: var(--accent) 1px solid; 380 | border-radius: 0 !important; 381 | } 382 | 383 | ._list_sd6wo_13.with-padding { 384 | background: #11111192; 385 | } 386 | 387 | .ItemContainer-sc-176t3v5-0.iRFMLa { 388 | overflow: hidden; 389 | } 390 | 391 | .ServerSidebar__ServerBase-sc-1lca5oe-0.JkpVA { 392 | background: #11111192; 393 | } 394 | 395 | .ThemeBaseSelector__List-sc-udzwdl-0.fTtexK > div h4 { 396 | margin-top: .5rem; 397 | color: #c9c9c9; 398 | } 399 | 400 | ._contentcontainer_t7t23_62 h4 { 401 | color: #c9c9c9 !important; 402 | } 403 | 404 | pre.sc-bkzYnD.cjWexI code, 405 | .MemberList__ListCategory-sc-1bwlier-0.fWMCga, 406 | .MemberList__ListCategory-sc-1bwlier-0.jOPNWX, 407 | .SidebarBase-sc-1dma6vq-0.jyizw, 408 | .Channel__ChannelMain-sc-k5myot-0.DmIgS, 409 | .RevoltApp__Routes-sc-1613ew5-2.hpNYLK, 410 | .Channel__ChannelContent-sc-k5myot-1.hfkRtg, 411 | .RevoltApp__Routes-sc-1613ew5-2.jAWgqa, 412 | .Discover__Container-sc-6nwhb3-0.gAGipD, 413 | .Details-sc-3j94yd-0.jKeKvP summary { 414 | background: transparent !important; 415 | } 416 | 417 | a.Base-sc-j9ukbi-0.eMqgHq, 418 | a.Base-sc-j9ukbi-0.bQqZNf, 419 | .TipBase-sc-upm053-0.jzUIcb { 420 | background: #11111192; 421 | border: 1px solid #3d3d3d; 422 | } 423 | 424 | div#Menu, 425 | .MessageBase__MessageContent-sc-1s9ehlg-2.jkmmZm .sc-iBPTik.bnZuoo { 426 | backdrop-filter: blur(9px); 427 | background: #11111192; 428 | } 429 | 430 | ._contentcontainer_t7t23_62::after { 431 | content: "⠀"; 432 | } 433 | 434 | ._embed_dxa3n_1._website_dxa3n_12 { 435 | backdrop-filter: blur(8px); 436 | background: #11111192; 437 | } 438 | 439 | .Header-sc-ujh2d9-0.fPzJRX svg { 440 | width: 22px; 441 | aspect-ratio: 1/1; 442 | } 443 | 444 | .SidebarBase-sc-1dma6vq-0.jyizw { 445 | background: transparent; 446 | backdrop-filter: blur(0); 447 | } 448 | 449 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort { 450 | flex-direction: column !important; 451 | gap: .5rem !important; 452 | } 453 | 454 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort button { 455 | padding: .5rem 1rem !important; 456 | } 457 | 458 | input.InputBox-sc-13s1218-0.bEeAEn { 459 | background: #0c0c0c; 460 | border: 1px solid #3d3d3d; 461 | } 462 | 463 | input.InputBox-sc-13s1218-0.bEeAEn:hover { 464 | outline: 1px dashed #5eb0c3 !important; 465 | } 466 | 467 | input.InputBox-sc-13s1218-0.bEeAEn:focus { 468 | outline: none !important; 469 | } 470 | 471 | ._item_1avxi_1._user_1avxi_23 { 472 | opacity: .7; 473 | } 474 | 475 | ._item_1avxi_1._user_1avxi_23, ._item_1avxi_1 div._name_1avxi_60 ._subText_1avxi_67 { 476 | color: #e7e7e7bd; 477 | } 478 | -------------------------------------------------------------------------------- /data/neon-blue/Preset.toml: -------------------------------------------------------------------------------- 1 | # URL friendly name 2 | slug = "neon-blue" 3 | 4 | # Display name 5 | name = "Neon Blue" 6 | 7 | # Authors' name 8 | creator = "WlodekM" 9 | 10 | # The commit this preset was built against (optional) 11 | # Should only be specified if you use custom CSS that tends to break between updates 12 | commit = "782a9b5" 13 | 14 | # Preset description 15 | description = "Neon theme inspired by Opera GX." 16 | 17 | # Theme Version 18 | # Use Semantic Versioning (https://semver.org/) 19 | # Default: 0.0.1 20 | version = "0.0.1" 21 | 22 | # Tags (optional) 23 | # Must be a single alphanumeric word 24 | tags = ["neon", "blue"] 25 | 26 | [variables] 27 | light = false 28 | accent = "#0084ff" 29 | background = "#11111192" 30 | foreground = "#dcddde" 31 | 32 | block = "#2f3136" 33 | message-box = "#34363c" 34 | mention = "rgba(251, 255, 0, 0.1)" 35 | 36 | success = "#3ABF7E" 37 | warning = "#FAA352" 38 | error = "hsl(359,66.7%,54.1%);" 39 | hover = "#0084ff50" 40 | 41 | [variables.scrollbar] 42 | thumb = "#0084ff" 43 | track = "#2f3136" 44 | 45 | [variables.primary] 46 | background = "#11111192" 47 | header = "#2d2f34" 48 | 49 | [variables.secondary] 50 | background = "#11111192" 51 | foreground = "#c9c9c9" 52 | header = "#2f3136" 53 | 54 | [variables.tertiary] 55 | background = "#4f545c" 56 | foreground = "#a3a6aa" 57 | 58 | [variables.status] 59 | online = "#3ABF7E" 60 | away = "#F39F00" 61 | busy = "#F84848" 62 | streaming = "#977EFF" 63 | invisible = "#A5A5A5" 64 | -------------------------------------------------------------------------------- /data/night-beach/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "night-beach" 2 | name = "Night Beach" 3 | creator = "KnightKore" 4 | description = "A summer night based theme with colourful text." 5 | tags = ["Navy", "dark"] 6 | [variables] 7 | light = false 8 | accent = "#448cab" 9 | background = "#060a3c" 10 | foreground = "#b4e49b" 11 | block = "#7848b1" 12 | message-box = "#060a3c" 13 | mention = "#ead653" 14 | success = "#9de1c2" 15 | warning = "#e3740d" 16 | error = "#db1a1a" 17 | hover = "rgba(0, 0, 0, 0.1)" 18 | [variables.scrollbar] 19 | thumb = "#ece37e" 20 | track = "#060a3c" 21 | [variables.primary] 22 | background = "#030a2b" 23 | header = "#314e7d" 24 | [variables.secondary] 25 | background = "#132353" 26 | foreground = "#75ad48" 27 | header = "#3f6692" 28 | [variables.tertiary] 29 | background = "#e6e4b7" 30 | foreground = "#e2b1d5" 31 | [variables.status] 32 | online = "#d8f570" 33 | away = "#6d5091" 34 | busy = "#ee3717" 35 | streaming = "#b813cd" 36 | invisible = "#3a4f64" 37 | -------------------------------------------------------------------------------- /data/nocturnal/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "nocturnal" 2 | name = "Nocturnal" 3 | creator = "aeris" 4 | description = "For when default revolt just isn't enough, a theme for those who live a night." 5 | 6 | [variables] 7 | light = false 8 | accent = "#2275C9" 9 | background = "#1E2731" 10 | foreground = "#F6F6F6" 11 | 12 | block = "#1E2731" 13 | message-box = "#1E2731" 14 | mention = "#0F3827" 15 | 16 | success = "#35E680" 17 | warning = "#0F3827" 18 | error = "#ED4245" 19 | hover = "#1D242B" 20 | 21 | [variables.scrollbar] 22 | thumb = "#124A81" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#1E2731" 27 | header = "#12171D" 28 | 29 | [variables.secondary] 30 | background = "#12171D" 31 | foreground = "#2ECC71" 32 | header = "#12171D" 33 | 34 | [variables.tertiary] 35 | background = "#1E2731" 36 | foreground = "#8E9297" 37 | 38 | [variables.status] 39 | online = "#43B581" 40 | away = "#FAA61A" 41 | busy = "#F04747" 42 | streaming = "#643DA7" 43 | invisible = "#747F8D" 44 | -------------------------------------------------------------------------------- /data/nord-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "nord-dark" 2 | name = "Nord (Dark)" 3 | creator = "o69mar" 4 | description = "Nordic dark theme for revolt.chat" 5 | tags = ["dark", "nord"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#81a1c1" 11 | background = "#434c5e" 12 | foreground = "#f6f6f6" 13 | 14 | block = "#2e3440" 15 | message-box = "#3b4252" 16 | mention = "#434c5e" 17 | 18 | success = "#a3be8c" 19 | warning = "#ebcb8b" 20 | error = "#bf616a" 21 | hover = "#4c556a" 22 | 23 | [variables.scrollbar] 24 | thumb = "#81a1c1" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#2e3440" 29 | header = "#3b4252" 30 | 31 | [variables.secondary] 32 | background = "#3b4252" 33 | foreground = "#d8dee9" 34 | header = "#3b4252" 35 | 36 | [variables.tertiary] 37 | background = "#3b4252" 38 | foreground = "#d8dee9" 39 | 40 | [variables.status] 41 | online = "#a3be8c" 42 | away = "#ebcb8b" 43 | busy = "#bf616a" 44 | streaming = "#81a1c1" 45 | invisible = "#a5a5a5" 46 | -------------------------------------------------------------------------------- /data/nucleon/Custom.css: -------------------------------------------------------------------------------- 1 | ._11Ivv { 2 | background: url("https://autumn.revolt.chat/attachments/FQkCgdyHs4z9OXbdGfbF396uhPahc3seYRFMdEMZqp/axo-theme-bg.jpg"); 3 | background-repeat: no-repeat; 4 | background-size: cover; 5 | } 6 | 7 | .PreloaderBase-sc-1xcl5li-0.ddQdoB { 8 | background: #11111192; 9 | } 10 | 11 | .JumpToBottom__Bar-sc-v9kqir-0.gILwrq > div { 12 | background: #11111192; 13 | width: calc(100% - 2rem); 14 | margin-left: 1rem; 15 | margin-top: 2rem; 16 | border-radius: 6px; 17 | } 18 | 19 | .JumpToBottom__Bar-sc-v9kqir-0.ggHcXn > div, 20 | .TypingIndicator__Base-sc-1jama4m-0.fUFJYB > div { 21 | background: #11111192; 22 | width: calc(100% - 2rem); 23 | margin-left: 1rem; 24 | border-radius: 0 0 6px 6px; 25 | margin-top: -1rem; 26 | } 27 | 28 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div { 29 | background: #11111192; 30 | width: calc(100% - 2rem); 31 | margin-left: 1rem; 32 | border-radius: 0 0 6px 6px; 33 | margin-top: -1rem; 34 | backdrop-filter: blur(2px); 35 | } 36 | 37 | .AutoComplete__Base-sc-dtvq9c-0.hkukmG > div button.active { 38 | background: #111111c9; 39 | border: 1px solid #3d3d3d; 40 | } 41 | 42 | .MessageBase__DetailBase-sc-1s9ehlg-3.kyoVXf time { 43 | color: #c9c9c9; 44 | } 45 | 46 | textarea#message::placeholder { 47 | color: #ffffff8e; 48 | } 49 | 50 | .FilePreview__Container-sc-znkm6h-0.ewmXHm { 51 | background: #11111192; 52 | width: calc(100% - 2rem); 53 | margin: 0 0 1rem 0; 54 | margin-left: 1rem; 55 | border-radius: 6px; 56 | backdrop-filter: blur(9px); 57 | } 58 | 59 | .ReplyBar__Base-sc-d2l7w7-0.jtuvHh { 60 | background: #11111192; 61 | width: calc(100% - 2rem); 62 | margin: 0 0 0.5rem 0; 63 | margin-left: 1rem; 64 | border-radius: 6px; 65 | backdrop-filter: blur(9px); 66 | } 67 | 68 | pre.sc-bkzYnD.cjWexI { 69 | background: #11111192; 70 | backdrop-filter: blur(9px); 71 | } 72 | 73 | .Base-sc-1kllx7r-0.iIKZoW { 74 | border-top: thin solid #5eb0c3; 75 | } 76 | 77 | .Base-sc-yb16g4-0.iDeTmr { 78 | margin: 1rem; 79 | background: #11111192; 80 | border-radius: 6px; 81 | } 82 | 83 | .Shadow-sc-yb16g4-1.bSmCBu { 84 | display: none; 85 | } 86 | 87 | .MessageArea__Area-sc-1q4cka6-0.kpVPRw { 88 | margin: 5rem 1rem 1rem 1rem; 89 | background: #11111192; 90 | border-radius: 6px; 91 | } 92 | 93 | .MessageBox__Base-sc-jul4fa-0.jBEnry { 94 | background: #11111192; 95 | border-radius: 6px; 96 | margin: 0 1rem 1rem 1rem; 97 | } 98 | 99 | .SidebarBase__GenericSidebarBase-sc-1dma6vq-1.dUCGFk { 100 | background: #11111192; 101 | margin: 5rem 1rem 0 0; 102 | height: calc(100vh - 6rem); 103 | border-radius: 6px; 104 | padding: 0.5rem; 105 | } 106 | 107 | .Header-sc-ujh2d9-0.fPzJRX, .Header-sc-ujh2d9-0.fEKFaQ, .Header-sc-ujh2d9-0.dzRjrU, .Header-sc-ujh2d9-0.gXyCoD { 108 | margin: 1rem; 109 | border-radius: 6px; 110 | width: calc(100vw - 22rem); 111 | backdrop-filter: blur(0px); 112 | background: #11111192; 113 | } 114 | 115 | .Header-sc-ujh2d9-0.gXyCoD { 116 | width: calc(100vw - 7.4rem) !important; 117 | } 118 | 119 | .Header-sc-ujh2d9-0.fEKFaQ { 120 | width: calc(100vw - 6.4rem) !important; 121 | margin-left: -15.5rem !important; 122 | } 123 | 124 | ._list_sd6wo_13.with-padding { 125 | background: #11111192; 126 | margin-right: 0.8rem; 127 | margin-top: 5rem; 128 | border-radius: 6px; 129 | height: calc(100vh - 6rem); 130 | } 131 | 132 | .Header-sc-ujh2d9-0.dzRjrU { 133 | width: calc(100vw - 7.4rem) !important; 134 | margin-left: 1rem !important; 135 | } 136 | 137 | .ItemContainer-sc-176t3v5-0.iRFMLa { 138 | overflow: hidden; 139 | } 140 | 141 | .ServerSidebar__ServerBase-sc-1lca5oe-0.JkpVA { 142 | background: #11111192; 143 | border-radius: 6px; 144 | margin: 1rem 0; 145 | height: calc(100vh - 2rem); 146 | } 147 | 148 | .ThemeBaseSelector__List-sc-udzwdl-0.fTtexK > div h4 { 149 | margin-top: .5rem; 150 | color: #c9c9c9; 151 | } 152 | 153 | ._contentcontainer_t7t23_62 h4 { 154 | color: #c9c9c9 !important; 155 | } 156 | 157 | pre.sc-bkzYnD.cjWexI code, 158 | .MemberList__ListCategory-sc-1bwlier-0.fWMCga, 159 | .MemberList__ListCategory-sc-1bwlier-0.jOPNWX, 160 | .SidebarBase-sc-1dma6vq-0.jyizw, 161 | .Channel__ChannelMain-sc-k5myot-0.DmIgS, 162 | .RevoltApp__Routes-sc-1613ew5-2.hpNYLK, 163 | .Channel__ChannelContent-sc-k5myot-1.hfkRtg, 164 | .RevoltApp__Routes-sc-1613ew5-2.jAWgqa, 165 | .Discover__Container-sc-6nwhb3-0.gAGipD, 166 | .Details-sc-3j94yd-0.jKeKvP summary { 167 | background: transparent !important; 168 | } 169 | 170 | a.Base-sc-j9ukbi-0.eMqgHq, 171 | a.Base-sc-j9ukbi-0.bQqZNf, 172 | .TipBase-sc-upm053-0.jzUIcb { 173 | background: #11111192; 174 | border: 1px solid #3d3d3d; 175 | } 176 | 177 | iframe.Discover__Frame-sc-6nwhb3-1.kcZkuw { 178 | margin: 1rem; 179 | border-radius: 10px; 180 | } 181 | 182 | div#Menu, 183 | .MessageBase__MessageContent-sc-1s9ehlg-2.jkmmZm .sc-iBPTik.bnZuoo { 184 | backdrop-filter: blur(9px); 185 | background: #11111192; 186 | } 187 | 188 | ._contentcontainer_t7t23_62::after { 189 | content: "⠀"; 190 | } 191 | 192 | ._embed_dxa3n_1._website_dxa3n_12 { 193 | backdrop-filter: blur(8px); 194 | background: #11111192; 195 | } 196 | 197 | .Header-sc-ujh2d9-0.fPzJRX svg { 198 | width: 22px; 199 | aspect-ratio: 1/1; 200 | } 201 | 202 | .SidebarBase-sc-1dma6vq-0.jyizw { 203 | background: transparent; 204 | backdrop-filter: blur(0); 205 | } 206 | 207 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort { 208 | flex-direction: column !important; 209 | gap: .5rem !important; 210 | } 211 | 212 | .Search__SearchBase-sc-rl8cbc-0.fTrPfq .sort button { 213 | padding: .5rem 1rem !important; 214 | } 215 | 216 | input.InputBox-sc-13s1218-0.bEeAEn { 217 | background: #0c0c0c; 218 | border: 1px solid #3d3d3d; 219 | border-radius: 6px; 220 | } 221 | 222 | input.InputBox-sc-13s1218-0.bEeAEn:hover { 223 | outline: 1px dashed #5eb0c3 !important; 224 | } 225 | 226 | input.InputBox-sc-13s1218-0.bEeAEn:focus { 227 | outline: none !important; 228 | } 229 | 230 | ._item_1avxi_1._user_1avxi_23 { 231 | opacity: .7; 232 | } 233 | 234 | ._item_1avxi_1._user_1avxi_23, ._item_1avxi_1 div._name_1avxi_60 ._subText_1avxi_67 { 235 | color: #e7e7e7bd; 236 | } -------------------------------------------------------------------------------- /data/nucleon/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "nucleon" 2 | name = "Nucleon" 3 | creator = "Axorax" 4 | description = "Transparent background dark theme." 5 | version = "1.0.0" 6 | tags = ["dark", "nucleon", "background", "transparent", "glass", "blur"] 7 | 8 | [variables] 9 | light = false 10 | background = "#11111192" 11 | 12 | mention = "rgba(251, 255, 0, 0.1)" 13 | hover = "rgba(0, 0, 0, 0.3)" 14 | 15 | [variables.primary] 16 | background = "#11111192" 17 | 18 | [variables.secondary] 19 | background = "#11111192" 20 | foreground = "#c9c9c9" 21 | -------------------------------------------------------------------------------- /data/one-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "one-dark" 2 | name = "One Dark" 3 | creator = "Odyssey346" 4 | description = "A theme based on Mahmoud Ali's Atom One Dark VSCode theme." 5 | 6 | [variables] 7 | light = false 8 | accent = "#4D78CC" 9 | background = "#21252B" 10 | foreground = "#D7DAE0" 11 | 12 | block = "#082730" 13 | message-box = "#21252B" 14 | mention = "rgba(251, 255, 0, 0.06)" 15 | 16 | success = "#65E572" 17 | warning = "#FAA352" 18 | error = "#F06464" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#CA525A" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#333842" 27 | header = "#21252B" 28 | 29 | [variables.secondary] 30 | background = "#21252B" 31 | foreground = "#C8C8C8" 32 | header = "#21252B" 33 | 34 | [variables.tertiary] 35 | background = "#21252B" 36 | foreground = "#D7DAE0" 37 | 38 | [variables.status] 39 | online = "#3ABF7E" 40 | away = "#F39F00" 41 | busy = "#F84848" 42 | streaming = "#977EFF" 43 | invisible = "#A5A5A5" 44 | 45 | [variables.sidebar] 46 | sidebar-active = "#202225" 47 | -------------------------------------------------------------------------------- /data/paperwhite/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "paperwhite" 2 | name = "Paperwhite" 3 | creator = "Scout339" 4 | description = "Port of my 2019 Discord Light Theme 2.0 Concept" 5 | tags = ["light", "paper", "grayscale"] 6 | version = "0.0.1" 7 | 8 | [variables] 9 | light = true 10 | accent = "#646462" 11 | background = "#d9d9d9" 12 | foreground = "#323232" 13 | block = "#646462" 14 | mention = "rgba(251, 255, 0, 0.40)" 15 | message-box = "#ececec" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#ED4245" 20 | hover = "rgba(0, 0, 0, 0.2)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#646462" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#f5f5f5" 29 | header = "#f5f5f5" 30 | 31 | [variables.secondary] 32 | background = "#ececec" 33 | foreground = "#d8d8d8d" 34 | header = "#c2c2c2" 35 | 36 | [variables.tertiary] 37 | background = "#c2c2c2" 38 | foreground = "#7d7d7d" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | invisible = "#A5A5A5" 45 | -------------------------------------------------------------------------------- /data/pink/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "pink" 2 | name = "Pink Theme" 3 | creator = "IanSkinner1982" 4 | description = "This is pink colored theme for Revolt." 5 | 6 | [variables] 7 | light = true 8 | accent = "#FD6671" 9 | background = "#ce5f5f" 10 | foreground = "#6c1414" 11 | 12 | block = "#414141" 13 | message-box = "#efc3c3" 14 | mention = "#00dbd8" 15 | 16 | success = "#65E572" 17 | warning = "#FAA352" 18 | error = "#ED4245" 19 | hover = "#ffadad" 20 | 21 | [variables.scrollbar] 22 | thumb = "#ca525a" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#fdcece" 27 | header = "#ffa8a8" 28 | 29 | [variables.secondary] 30 | background = "#e99696" 31 | foreground = "#711414" 32 | header = "#fdb4b4" 33 | 34 | [variables.tertiary] 35 | background = "#ffffff" 36 | foreground = "#813131" 37 | 38 | [variables.status] 39 | online = "#3ABF7E" 40 | away = "#F39F00" 41 | busy = "#F84848" 42 | streaming = "#9161cc" 43 | invisible = "#A5A5A5" 44 | -------------------------------------------------------------------------------- /data/pleasant-purple/Custom.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Comfortaa'; 3 | src: url('https://fonts.gstatic.com/s/comfortaa/v40/1Pt_g8LJRfWJmhDAuUsSQamb1W0lwk4S4WjMDrMfIA.woff2') format('woff2'); 4 | } 5 | 6 | p { 7 | font-family: 'Comfortaa', sans-serif; 8 | } 9 | -------------------------------------------------------------------------------- /data/pleasant-purple/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "pleasant-purple" 2 | name = "Pleasant Purple" 3 | creator = "Ridglef" 4 | description = "A pleasant looking purple theme" 5 | tags = ["purple", "dark-purple"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#1ABC9C" 11 | background = "#464664" 12 | foreground = "#ffffff" 13 | 14 | block = "#303030" 15 | message-box = "#363636" 16 | mention = "#7d5f9b" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | tooltip = "#000000" 21 | error = "#F06464" 22 | hover = "rgba(0, 0, 0, 0.1)" 23 | 24 | [variables.scrollbar] 25 | thumb = "#15967d" 26 | track = "transparent" 27 | 28 | [variables.primary] 29 | background = "#5a4674" 30 | header = "#363636" 31 | 32 | [variables.secondary] 33 | background = "#59456e" 34 | foreground = "#C8C8C8" 35 | header = "#2D2D2D" 36 | 37 | [variables.tertiary] 38 | background = "#4D4D4D" 39 | foreground = "#dedede" 40 | 41 | [variables.status] 42 | online = "#3ABF7E" 43 | away = "#F39F00" 44 | focus = "#4799F0" 45 | busy = "#F84848" 46 | streaming = "#977EFF" 47 | invisible = "#A5A5A5" 48 | -------------------------------------------------------------------------------- /data/primer-dark-colorblind/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-dark-colorblind/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-dark-colorblind" 2 | name = "Primer Dark colorblind" 3 | tags = ["colorblind"] 4 | creator = "bree" 5 | description = "Dark colorblind theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#58a6ff" 11 | background = "#0d1117" 12 | foreground = "#c9d1d9" 13 | block = "#0d1117" 14 | message-box = "#0d1117" 15 | mention = "#db61a2" 16 | success = "#42a0ff" 17 | warning = "#d29922" 18 | error = "#c38000" 19 | hover = "rgba(110,118,129,0.1)" 20 | border-color = "#30363d" 21 | 22 | [variables.scrollbar] 23 | thumb = "#c38000" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#0d1117" 28 | foreground = "#c9d1d9" 29 | header = "#161b22" 30 | 31 | [variables.secondary] 32 | background = "#161b22" 33 | foreground = "#8b949e" 34 | header = "#161b22" 35 | 36 | [variables.tertiary] 37 | background = "#161b22" 38 | foreground = "#8b949e" 39 | 40 | [variables.status] 41 | online = "#42a0ff" 42 | away = "#d29922" 43 | busy = "#c38000" 44 | streaming = "#a371f7" 45 | invisible = "#6e7681" 46 | -------------------------------------------------------------------------------- /data/primer-dark-dimmed/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-dark-dimmed/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-dark-dimmed" 2 | name = "Primer Dark dimmed" 3 | tags = [] 4 | creator = "bree" 5 | description = "Dark dimmed theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#539bf5" 11 | background = "#22272e" 12 | foreground = "#adbac7" 13 | block = "#22272e" 14 | message-box = "#22272e" 15 | mention = "#c96198" 16 | success = "#57ab5a" 17 | warning = "#c69026" 18 | error = "#e5534b" 19 | hover = "rgba(99,110,123,0.1)" 20 | border-color = "#444c56" 21 | 22 | [variables.scrollbar] 23 | thumb = "#e5534b" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#22272e" 28 | foreground = "#adbac7" 29 | header = "#2d333b" 30 | 31 | [variables.secondary] 32 | background = "#2d333b" 33 | foreground = "#768390" 34 | header = "#2d333b" 35 | 36 | [variables.tertiary] 37 | background = "#2d333b" 38 | foreground = "#768390" 39 | 40 | [variables.status] 41 | online = "#57ab5a" 42 | away = "#c69026" 43 | busy = "#e5534b" 44 | streaming = "#986ee2" 45 | invisible = "#636e7b" 46 | -------------------------------------------------------------------------------- /data/primer-dark-high-contrast/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-dark-high-contrast/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-dark-high-contrast" 2 | name = "Primer Dark high contrast" 3 | tags = ["high-contrast"] 4 | creator = "bree" 5 | description = "Dark high contrast theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#71b7ff" 11 | background = "#0a0c10" 12 | foreground = "#f0f3f6" 13 | block = "#0a0c10" 14 | message-box = "#0a0c10" 15 | mention = "#ef6eb1" 16 | success = "#26cd4d" 17 | warning = "#f0b72f" 18 | error = "#ff6a69" 19 | hover = "rgba(158,167,179,0.1)" 20 | border-color = "#7a828e" 21 | 22 | [variables.scrollbar] 23 | thumb = "#ff6a69" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#0a0c10" 28 | foreground = "#f0f3f6" 29 | header = "#272b33" 30 | 31 | [variables.secondary] 32 | background = "#272b33" 33 | foreground = "#f0f3f6" 34 | header = "#272b33" 35 | 36 | [variables.tertiary] 37 | background = "#272b33" 38 | foreground = "#f0f3f6" 39 | 40 | [variables.status] 41 | online = "#26cd4d" 42 | away = "#f0b72f" 43 | busy = "#ff6a69" 44 | streaming = "#b780ff" 45 | invisible = "#9ea7b3" 46 | -------------------------------------------------------------------------------- /data/primer-dark/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-dark" 2 | name = "Primer Dark" 3 | tags = [] 4 | creator = "bree" 5 | description = "Dark theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = false 10 | accent = "#58a6ff" 11 | background = "#0d1117" 12 | foreground = "#c9d1d9" 13 | block = "#0d1117" 14 | message-box = "#0d1117" 15 | mention = "#db61a2" 16 | success = "#3fb950" 17 | warning = "#d29922" 18 | error = "#f85149" 19 | hover = "rgba(110,118,129,0.1)" 20 | border-color = "#30363d" 21 | 22 | [variables.scrollbar] 23 | thumb = "#f85149" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#0d1117" 28 | foreground = "#c9d1d9" 29 | header = "#161b22" 30 | 31 | [variables.secondary] 32 | background = "#161b22" 33 | foreground = "#8b949e" 34 | header = "#161b22" 35 | 36 | [variables.tertiary] 37 | background = "#161b22" 38 | foreground = "#8b949e" 39 | 40 | [variables.status] 41 | online = "#3fb950" 42 | away = "#d29922" 43 | busy = "#f85149" 44 | streaming = "#a371f7" 45 | invisible = "#6e7681" 46 | -------------------------------------------------------------------------------- /data/primer-light-colorblind/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-light-colorblind/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-light-colorblind" 2 | name = "Primer Light colorblind" 3 | tags = ["colorblind"] 4 | creator = "bree" 5 | description = "Light colorblind theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#0969da" 11 | background = "#ffffff" 12 | foreground = "#24292f" 13 | block = "#24292f" 14 | message-box = "#ffffff" 15 | mention = "#bf3989" 16 | success = "#0566d5" 17 | warning = "#9a6700" 18 | error = "#ac5e00" 19 | hover = "rgba(175,184,193,0.2)" 20 | border-color = "#d0d7de" 21 | 22 | [variables.scrollbar] 23 | thumb = "#d08002" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#ffffff" 28 | foreground = "#24292f" 29 | header = "#f6f8fa" 30 | 31 | [variables.secondary] 32 | background = "#f6f8fa" 33 | foreground = "#57606a" 34 | header = "#f6f8fa" 35 | 36 | [variables.tertiary] 37 | background = "#f6f8fa" 38 | foreground = "#57606a" 39 | 40 | [variables.status] 41 | online = "#0566d5" 42 | away = "#9a6700" 43 | busy = "#ac5e00" 44 | streaming = "#8250df" 45 | invisible = "#6e7781" 46 | -------------------------------------------------------------------------------- /data/primer-light-high-contrast/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-light-high-contrast/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-light-high-contrast" 2 | name = "Primer Light high contrast" 3 | tags = ["high-contrast"] 4 | creator = "bree" 5 | description = "Light high contrast theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#0349b4" 11 | background = "#ffffff" 12 | foreground = "#0E1116" 13 | block = "#0E1116" 14 | message-box = "#ffffff" 15 | mention = "#971368" 16 | success = "#055d20" 17 | warning = "#744500" 18 | error = "#a0111f" 19 | hover = "rgba(172,182,192,0.2)" 20 | border-color = "#20252C" 21 | 22 | [variables.scrollbar] 23 | thumb = "#d5232c" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#ffffff" 28 | foreground = "#0E1116" 29 | header = "#ffffff" 30 | 31 | [variables.secondary] 32 | background = "#ffffff" 33 | foreground = "#0E1116" 34 | header = "#ffffff" 35 | 36 | [variables.tertiary] 37 | background = "#ffffff" 38 | foreground = "#0E1116" 39 | 40 | [variables.status] 41 | online = "#055d20" 42 | away = "#744500" 43 | busy = "#a0111f" 44 | streaming = "#622cbc" 45 | invisible = "#66707B" 46 | -------------------------------------------------------------------------------- /data/primer-light/Custom.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /data/primer-light/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "primer-light" 2 | name = "Primer Light" 3 | tags = [] 4 | creator = "bree" 5 | description = "Light theme using primer color primatives." 6 | version = "1.0.0" 7 | 8 | [variables] 9 | light = true 10 | accent = "#0969da" 11 | background = "#ffffff" 12 | foreground = "#24292f" 13 | block = "#24292f" 14 | message-box = "#ffffff" 15 | mention = "#bf3989" 16 | success = "#1a7f37" 17 | warning = "#9a6700" 18 | error = "#cf222e" 19 | hover = "rgba(175,184,193,0.2)" 20 | border-color = "#d0d7de" 21 | 22 | [variables.scrollbar] 23 | thumb = "#fa4549" 24 | track = "transparent" 25 | 26 | [variables.primary] 27 | background = "#ffffff" 28 | foreground = "#24292f" 29 | header = "#f6f8fa" 30 | 31 | [variables.secondary] 32 | background = "#f6f8fa" 33 | foreground = "#57606a" 34 | header = "#f6f8fa" 35 | 36 | [variables.tertiary] 37 | background = "#f6f8fa" 38 | foreground = "#57606a" 39 | 40 | [variables.status] 41 | online = "#1a7f37" 42 | away = "#9a6700" 43 | busy = "#cf222e" 44 | streaming = "#8250df" 45 | invisible = "#6e7781" 46 | -------------------------------------------------------------------------------- /data/purpel/Custom.css: -------------------------------------------------------------------------------- 1 | @import url("https://cdn.githubraw.com/sussycatgirl/d45b96f7af1632c9268e16bfee0e8fea/raw/7892d51888d3ee341868ddd4b23f040a06be8c5d/rounded.css"); 2 | 3 | [class^="UserShort__BotBadge"] { 4 | background-color: var(--tertiary-background); 5 | } 6 | -------------------------------------------------------------------------------- /data/purpel/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "purpel" 2 | name = "Purpel" 3 | creator = "Lea" 4 | description = "Sleek purple theme" 5 | version = "v1.0.0" 6 | tags = ["purple"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#b18fe9" 11 | background = "#150d1f" 12 | foreground = "#d3b5d9" 13 | 14 | block = "var(--secondary-background)" 15 | message-box = "var(--secondary-background)" 16 | mention = "rgba(251, 255, 0, 0.06)" 17 | 18 | success = "#a6d189" 19 | warning = "#ef9f76" 20 | error = "#e78284" 21 | hover = "#b18fe920" 22 | 23 | [variables.scrollbar] 24 | thumb = "#b261bd" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#150d1f" 29 | header = "var(--secondary-background)" 30 | 31 | [variables.secondary] 32 | background = "#21182c" 33 | foreground = "#b88fbf" 34 | header = "var(--secondary-background)" 35 | 36 | [variables.tertiary] 37 | background = "#96619f" 38 | foreground = "#a57bad" 39 | 40 | [variables.status] 41 | online = "#a6d189" 42 | away = "#eebebe" 43 | busy = "#ea999c" 44 | streaming = "#8260e0" 45 | invisible = "#88748b" 46 | -------------------------------------------------------------------------------- /data/rexo-turquoise/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "rexo-turquoise" 2 | name = "Rexo's Turquoise Theme" 3 | creator = "Rexogamer" 4 | description = "A dark turquoise theme for Revolt." 5 | version = "1.0.0" 6 | tags = ["turquoise", "seagreen"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#00b7c3" 11 | background = "#05191f" 12 | foreground = "#F6F6F6" 13 | 14 | block = "#082730" 15 | message-box = "#0c3b46" 16 | mention = "rgba(251, 255, 90, 0.06)" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "rgba(0, 0, 0, 0.1)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#00929c" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#041e25" 29 | header = "#082d35" 30 | 31 | [variables.secondary] 32 | background = "#06252d" 33 | foreground = "#C8C8C8" 34 | header = "#0d363f" 35 | 36 | [variables.tertiary] 37 | background = "#082c35" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | 47 | 48 | [variables.sidebar] 49 | sidebar-active = "#202225" 50 | -------------------------------------------------------------------------------- /data/rosepine-dawn/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "rosepine-dawn" 2 | name = "Rosé Pine Dawn" 3 | creator = "ThatOneCalculator" 4 | description = "soho vibes for revolt, dawn edition. https://rosepinetheme.com/" 5 | 6 | [variables] 7 | light = true 8 | accent = "#b4637a" 9 | background = "#faf4ed" 10 | foreground = "#575279" 11 | 12 | block = "#f2e9de" 13 | message-box = "#f2e9de" 14 | mention = "#ea9d3420" 15 | 16 | success = "#56949f" 17 | warning = "#ea9d34" 18 | error = "#d7827e" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#b4637a" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#fffaf3" 27 | header = "#f2e9de" 28 | 29 | [variables.secondary] 30 | background = "#f2e9de" 31 | foreground = "#6e6a86" 32 | header = "#9893a5" 33 | 34 | [variables.tertiary] 35 | background = "#6e6a86" 36 | foreground = "#6e6a86" 37 | 38 | [variables.status] 39 | online = "#56949f" 40 | away = "#ea9d34" 41 | busy = "#b4637a" 42 | streaming = "#907aa9" 43 | invisible = "#907aa9" 44 | -------------------------------------------------------------------------------- /data/rosepine-moon/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "rosepine-moon" 2 | name = "Rosé Pine Moon" 3 | creator = "ThatOneCalculator" 4 | description = "soho vibes for revolt, moon edition. https://rosepinetheme.com/" 5 | 6 | [variables] 7 | light = false 8 | accent = "#eb6f92" 9 | background = "#232136" 10 | foreground = "#e0def4" 11 | 12 | block = "#393552" 13 | message-box = "#393552" 14 | mention = "#f6c17720" 15 | 16 | success = "#9ccfd8" 17 | warning = "#f6c177" 18 | error = "#ea9a97" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#eb6f92" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#1f1d2e" 27 | header = "#26233a" 28 | 29 | [variables.secondary] 30 | background = "#26233a" 31 | foreground = "#e0def4" 32 | header = "#59546d" 33 | 34 | [variables.tertiary] 35 | background = "#6e6a86" 36 | foreground = "#817c9c" 37 | 38 | [variables.status] 39 | online = "#9ccfd8" 40 | away = "#f6c177" 41 | busy = "#eb6f92" 42 | streaming = "#c4a7e7" 43 | invisible = "#c4a7e7" 44 | -------------------------------------------------------------------------------- /data/rosepine/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "rosepine" 2 | name = "Rosé Pine" 3 | creator = "ThatOneCalculator" 4 | description = "soho vibes for revolt. https://rosepinetheme.com/" 5 | 6 | [variables] 7 | light = false 8 | accent = "#eb6f92" 9 | background = "#191724" 10 | foreground = "#e0def4" 11 | 12 | block = "#26233a" 13 | message-box = "#26233a" 14 | mention = "#f6c17720" 15 | 16 | success = "#9ccfd8" 17 | warning = "#f6c177" 18 | error = "#ea9a97" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#eb6f92" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#1f1d2e" 27 | header = "#26233a" 28 | 29 | [variables.secondary] 30 | background = "#26233a" 31 | foreground = "#e0def4" 32 | header = "#555169" 33 | 34 | [variables.tertiary] 35 | background = "#6e6a86" 36 | foreground = "#6e6a86" 37 | 38 | [variables.status] 39 | online = "#9ccfd8" 40 | away = "#f6c177" 41 | busy = "#eb6f92" 42 | streaming = "#c4a7e7" 43 | invisible = "#c4a7e7" 44 | -------------------------------------------------------------------------------- /data/sakura-midnight/Preset.toml: -------------------------------------------------------------------------------- 1 | # URL friendly name 2 | slug = "sakura-midnight" 3 | 4 | # Display name 5 | name = "Sakura Midnight" 6 | 7 | # Authors' name 8 | creator = "Mia#5907" 9 | 10 | # The commit this preset was built against (optional) 11 | # Should only be specified if you use custom CSS that tends to break between updates 12 | commit = "782a9b5" 13 | 14 | # Preset description 15 | description = "A dreamy blend of soft Sakura Pinks and Deep Midnight Purples, inspired by Cherry Blossoms under a moonlit sky." 16 | 17 | # Theme Version 18 | # Use Semantic Versioning (https://semver.org/) 19 | # Default: 0.0.1 20 | version = "0.0.3" 21 | 22 | # Tags (optional) 23 | # Must be a single alphanumeric word 24 | tags = ["pink", "purple", "cherry", "blossoms"] 25 | 26 | [variables] 27 | light = false 28 | accent = "#FF66B2" 29 | background = "#2E1A2F" 30 | foreground = "#FCE4EC" 31 | 32 | block = "#3A1D3F" 33 | message-box = "#3A1D3F" 34 | mention = "#76284f" 35 | 36 | success = "#FFB6C1" 37 | warning = "#FF69B4" 38 | error = "#E53935" 39 | hover = "#4A235A" 40 | 41 | [variables.scrollbar] 42 | thumb = "#D81B60" 43 | track = "transparent" 44 | 45 | [variables.primary] 46 | background = "#2E1A2F" 47 | header = "#1C0F1D" 48 | 49 | [variables.secondary] 50 | background = "#1C0F1D" 51 | foreground = "#FF80AB" 52 | header = "#1C0F1D" 53 | 54 | [variables.tertiary] 55 | background = "#3A1D3F" 56 | foreground = "#FFC0CB" 57 | 58 | [variables.status] 59 | online = "#66ffa1" 60 | away = "#FFB347" 61 | busy = "#ff4d4d" 62 | streaming = "#8A2BE2" 63 | invisible = "#c9adff" 64 | 65 | [variables.fonts] 66 | font = "Open Sans" 67 | monospace = "Source Code Pro" 68 | 69 | [variables.borders] 70 | border-color = "#E91E63" 71 | status-border-color = "#1F1F24" 72 | -------------------------------------------------------------------------------- /data/skeuovolt/Custom.css: -------------------------------------------------------------------------------- 1 | /* Avatar and Server Borders */ 2 | 3 | :root { 4 | --border-radius-user-icon: 50%; 5 | --border-radius-server-icon: 50%; 6 | 7 | --border-radius-user-icon-active: 50%; 8 | --border-radius-server-icon-active: 6px; 9 | 10 | /* To disable this, replace "--accent" with "--tertiary-background" */ 11 | --border-active-color: var(--accent); 12 | } 13 | 14 | :root{--border-radius-channel-icon:var(--border-radius-user-icon);--message-box-padding:10px;--scrollbar-thickness:6px;--primary-header-gradient:linear-gradient(to top,var(--background),var(--tertiary-background) 110%);--secondary-header-gradient:linear-gradient(to top,var(--secondary-background)10%,var(--secondary-header));--textbox-gradient:linear-gradient(to top,var(--message-box-accent),var(--secondary-background) 120%);--button-gradient:linear-gradient(transparent,#000A);--sidebar-gradient:linear-gradient(to top,var(--secondary-background)20%,var(--tertiary-background));--chat-gradient:linear-gradient(to top,var(--background),var(--message-box-accent));--shadow-color:#0009;--message-box-accent:rgba(var(--message-box-rgb),0.17);--common-border:1px solid var(--tertiary-background);--common-shadow:inset 0 0 2px 2px var(--shadow-color);--light-shadow:inset 0 0 3px 0 var(--shadow-color);--thin-shadow:inset 0 0 0 1px var(--shadow-color)}::-webkit-scrollbar-thumb{min-height:100px;color:var(--background);border-radius:3px;outline:var(--common-border)}::-webkit-scrollbar-thumb:vertical{background:linear-gradient(to top,var(--background) -60%,var(--scrollbar-thumb),var(--background) 160%)}::-webkit-scrollbar-thumb:horizontal{background:linear-gradient(to left,var(--background) -60%,var(--scrollbar-thumb),var(--background) 160%)}[data-scroll-offset]::-webkit-scrollbar-thumb{outline:var(--common-border)}::-webkit-scrollbar-track{box-shadow:var(--light-shadow)}::-webkit-scrollbar-corner{background:linear-gradient(to bottom right,var(--scrollbar-thumb),var(--background));outline:var(--common-border)}.Header-sc-ujh2d9-0{border-bottom:var(--common-border);border-right:var(--common-border);box-shadow:var(--light-shadow),5px 2px 5px 5px rgba(0,0,0,0.4);background:var(--primary-header-gradient);border-radius:0;text-shadow:1px 2px 2px #000}.Channel__ChannelContent-sc-k5myot-1{background-image:var(--chat-gradient)}.SidebarBase-sc-1dma6vq-0 .SidebarBase__GenericSidebarBase-sc-1dma6vq-1{background-image:var(--textbox-gradient);overflow:auto}.Channel__ChannelMain-sc-k5myot-0.DmIgS .SidebarBase-sc-1dma6vq-0{border-right:var(--common-border);border-left:var(--common-border)}.MemberList__ListCategory-sc-1bwlier-0.fWMCga{height:39px;padding-top:16px}.UserShort__Name-sc-1sbe9n1-1{text-shadow:none;filter:drop-shadow(1px 2px 1px black)}.HomeSidebar__Navbar-sc-1n8qxkj-0{border-bottom:var(--common-border);box-shadow:inset 0 0 0 1px rgba(6,6,6,0.5),0 0 5px 5px rgba(0,0,0,0.4);background:var(--secondary-header-gradient);border-right:3px double var(--tertiary-background);text-shadow:1px 2px 2px #000}.Base-sc-yb16g4-0,.Shadow-sc-yb16g4-1 + .ItemContainer-sc-176t3v5-0{border-right:3px double var(--tertiary-background)}.SidebarBase__GenericSidebarList-sc-1dma6vq-2{border-radius:0;background:var(--textbox-gradient);border-right:3px double var(--tertiary-background);overflow:auto}.ServerSidebar__ServerBase-sc-1lca5oe-0,.Sidebar__Base-sc-1uh6eub-0{background:var(--sidebar-gradient);border-right:3px double var(--tertiary-background);border-radius:0}.ServerSidebar__ServerList-sc-1lca5oe-1{box-shadow:var(--common-shadow);border-top:3px double var(--tertiary-background);overflow:auto}.ServerHeader__ServerBanner-sc-15ursl9-0{box-shadow:var(--common-shadow)}.Shadow-sc-yb16g4-1 + .ItemContainer-sc-176t3v5-0{height:55.88px;padding-bottom:5.6px;padding-top:5.6px}._settings_t7t23_33 ._sidebar_t7t23_39{background:linear-gradient(to top left,transparent 15%,var(--message-box-accent));background-color:var(--secondary-background);border:var(--common-border)}._content_t7t23_40{background:linear-gradient(to bottom right,transparent 15%,var(--message-box-accent));background-color:var(--secondary-background);border-top:var(--common-border);border-right:var(--common-border);border-bottom:var(--common-border)}._user_fwdgs_1 ._preview_fwdgs_107{background:transparent;width:90%}._settings_t7t23_33 ._action_t7t23_224 ._closeButton_t7t23_240{background:var(--secondary-header)}.MessageBox__Base-sc-jul4fa-0,.Shadow-sc-yb16g4-1 + .ItemContainer-sc-176t3v5-0,.FilePreview__Container-sc-znkm6h-0{border-top:var(--common-border);background-image:var(--button-gradient);background-color:var(--secondary-header);box-shadow:inset 0 1px 0 0 var(--shadow-color)}.MessageBox__FileAction-sc-jul4fa-3,.MessageBox__Action-sc-jul4fa-2{margin:3.7px 0 0}.TextAreaAutoSize__Container-sc-1ebfmuf-0,.ckpHTH{border:var(--common-border);background:var(--textbox-gradient);border-radius:var(--border-radius);box-shadow:var(--common-shadow);padding:0 10px;margin:6px 0 7px}.InputBox-sc-13s1218-0{border:var(--common-border);background:var(--textbox-gradient);border-radius:var(--border-radius);box-shadow:inset 0 0 3px 2px var(--shadow-color)}.InputBox-sc-13s1218-0:hover{background:var(--textbox-gradient)}.TextArea-sc-1kh63xd-0{background:transparent;padding:10px 0}.Column-sc-mmjmg6-0.Base-sc-1c6g74-0{border:var(--common-border);margin:0 10px 0 0}.MessageEditor__EditorBase-sc-133d9pc-0 .TextAreaAutoSize__Container-sc-1ebfmuf-0,._settings_t7t23_33 .TextAreaAutoSize__Container-sc-1ebfmuf-0{padding:0}.MessageEditor__EditorBase-sc-133d9pc-0 .TextArea-sc-1kh63xd-0,._settings_t7t23_33 .TextArea-sc-1kh63xd-0{background:transparent;padding:8px}.ReplyBar__Base-sc-d2l7w7-0,.TypingIndicator__Base-sc-1jama4m-0{background:var(--secondary-header-gradient);border-top:var(--common-border);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);padding:0}.jtuvHh .actions{margin-right:8px}.TypingIndicator__Base-sc-1jama4m-0 > div,.ggHcXn > div,.hitXXs > div{background-image:var(--button-gradient);background-color:var(--primary-background);border-top:var(--common-border);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);width:100%}.gILwrq > div,.NPPEn > div{background-image:var(--button-gradient);border-bottom:var(--common-border);border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.ReplyBar__Base-sc-d2l7w7-0 .MessageReply__ReplyBase-sc-utzx7-0{height:100%;margin:0 8px}.MessageReply__ReplyBase-sc-utzx7-0 .content{align-self:center;height:100%;padding:0}.MessageReply__ReplyBase-sc-utzx7-0 .message{border:var(--common-border);border-right:var(--common-border);border-radius:3px;background:rgba(var(--foreground-rgb),0.075);font-size:.8em;padding:3px}.cZEhIO,.fhGxEk,.jRMJXP,.sc-dIUeWJ.kizbFb{border:1px solid var(--mention);border-radius:var(--border-radius);background:linear-gradient(var(--mention),transparent 130%)}.cZEhIO:hover,.fhGxEk:hover,.jRMJXP:hover,.sc-dIUeWJ.kizbFb:hover{border:1px solid var(--mention);border-radius:var(--border-radius);background:linear-gradient(var(--mention) -100%,transparent 130%)}.VoiceHeader__VoiceBase-sc-mvbohh-0{background:var(--secondary-header-gradient);border-bottom:var(--common-border);border-bottom-left-radius:var(--border-radius)}.Base-sc-j9ukbi-0,.TipBase-sc-upm053-0,.VoiceHeader__VoiceBase-sc-mvbohh-0 .status,.ComboBox-sc-f94r78-0,.jfwTbF,.bCPWex ._entry_fwdgs_300,._title_dxa3n_54,.jMjzeh,.jbwUqj,._friend_sd6wo_33,.EmbedInvite__EmbedInviteBase-sc-154n8c6-0,._user_fwdgs_1 .Button-sc-wdolxy-0,.Button-sc-wdolxy-0.bQkbYV,.Button-sc-wdolxy-0,.preact-context-menu .context-menu,._entry_kup3j_140,.TipBase-sc-upm053-0,._languages_fwdgs_383 ._list_fwdgs_383 ._entry_fwdgs_300,.Button-sc-wdolxy-0{background-image:var(--button-gradient)!important;border:var(--common-border);border-radius:15px;padding:8px;box-shadow:var(--thin-shadow);text-shadow:1px 1px 2px #000}.Base-sc-j9ukbi-0:hover{background-color:var(--background)}.sc-jSgvzq{background-image:var(--button-gradient);background-color:var(--secondary-header);box-shadow:var(--thin-shadow)}.sc-jSgvzq.cTcKPP{border:var(--common-border)}._item_1avxi_1,._item_1avxi_1:hover,._item_1avxi_1[data-active="true"]{border-radius:var(--border-radius);background-image:linear-gradient(var(--foreground) -100%,transparent 50%);background-size:1px 208%;transition:250ms}._item_1avxi_1{background-position:50% 99%;border-left:1px solid transparent;border-right:1px solid transparent;text-shadow:1px 1px 2px #000}._item_1avxi_1:hover{background-position:50% 40%;border-left:var(--common-border);border-right:var(--common-border)}._item_1avxi_1[data-active="true"]{background-position:top;border-left:var(--common-border);border-right:var(--common-border);box-shadow:var(--light-shadow)}.BottomNavigation__Base-sc-15obpw5-0{border-top:3px double var(--tertiary-background)}.BottomNavigation__Button-sc-15obpw5-2{border-radius:4px;box-shadow:var(--light-shadow);background:var(--button-gradient)}.BottomNavigation__Button-sc-15obpw5-2.brHoXv{border-left:var(--common-border);border-right:var(--common-border);background-color:#666}.BottomNavigation__Button-sc-15obpw5-2.bkKKgS{border-left:1px solid #1117;border-right:1px solid #1117;background-color:var(--primary-header)}.BottomNavigation__Button-sc-15obpw5-2:hover:active{background-color:#222}.Column-sc-mmjmg6-0.Controls-sc-1c6g74-1{border-bottom:var(--common-border);box-shadow:inset 0 0 2px 1px var(--shadow-color);background:var(--primary-header-gradient)}.Base-sc-1m0owfd-0{border-top:var(--common-border);box-shadow:inset 0 0 2px 1px var(--shadow-color);background:var(--textbox-gradient)}.Groups-sc-1c6g74-3{background:var(--secondary-header-gradient);border-radius:0;border-left:var(--common-border);overflow-x:hidden}.CategoryBar-sc-1c6g74-6,.MemberList__ListCategory-sc-1bwlier-0{border-top:var(--common-border);border-bottom:var(--common-border);background:var(--button-gradient)}._header_kup3j_8,.Settings__AccountHeader-sc-1gunfj7-0 .account{border-left:1px solid var(--foreground);border-top:1px solid var(--foreground);border-right:1px solid var(--foreground);border-bottom:var(--common-border);box-shadow:inset 0 0 15px 2px var(--shadow-color);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}._content_kup3j_90{border-left:1px solid var(--foreground);border-bottom:1px solid var(--foreground);border-right:1px solid var(--foreground);box-shadow:inset 0 0 15px 2px var(--shadow-color)}.Settings__AccountHeader-sc-1gunfj7-0 .statusChanger{border-left:1px solid var(--foreground);border-right:1px solid var(--foreground);border-bottom:1px solid var(--foreground);border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);background:var(--textbox-gradient)}.Container-sc-1d91xkm-1,.create_group{border:var(--common-border);background:var(--background);background-image:var(--chat-gradient)}.Container-sc-1d91xkm-1.bKfOaB{background:none;border:none}.sc-jrAFXE.eiGSNL{border-radius:var(--border-radius);border:var(--common-border)}.Title-sc-1d91xkm-2{border-bottom:var(--common-border);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);box-shadow:var(--thin-shadow);background:var(--primary-header-gradient)}.Content-sc-1d91xkm-3{padding:1rem;background:var(--background)}.Actions-sc-1d91xkm-4{background:var(--secondary-header-gradient);border-top:var(--common-border)}.Container-sc-1d91xkm-1[type="user_profile"],.jKeKvP summary,.Content-sc-1d91xkm-3{background:transparent;border:unset}.Content-sc-1d91xkm-3[type="user_picker"]{padding:0;background:var(--background)}.sc-kstqJO.iDLnDV{padding:6px}.bCPWex{padding:4px 10px}.preact-context-menu .context-menu > span:not([data-disabled=true]){border-left:1px solid transparent;border-right:1px solid transparent}.preact-context-menu .context-menu > span:not([data-disabled=true]):hover{background:#0003;border-left:var(--common-border);border-right:var(--common-border)}.preact-context-menu .context-menu > span > span:hover{background:none}._attachment_197qa_1._text_197qa_33,._container_197qa_64{padding:0;border:var(--common-border);box-shadow:0 0 4px 1px #000}._attachment_197qa_1._text_197qa_33 ._textContent_197qa_39{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);box-shadow:var(--common-shadow)}._attachment_197qa_1._audio_197qa_13{background-image:var(--button-gradient);background-color:var(--primary-header);border:var(--common-border);border-radius:15px;padding:8px;box-shadow:var(--thin-shadow),0 0 4px 1px #000}._embed_dxa3n_1._website_dxa3n_12{border-top:var(--common-border);border-bottom:var(--common-border);border-right:var(--common-border);box-shadow:var(--thin-shadow),0 0 4px 1px #000}._embed_dxa3n_1._website_dxa3n_12 iframe{border:var(--common-border);box-shadow:0 0 4px 1px #000}.sc-bkzYnD{box-shadow:var(--common-shadow),0 0 4px 1px #000;border:var(--common-border);overflow:auto}._actions_iu4oa_1,._embed_dxa3n_1._website_dxa3n_12{background-image:var(--button-gradient);background-color:var(--primary-header);text-shadow:1px 1px 2px #000}._attachment_197qa_1._text_197qa_33 ._actions_iu4oa_1,._actions_iu4oa_1._imageAction_iu4oa_1{border-top:var(--common-border);border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);box-shadow:var(--thin-shadow)}._container_197qa_64 ._actions_iu4oa_1{border-bottom:var(--common-border);box-shadow:var(--thin-shadow);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}._attachment_197qa_1._audio_197qa_13 ._actions_iu4oa_1{border:none;background:transparent}._attachment_197qa_1._file_197qa_25 ._actions_iu4oa_1{border:var(--common-border);box-shadow:var(--thin-shadow)}.UserIcon__VoiceIndicator-sc-y109su-0{background-image:var(--button-gradient);box-shadow:inset 0 0 0 .6px #000C}a:has(.SwooshWrapper-sc-176t3v5-1) .Image-sc-3bwws8-0,.ItemContainer-sc-176t3v5-0:has(.SwooshWrapper-sc-176t3v5-1) .Image-sc-3bwws8-0,.SidebarBase__GenericSidebarList-sc-1dma6vq-2 ._item_1avxi_1[data-active="true"] img{border-color:var(--border-active-color)}._item_1avxi_1:hover img,._item_1avxi_1[data-active="true"] img,.IconBase-sc-igncj4-0.bTjVNf.avatar img:hover{border-radius:var(--border-radius-user-icon-active);transition:100ms;transition-delay:70ms}.sc-iBPTik,.sc-iBPTik:hover{border:var(--common-border);background:linear-gradient(to bottom,var(--background) 10%,var(--secondary-header));box-shadow:var(--thin-shadow);box-shadow:0 0 5px 0 var(--shadow-color)}.sc-fubCzh:hover,.preact-context-menu .context-menu span:hover{background:#0004}.FallbackBase-sc-3bwws8-1,._friend_sd6wo_33 .IconButton-sc-166lqkp-0,.EmbedInvite__EmbedInviteBase-sc-154n8c6-0 .IconBase__ImageIconBase-sc-igncj4-1,._settings_t7t23_33 ._action_t7t23_224 ._closeButton_t7t23_240,._image_1m2vo_5,._content_kup3j_90 img:not(.emoji){border:1px solid var(--tertiary-foreground);padding:1px;border-radius:50%;box-shadow:var(--thin-shadow);background-image:var(--button-gradient);background-color:var(--secondary-header)}.SidebarBase__GenericSidebarList-sc-1dma6vq-2 ._item_1avxi_1 img,._profile_kup3j_21 img,.bTjVNf img,.Image-sc-3bwws8-0{border:1px solid var(--tertiary-foreground);padding:1px;box-shadow:var(--thin-shadow);background-image:var(--button-gradient);background-color:var(--secondary-header);transition:100ms}.kPeClm{border-radius:var(--border-radius-server-icon)}.SwooshWrapper-sc-176t3v5-1{height:54px;width:56px;border-top:var(--common-border);border-bottom:var(--common-border);border-left:var(--common-border);background-image:var(--button-gradient);background-color:var(--primary-header);box-shadow:var(--thin-shadow);border-top-left-radius:25%;border-bottom-left-radius:25%;margin:26px 0 0;transition:position 150ms;filter:drop-shadow(2px 2px 2px #000B)}.FilePreview__EmptyEntry-sc-znkm6h-5.icon,.FilePreview__PreviewBox-sc-znkm6h-6 .icon{border-radius:var(--border-radius)}.FilePreview__EmptyEntry-sc-znkm6h-5{border:var(--common-border);border-radius:50%;box-shadow:var(--thin-shadow);background:var(--button-gradient)}.LineDivider-sc-135498f-0{background:linear-gradient(to left,transparent,rgba(var(--foreground-rgb),0.7),transparent)}.sc-pGacB{background:linear-gradient(transparent,rgba(var(--foreground-rgb),0.7),transparent)}.Base-sc-1kllx7r-0{padding:10px}.StyledIconBase-ea9ulj-0 path,.StyledIconBase-ea9ulj-0 circle{fill:var(--foreground)}._friend_sd6wo_33{margin:3px}.Base-sc-hcp9jm-0{cursor:pointer}._sessions_fwdgs_285 ._entry_fwdgs_300,._sessions_fwdgs_285 ._entry_fwdgs_300[data-active=true]{background-image:linear-gradient(transparent,#0008);border:var(--common-border);box-shadow:var(--thin-shadow)}.checkmark{border:2px solid var(--foreground);box-shadow:inset 0 0 0 2px var(--shadow-color);background:var(--background)}.tippy-box{background-image:var(--button-gradient);background-color:var(--primary-header);opacity:.95;border:var(--common-border);box-shadow:var(--thin-shadow),0 0 4px 1px #000;left:-6px}.checkmark.gfBZnu{background-image:linear-gradient(transparent -20%,var(--accent))}:active > svg,:active > ._avatar_1avxi_56,._item_1avxi_1:active,._content_kup3j_90 a:active img{transform:translateY(2px);filter:brightness(0.85) drop-shadow(2px 2px 2px #000B)}._item_1avxi_1 ._avatar_1avxi_56,._item_1avxi_1 svg{transform:none}.hwmymO .actions{margin-right:7px}.hwmymO .actions div{border:var(--common-border);border-radius:3px;background-image:var(--button-gradient);background-color:var(--primary-header);margin:10px 3px 10px 0;height:calc(var(--titlebar-height) - 8px)}.hwmymO .actions div:hover,.hwmymO .actions div.error:hover{background-image:var(--button-gradient)}.RevoltApp__AppContainer-sc-1613ew5-0{background:var(--textbox-gradient);border:var(--common-border)}::-webkit-scrollbar-track:vertical,::-webkit-scrollbar-track:horizontal{outline:1px solid rgba(var(--tertiary-background-rgb),0.7)}.SidebarBase-sc-1dma6vq-0,.sc-hBEYId .Base-sc-1c2l8gq-0,.FilePreview__PreviewBox-sc-znkm6h-6,.RevoltApp__Routes-sc-1613ew5-2{background:transparent}.Base-sc-yb16g4-0 .list,.FilePreview__Carousel-sc-znkm6h-1{overflow-x:hidden}.EmbedInvite__EmbedInviteBase-sc-154n8c6-0,._entry_kup3j_140{background-color:var(--primary-header)}.eiGSNL img,.Titlebar__TitlebarBase-sc-1ykozpe-0.hwmymO{border-bottom:var(--common-border);background:var(--secondary-header-gradient)}.sc-bkzYnD code,.iIKZoW time{background:unset}.Image-sc-3bwws8-0,.FallbackBase-sc-3bwws8-1,._item_1avxi_1 div{transition:100ms}.Image-sc-3bwws8-0:hover,.FallbackBase-sc-3bwws8-1:hover,a:has(.SwooshWrapper-sc-176t3v5-1) .Image-sc-3bwws8-0,.ItemContainer-sc-176t3v5-0:has(.SwooshWrapper-sc-176t3v5-1) .Image-sc-3bwws8-0{border-radius:var(--border-radius-server-icon-active);transition:100ms;transition-delay:70ms}.SwooshWrapper-sc-176t3v5-1 svg,.tippy-arrow{display:none}svg,._content_kup3j_90 a img,._avatar_1avxi_56{filter:drop-shadow(2px 2px 2px #000B);transition:100ms}svg foreignObject svg,:active > svg foreignObject svg,._session_fwdgs_285 svg,.sc-dIUeWJ.kizbFb svg{filter:none;transform:none} 15 | -------------------------------------------------------------------------------- /data/skeuovolt/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "skeuovolt" 2 | name = "Skeuovolt" 3 | creator = "Septicity" 4 | commit = "9d83d7c" 5 | description = "A semi-skeuomorphic theme, based on/sourced from Marda33's Skeuocord" 6 | version = "1.2.0" 7 | tags = ["skeuomorphism", "skeuomorphic", "gradient", "dark", "skeuocord", "grey", "black"] 8 | 9 | [variables] 10 | light = false 11 | accent = "#FD6671" 12 | background = "#191919" 13 | foreground = "#F6F6F6" 14 | 15 | block = "#2D2D2D" 16 | message-box = "#c1c1e0" 17 | mention = "rgba(251, 255, 0, 0.2)" 18 | 19 | success = "#65E572" 20 | warning = "#DB7F29" 21 | error = "#F06464" 22 | hover = "rgba(0, 0, 0, 0.1)" 23 | 24 | [variables.scrollbar] 25 | thumb = "#A8A8A8" 26 | track = "#212121" 27 | 28 | [variables.primary] 29 | background = "#242424" 30 | header = "#363636" 31 | 32 | [variables.secondary] 33 | background = "#050505" 34 | foreground = "#C8C8C8" 35 | header = "#323232" 36 | 37 | [variables.tertiary] 38 | background = "#5E5E5E" 39 | foreground = "#848484" 40 | 41 | [variables.status] 42 | online = "#3ABF7E" 43 | away = "#F39F00" 44 | busy = "#F84848" 45 | streaming = "#977EFF" 46 | invisible = "#A5A5A5" 47 | -------------------------------------------------------------------------------- /data/social-classic/Custom.css: -------------------------------------------------------------------------------- 1 | /* Constants */ 2 | 3 | :root{ 4 | /* --background: #F6F6F6; 5 | --foreground: #101010; */ 6 | --primary-header: #F1F1F1; 7 | --serverbar-background: #303440; 8 | --serverbar-foreground: #F7F7F7; 9 | --serverbar-border: #1C202B; 10 | --serverbar-highlight: #505460; 11 | --scrollbar-color: rgba(0, 0, 0, 0.25); 12 | --accent-10: rgba(var(--accent-rgb), 0.10); 13 | --accent-15: rgba(var(--accent-rgb), 0.15); 14 | --accent-25: rgba(var(--accent-rgb), 0.25); 15 | --accent-50: rgba(var(--accent-rgb), 0.50); 16 | --accent-60: rgba(var(--accent-rgb), 0.60); 17 | --accent-75: rgba(var(--accent-rgb), 0.75); 18 | --form-border: #CCC; 19 | --button-success-border: #3B6E22; 20 | --button-success-background: #67A54B; 21 | --button-success-foreground: #F7F7F7; 22 | --white-pixel: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=); 23 | --error-darker: #CD2225; 24 | --mention: #FFF5CE; 25 | --mention-darker: #F6ECC2; 26 | --border-radius-user-icon: 6px; 27 | } 28 | 29 | /* Server Sidebar */ 30 | 31 | div[class^="SidebarBase-sc"] > [class^="Base-sc"] { 32 | background: var(--serverbar-background); 33 | border: solid 1px var(--serverbar-border); 34 | width: 58px; 35 | } 36 | 37 | div[class^="SidebarBase-sc"] > [class^="Base-sc"] [class^="ItemContainer-sc"] div[class^="LineDivider-sc"] { 38 | background: var(--serverbar-border); 39 | border-top: solid 1px #282B38; 40 | border-bottom: solid 1px #393D48; 41 | margin: 5px auto; 42 | width: 100%; 43 | height: 3px; 44 | } 45 | 46 | div[class^="SidebarBase-sc"] > [class^="Base-sc"] > [class^="Shadow-sc"] > div { 47 | background: linear-gradient(to bottom, transparent, var(--serverbar-background)); 48 | margin-top: -24px; 49 | height: 24px; 50 | } 51 | 52 | div[class^="SidebarBase-sc"] > [class^="Base-sc"] [class^="ItemContainer-sc"] [class^="FallbackBase-sc"] { 53 | background: var(--serverbar-border); 54 | color: var(--serverbar-foreground); 55 | /*padding-right: 8px;*/ 56 | } 57 | 58 | div[class^="SidebarBase-sc"] > [class^="Base-sc"] [class^="ItemContainer-sc"] [class^="FallbackBase-sc"] > svg > * { 59 | color: var(--serverbar-foreground); 60 | } 61 | 62 | div[class^="SwooshWrapper-sc"] { 63 | --sidebar-active: var(--serverbar-highlight); 64 | top: -8px; 65 | overflow-y: hidden; 66 | /* z-index: 0; */ 67 | } 68 | 69 | [class^="SwooshWrapper-sc-"] > svg { 70 | margin-top: -24px; 71 | } 72 | 73 | [class^="SwooshWrapper-sc-"] > svg > path:not(:first-child), 74 | [class^="SwooshWrapper-sc-"] > svg > rect { 75 | display: none; 76 | } 77 | 78 | [class^="SwooshWrapper-sc-"] > svg > path:first-child { 79 | fill: var(--accent); 80 | /* Fix uneven bubble around the server icon - by lo-kiss@github.com */ 81 | transform: translateX(.8px) scale(0.95); 82 | transform-origin: center; 83 | } 84 | 85 | div[class^="ItemContainer-sc"] > div:nth-child(1), 86 | div[class^="ItemContainer-sc"] > a > div:nth-child(1) { 87 | position: relative; 88 | z-index: 0; 89 | } 90 | 91 | div[class^="ItemContainer-sc"] > div:nth-child(2), 92 | div[class^="ItemContainer-sc"] > a > div:nth-child(2) { 93 | position: relative; 94 | z-index: 1; 95 | } 96 | 97 | /* Tooltips */ 98 | 99 | div[id^="tippy"] > .tippy-box { 100 | background: var(--serverbar-border); 101 | color: var(--serverbar-foreground); 102 | border-radius: 6px; 103 | } 104 | 105 | div[id^="tippy"] > .tippy-box * { 106 | color: var(--serverbar-foreground); 107 | } 108 | 109 | div[id^="tippy"] > .tippy-box > .tippy-content { 110 | background: var(--serverbar-border); 111 | color: var(--serverbar-foreground); 112 | border-radius: 6px; 113 | } 114 | 115 | div[id^="tippy"] > .tippy-box[data-placement^='top'] > .tippy-arrow::before { 116 | border-top-color: var(--serverbar-border); 117 | } 118 | 119 | div[id^="tippy"] > .tippy-box[data-placement^='bottom'] > .tippy-arrow::before { 120 | border-bottom-color: var(--serverbar-border); 121 | } 122 | 123 | div[id^="tippy"] > .tippy-box[data-placement^='left'] > .tippy-arrow::before { 124 | border-left-color: var(--serverbar-border); 125 | } 126 | 127 | div[id^="tippy"] > .tippy-box[data-placement^='right'] > .tippy-arrow::before { 128 | border-right-color: var(--serverbar-border); 129 | } 130 | 131 | /* Server Header */ 132 | 133 | div[class^="ServerSidebar__ServerBase-sc"] { 134 | border-radius: 0px; 135 | } 136 | 137 | [class^="RevoltApp__AppContainer-sc"] > div > [class^="SidebarBase-sc"] > [class^="SidebarBase__GenericSidebarBase-sc"], 138 | [class^="RevoltApp__AppContainer-sc"] > div > div > div > [class^="SidebarBase-sc"] > [class^="SidebarBase__GenericSidebarBase-sc"] { 139 | margin-top: calc(var(--header-height) + 24px); 140 | } 141 | [class^="RevoltApp__AppContainer-sc"] > div > [class^="SidebarBase-sc"] > [class^="SidebarBase__GenericSidebarBase-sc"] > [class^="HomeSidebar__Navbar-sc"], 142 | [class^="RevoltApp__AppContainer-sc"] > div > div > div > [class^="SidebarBase-sc"] > [class^="SidebarBase__GenericSidebarBase-sc"] > [class^="HomeSidebar__Navbar-sc"] { 143 | background-image: url("/assets/wide.svg"); 144 | margin-top: -40px; 145 | padding-top: 40px; 146 | height: 88px; 147 | background-position-x: 12px; 148 | background-repeat: no-repeat; 149 | background-size: 50%; 150 | } 151 | 152 | div[class^="ServerSidebar__ServerBase-sc"] > [class^="ServerHeader__ServerBanner-sc"] { 153 | background-color: var(--accent); 154 | } 155 | 156 | div[class^="ServerSidebar__ServerBase"] > [class^="ServerHeader__ServerBanner"].dKFhRZ > .container { 157 | background: linear-gradient(0deg, var(--serverbar-background), transparent); 158 | } 159 | 160 | div[class^="ServerSidebar__ServerBase"] > [class^="ServerHeader__ServerBanner"].jXEHHp > .container { 161 | margin-top: 24px; 162 | } 163 | 164 | div[class^="ServerSidebar__ServerBase"] > [class^="ServerHeader__ServerBanner"] > .container > a.title, 165 | div[class^="ServerSidebar__ServerBase"] > [class^="ServerHeader__ServerBanner"] > .container a[class^="IconButton-sc"] { 166 | color: var(--serverbar-foreground); 167 | /* text-shadow: -1px 0px black, 0px 1px black, 168 | 1px 0px black, 0px -1px black; */ 169 | } 170 | 171 | div[class^="ServerSidebar__ServerBase-sc"] > div[class^="ServerSidebar__ServerList-sc"] { 172 | border-top: solid 5px var(--accent-60); 173 | } 174 | 175 | /* Server Channels */ 176 | 177 | [class^="ServerSidebar__ServerList"] { 178 | padding-right: 0px; 179 | -ms-overflow-style: none; /* Internet Explorer 10+ */ 180 | scrollbar-width: none; /* Firefox */ 181 | } 182 | 183 | [class^="ServerSidebar__ServerList"]::-webkit-scrollbar { 184 | display: none; /* Safari and Chrome */ 185 | } 186 | 187 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"], 188 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"] * { 189 | transition: none; 190 | } 191 | 192 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"] > [class^="_name"] { 193 | font-weight: normal; 194 | } 195 | 196 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"][data-alert="true"]:not(:hover) > div { 197 | color: var(--accent); 198 | } 199 | 200 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"][data-alert="true"] > [class^="_button"] > div { 201 | background: var(--accent); 202 | } 203 | 204 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"][data-alert="true"]:hover > [class^="_button"] > div { 205 | background: var(--serverbar-foreground); 206 | } 207 | 208 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"]:hover, 209 | [class^="ServerSidebar__ServerList"] a > div[class^="_item"][data-active="true"] { 210 | background: var(--accent-75); 211 | color: var(--serverbar-foreground); 212 | border-top-right-radius: 0px; 213 | border-bottom-right-radius: 0px; 214 | } 215 | 216 | /* Content Header */ 217 | 218 | div[class^="RevoltApp__Routes-sc"], 219 | div[class^="Header-sc"] { 220 | border-radius: 0px; 221 | } 222 | 223 | div[class^="RevoltApp__Routes-sc"] > [class^="Header-sc"], 224 | div[class^="RevoltApp__Routes-sc"] [class^="Home__Overlay-sc"] [class^="Header-sc"] { 225 | background: var(--accent); 226 | } 227 | 228 | div[class^="RevoltApp__Routes-sc"] > [class^="Header-sc"] > div, 229 | div[class^="RevoltApp__Routes-sc"] [class^="Home__Overlay-sc"] [class^="Header-sc"], 230 | div[class^="RevoltApp__Routes-sc"] [class^="Home__Overlay-sc"] [class^="Header-sc"] > div, 231 | div[class^="RevoltApp__Routes-sc"] > [class^="Header-sc"] > [class^="HeaderActions__Container"] > a, 232 | div[class^="RevoltApp__Routes-sc"] > [class^="Header-sc"] a[class^="IconButton-sc"], 233 | div[class^="ChannelHeader__Info"] > .desc { 234 | color: var(--serverbar-foreground); 235 | } 236 | 237 | div[class^="ChannelHeader__Info"] > .desc a { 238 | color: var(--serverbar-foreground); 239 | text-decoration: underline; 240 | } 241 | 242 | div[class^="ChannelHeader__Info"] > .divider { 243 | background: var(--serverbar-foreground); 244 | } 245 | 246 | div[class^="Home__Overlay-sc"] > .content h3 > img { 247 | filter: brightness(0%); 248 | } 249 | 250 | /* Chat Area */ 251 | 252 | [class^="MessageArea__Area-sc"]/*, 253 | [class^="_home_"] .content > [class^="_homeScreen_"], 254 | [class^="RevoltApp__Routes"] > div[data-scroll-offset="true"] > [class^="_list_"]*/ { 255 | border: solid 1px rgba(0, 0, 0, 0.5); 256 | padding-top: 0px; 257 | margin-top: var(--header-height); 258 | } 259 | 260 | [class^="MessageBase-sc"]:hover { 261 | background: var(--accent-10); 262 | } 263 | 264 | [class^="TypingIndicator__Base"] { 265 | left: 1px; 266 | } 267 | 268 | [class^="MessageBox__Blocked-sc"] > [class^="MessageBox__Action-sc"], 269 | [class^="MessageBox__Blocked-sc"] > .text { 270 | margin-left: 12px; 271 | } 272 | 273 | [class^="MessageArea__Area-sc"] div[class^="Base-sc"] { /* Day/NEW message separators */ 274 | height: auto; 275 | margin: 8px 0px -4px 2px; 276 | border-top: solid 1px var(--accent); 277 | background: var(--accent-15); 278 | padding: 4px 4px 6px 4px; 279 | } 280 | 281 | [class^="MessageArea__Area-sc"] div[class^="Base-sc"] > time { 282 | margin: 0px; 283 | background: unset; 284 | color: var(--accent); 285 | display: block; 286 | } 287 | 288 | [class^="MessageArea__Area-sc"] div[class^="Base-sc"] > [class^="Unread-sc"] { 289 | padding: 4px 6px; 290 | border-radius: 0px; 291 | margin: -5px 4px -6px -4px; 292 | } 293 | 294 | .cYBcvy { 295 | --emoji-size: 3.428em; /* 48px */ 296 | } 297 | 298 | .fDfxAc { /* Reactions */ 299 | background: var(--accent-10); 300 | } 301 | 302 | .fDfxAc:hover { 303 | filter: none; 304 | background: var(--accent-25) 305 | } 306 | 307 | .cZEhIO:not(:hover), .fhGxEk:not(:hover) { /* Mentions */ 308 | /* border-bottom: solid 1px var(--mention-darker);*/ 309 | box-shadow: inset 0px -1px 0px 0px var(--mention-darker); 310 | } 311 | 312 | /* Embeds */ 313 | 314 | [class^="AutoComplete__Base-sc"] > div { 315 | border: solid 1px rgba(0, 0, 0, 0.5); 316 | border-bottom: none; 317 | } 318 | 319 | [class^="ReplyBar__Base-sc"], 320 | [class^="MessageBox__Base-sc"] { 321 | border-left: solid 1px rgba(0, 0, 0, 0.5); 322 | border-right: solid 1px rgba(0, 0, 0, 0.5); 323 | } 324 | 325 | [class^="ReplyBar__Base-sc"] { 326 | background: var(--accent-15); 327 | } 328 | 329 | [class^="MessageBox__Base-sc"] { 330 | background: linear-gradient(to right, var(--accent-15), var(--accent-15)), var(--white-pixel); 331 | } 332 | 333 | /* Unread notification */ 334 | 335 | [class^="JumpToBottom__Bar-sc"] > div, 336 | [class^="JumpToBottom__Bar-sc"] > div:hover { 337 | background: linear-gradient(to right, var(--accent-15), var(--accent-15)), var(--white-pixel); 338 | border: solid 1px var(--accent); 339 | color: var(--accent); 340 | } 341 | 342 | /* Right bar */ 343 | 344 | div[class^="SidebarBase-sc"] { 345 | background: var(--accent); 346 | padding-right: 0px; 347 | } 348 | 349 | div[class^="SidebarBase__GenericSidebarBase-sc"] { 350 | border-top: solid 5px var(--accent-25); 351 | padding-top: 0px; 352 | margin-top: var(--header-height); 353 | margin-right: 0px; 354 | } 355 | 356 | /* BottonNav */ 357 | 358 | div[class^="BottomNavigation__Base-sc"] { 359 | /*background: var(--background);*/ 360 | background: linear-gradient(to right, var(--accent-25), var(--accent-25)), var(--white-pixel); 361 | border-top: solid 2px var(--accent); 362 | } 363 | 364 | /*div[class^="BottomNavigation__Base-sc"] > div[class^="BottomNavigation__Navbar-sc"] { 365 | background: var(--accent-25); 366 | }*/ 367 | 368 | /*div[class^="BottomNavigation__Base-sc"] div[class^="BottomNavigation__Button-sc"] > div[class^="IconButton-sc"] {*/ 369 | .bkKKgS * { 370 | color: var(--accent) !important; 371 | } 372 | 373 | .bkKKgS > a > a > svg { 374 | text-shadow: 0px 0px 2px var(--serverbar-foreground); 375 | } 376 | 377 | .brHoXv { 378 | background: var(--accent); 379 | } 380 | 381 | .brHoXv * { 382 | color: var(--serverbar-foreground) !important; 383 | } 384 | 385 | /* Floating action bar */ 386 | 387 | [class^="MessageBase__MessageContent-sc"] > .sc-iBPTik { 388 | background: var(--accent); 389 | border: solid 1px var(--scrollbar-thumb); 390 | } 391 | 392 | [class^="MessageBase__MessageContent-sc"] > .sc-iBPTik .sc-fubCzh:hover { 393 | background: var(--scrollbar-thumb); 394 | } 395 | 396 | [class^="MessageBase__MessageContent-sc"] > .sc-iBPTik div { 397 | color: var(--serverbar-foreground); 398 | } 399 | 400 | /* Context menu */ 401 | 402 | .preact-context-menu > .context-menu > span:not([data-disabled="true"]):hover, 403 | .preact-context-menu > .context-menu > span:not([data-disabled="true"]):hover > .tip { 404 | background-color: var(--accent); 405 | color: var(--serverbar-foreground); 406 | } 407 | 408 | .preact-context-menu > .context-menu > span:not([data-disabled="true"]):hover > span[style^="color:var(--error)"] { 409 | color: var(--serverbar-foreground) !important; 410 | background: var(--error); 411 | width: 100%; 412 | margin: -6px -8px; 413 | padding: 6px 8px; 414 | border-radius: calc(var(--border-radius) / 2); 415 | box-sizing: content-box; 416 | } 417 | 418 | /* Users/DMs sidebar */ 419 | 420 | [class^="SidebarBase__GenericSidebarBase-sc"] div[data-test-id="virtuoso-item-list"] div[class^="_item_"]:hover, 421 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"]:hover, 422 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"][data-active="true"] { 423 | background: var(--accent-15); 424 | } 425 | 426 | [class^="SidebarBase__GenericSidebarBase-sc"] div[data-test-id="virtuoso-item-list"] div[class^="_item_"]:hover > div[class^="_name_"] [class^="UserShort__Name-sc"], 427 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"]:hover > div[class^="_content_"], 428 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"][data-active="true"] > div[class^="_content_"], 429 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"]:hover > div[class^="_name_"] [class^="UserShort__Name-sc"], 430 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"][data-active="true"] > div[class^="_name_"] [class^="UserShort__Name-sc"] { 431 | color: var(--accent); 432 | } 433 | 434 | [class^="SidebarBase__GenericSidebarBase-sc"] div[class^="SidebarBase__GenericSidebarList"] div[class^="_item_"][data-active="true"] { 435 | border-bottom: solid 1px var(--accent); 436 | } 437 | 438 | /* User Profile */ 439 | 440 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] { 441 | background: var(--accent); 442 | padding-bottom: 0px !important; 443 | } 444 | 445 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] * { 446 | color: var(--serverbar-foreground); 447 | } 448 | 449 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] > [class^="_profile_"] + div:not([class]) { 450 | background-color: rgba(0, 0, 0, 0.5) !important; 451 | margin-top: -5px; 452 | margin-bottom: 15px; 453 | /*box-sizing: border-box; 454 | display: block;*/ 455 | } 456 | 457 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] > [class^="_tabs_"] > div, 458 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] > [class^="_tabs_"] > div:hover { 459 | border-bottom: 0px solid transparent; 460 | text-align: center; 461 | } 462 | 463 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_header_"] > [class^="_tabs_"] > div[data-active="true"] { 464 | background: linear-gradient(to right, var(--accent-25), var(--accent-25)), var(--white-pixel); 465 | color: var(--accent); 466 | border: 1px solid var(--accent); 467 | border-bottom: 0px solid transparent; 468 | border-top-left-radius: 6px; 469 | border-top-right-radius: 6px; 470 | } 471 | 472 | [class^="Base-sc"] > [class^="Container-sc"] [class^="_content_"] [class^="_entry_"]:hover { 473 | background: var(--accent-15); 474 | color: var(--accent); 475 | } 476 | 477 | /* Settings */ 478 | 479 | [class^="_settings_"] [class^="_sidebar_"] { 480 | background: var(--accent); 481 | } 482 | 483 | [class^="_settings_"][data-mobile="true"] [class^="_sidebar_"] [class^="_container_"] { 484 | background: var(--accent-15); 485 | } 486 | 487 | [class^="_settings_"][data-mobile="true"] [class^="Header-sc"], 488 | [class^="_settings_"][data-mobile="true"] [class^="Header-sc"] > a { 489 | background: var(--accent); 490 | color: white; 491 | } 492 | 493 | [class^="_settings_"][data-mobile="true"] [class^="Settings__AccountHeader-sc"] { 494 | border: solid 1px rgba(0, 0, 0, 0.25); 495 | } 496 | 497 | [class^="_settings_"][data-mobile="true"] [class^="Settings__AccountHeader-sc"] > .statusChanger { 498 | --secondary-foreground: var(--accent); 499 | color: var(--accent); 500 | background: white; 501 | border-top: solid 1px rgba(0, 0, 0, 0.25); 502 | } 503 | 504 | [class^="_settings_"]:not([data-mobile="true"]) [class^="_sidebar_"] * { 505 | color: white; 506 | } 507 | 508 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"], 509 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"] * { 510 | transition: none; 511 | } 512 | 513 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"]:hover, 514 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][data-active="true"] { 515 | background: linear-gradient(to right, var(--accent-25), var(--accent-25)), var(--white-pixel); 516 | } 517 | 518 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"]:hover *, 519 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][data-active="true"] * { 520 | color: var(--accent); 521 | } 522 | 523 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][class*="_donate_"]:hover, 524 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][class*="_donate_"]:hover * { 525 | background: #daa520; 526 | color: white; 527 | } 528 | 529 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][class*="_logOut_"]:hover, 530 | [class^="_settings_"] [class^="_sidebar_"] div[class^="_item_"][class*="_logOut_"]:hover * { 531 | background: var(--error); 532 | color: white; 533 | } 534 | 535 | /* Text fields */ 536 | 537 | div[class^="MessageBox__Base-sc"] div[class^="TextAreaAutoSize__Container-sc"] > textarea { 538 | background: white; 539 | border: solid 1px var(--accent); 540 | border-radius: 4px; 541 | /*;padding: 11px 7px 11px 7px; 542 | margin: 3px 7px 3px 0px;*/ 543 | padding: 12px 7px 12px 7px; 544 | margin: 0px 7px 0px 0px; 545 | max-height: 120px; 546 | } 547 | 548 | div[class^="MessageBox__Base-sc"] div[class^="TextAreaAutoSize__Container-sc"] > textarea:not(:focus):placeholder-shown { 549 | border: solid 1px var(--form-border); 550 | /*border-bottom: solid 2px var(--accent);*/ 551 | padding: 7px 7px 7px 7px; 552 | margin: 5px 7px 5px 0px; 553 | height: 38px !important; 554 | } 555 | 556 | input[class^="InputBox-sc"], 557 | select[class^="ComboBox-sc"] { 558 | background: white; 559 | border: solid 1px var(--form-border); 560 | border-radius: 4px; 561 | } 562 | 563 | div[class^="MessageBox__Base-sc"] div[class^="TextAreaAutoSize__Container-sc"] > textarea:not(:focus):placeholder-shown, 564 | input[class^="InputBox-sc"]:focus, 565 | select[class^="ComboBox-sc"]:focus { 566 | border-bottom: solid 1px var(--accent); 567 | -webkit-box-shadow: inset 0px -1px 0px 0px var(--accent); 568 | -moz-box-shadow: inset 0px -1px 0px 0px var(--accent); 569 | box-shadow: inset 0px -1px 0px 0px var(--accent); 570 | } 571 | 572 | input[class^="InputBox-sc"]:hover, 573 | select[class^="ComboBox-sc"]:hover { 574 | background: white; 575 | } 576 | 577 | /* Buttons */ 578 | 579 | button[class^="Button-sc"]:not(.jMjzeh) { /* Default */ 580 | border: solid 1px var(--form-border); 581 | box-shadow: inset 0px 1px 0px 0px hsla(0deg, 0%, 100%, 0.25); 582 | padding: 1px 11px 1px 11px !important; 583 | border-radius: 4px; 584 | } 585 | 586 | button[class^="Button-sc"].uZBqX { /* Primary */ 587 | border-color: var(--scrollbar-thumb); 588 | } 589 | 590 | button[class^="Button-sc"].claKep { 591 | --foreground: white; 592 | background: var(--accent); 593 | border-color: var(--scrollbar-thumb); 594 | } 595 | 596 | button[class^="Button-sc"].claKep:hover { 597 | filter: brightness(1.2); 598 | } 599 | 600 | button[class^="Button-sc"].hWskOV { /* Danger */ 601 | border-color: var(--error-darker); 602 | } 603 | 604 | /* Invite links */ 605 | 606 | [class^="EmbedInvite__EmbedInviteBase"] { 607 | background: var(--accent-15); 608 | border: solid 1px var(--accent-25); 609 | } 610 | 611 | [class^="EmbedInvite__EmbedInviteBase"] [class^="EmbedInvite__EmbedInviteName-sc"] { 612 | color: var(--scrollbar-thumb); 613 | } 614 | 615 | [class^="EmbedInvite__EmbedInviteBase"] [class^="EmbedInvite__EmbedInviteDetails-sc"] {} 616 | 617 | @media(min-width: 1024px) { 618 | /*[class^="EmbedInvite__EmbedInviteBase"] [class^="Button-sc"].jbwUqj*/ 619 | [class^="EmbedInvite__EmbedInviteBase"] [class^="EmbedInvite__EmbedInviteDetails-sc"] { 620 | /*margin-left: 6px;*/ 621 | padding-right: 6px; 622 | } 623 | } 624 | 625 | [class^="EmbedInvite__EmbedInviteBase"] [class^="Button-sc"].jbwUqj { /* Invite */ 626 | border-color: var(--button-success-border); 627 | background: var(--button-success-background); 628 | color: var(--button-success-foreground); 629 | padding-top: 0px !important; 630 | z-index: auto; 631 | } 632 | 633 | /* Scrollbar */ 634 | 635 | ::-webkit-scrollbar { 636 | width: var(--scrollbar-thickness); 637 | height: var(--scrollbar-thickness); 638 | } 639 | 640 | ::-webkit-scrollbar-track { 641 | background: var(--scrollbar-track); 642 | } 643 | 644 | ::-webkit-scrollbar-thumb { 645 | min-width: 30px; 646 | min-height: 30px; 647 | background-clip: content-box; 648 | background: var(--scrollbar-color); 649 | border-radius: 15px; 650 | } 651 | 652 | html, 653 | body { 654 | scrollbar-color: var(--scrollbar-color) var(--scrollbar-track); 655 | } 656 | 657 | * { 658 | scrollbar-width: var(--scrollbar-thickness-ff); 659 | } -------------------------------------------------------------------------------- /data/social-classic/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "social-classic" 2 | name = "Social Classic" 3 | creator = "DragShot" 4 | description = "A mixture of light, dark and a primary color of your preference, inspired by social websites from the 2010s." 5 | tags = ["social", "classic", "light", "2010"] 6 | version = "v1.0.1" 7 | 8 | [variables] 9 | light = true 10 | accent = "#3B5998" 11 | background = "#F6F6F6" 12 | foreground = "#101010" 13 | 14 | block = "#414141" 15 | message-box = "#E2E6F0" 16 | mention = "#FFF5CE" 17 | 18 | success = "#65E572" 19 | warning = "#FAA352" 20 | error = "#F06464" 21 | hover = "rgba(0, 0, 0, 0.2)" 22 | 23 | [variables.scrollbar] 24 | thumb = "#2F477A" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#FFFFFF" 29 | header = "#3B5998" 30 | 31 | [variables.secondary] 32 | background = "#F1F1F1" 33 | foreground = "#1f1f1f" 34 | header = "#F1F1F1" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#3A3A3A" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "#977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/solarized-dark/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "solarized-dark" 2 | name = "Solarized Dark" 3 | creator = "CrystalENVT" 4 | description = "Solarized Dark theme for Revolt." 5 | 6 | [variables] 7 | light = false 8 | accent = "#d33682" 9 | background = "#002b36" 10 | foreground = "#fdf6e3" 11 | 12 | block = "#2D2D2D" 13 | message-box = "#073642" 14 | mention = "d33682" 15 | 16 | success = "#859900" 17 | warning = "#cb4b16" 18 | error = "#dc322f" 19 | hover = "rgba(0, 0, 0, 0.1)" 20 | 21 | [variables.scrollbar] 22 | thumb = "#268bd2" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#002b36" 27 | header = "#2aa198" 28 | 29 | [variables.secondary] 30 | background = "#073642" 31 | foreground = "#eee8d5" 32 | header = "#268bd2" 33 | 34 | [variables.tertiary] 35 | background = "#586e75" 36 | foreground = "#93a1a1" 37 | 38 | [variables.status] 39 | online = "#859900" 40 | away = "#b58900" 41 | busy = "#dc322f" 42 | streaming = "#6c71c4" 43 | invisible = "#93a1a1" 44 | -------------------------------------------------------------------------------- /data/sonar/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "sonar" 2 | name = "Sonar" 3 | creator = "Scout339" 4 | description = "Just a sleek dark theme." 5 | tags = ["dark", "blue"] 6 | version = "0.0.1" 7 | 8 | [variables] 9 | light = false 10 | accent = "#2667ed" 11 | background = "#191919" 12 | foreground = "#F6F6F6" 13 | block = "#2D2D2D" 14 | mention = "rgba(251, 255, 0, 0.06)" 15 | message-box = "#3b3b3b" 16 | 17 | success = "#65E572" 18 | warning = "#FAA352" 19 | error = "#ED4245" 20 | hover = "rgba(255, 255, 255, 0.05)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#848484" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#242424" 29 | header = "#363636" 30 | 31 | [variables.secondary] 32 | background = "#1E1E1E" 33 | foreground = "#C8C8C8" 34 | header = "#2D2D2D" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#3ABF7E" 42 | away = "#F39F00" 43 | busy = "#F84848" 44 | streaming = "977EFF" 45 | invisible = "#A5A5A5" 46 | -------------------------------------------------------------------------------- /data/steamy/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "steamy" 2 | name = "Steamy" 3 | creator = "Scout339" 4 | description = "A Steam-Powered dark theme!" 5 | tags = ["dark", "steam"] 6 | version = "0.0.1" 7 | 8 | [variables] 9 | light = false 10 | accent = "#1a9fff" 11 | background = "#171d25" 12 | foreground = "#d0d0d1" 13 | block = "#111a22" 14 | mention = "rgba(251, 255, 0, 0.06)" 15 | message-box = "#171d25" 16 | 17 | success = "#59bf40" 18 | warning = "#ffc82c" 19 | error = "#ED4245" 20 | hover = "rgba(62, 78, 105, 0.5)" 21 | tooltip = "#000000" 22 | 23 | [variables.scrollbar] 24 | thumb = "#606774" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#232c39" 29 | header = "#111a22" 30 | 31 | [variables.secondary] 32 | background = "#24282f" 33 | foreground = "#C8C8C8" 34 | header = "#111a22" 35 | 36 | [variables.tertiary] 37 | background = "#4D4D4D" 38 | foreground = "#848484" 39 | 40 | [variables.status] 41 | online = "#6dcff6" 42 | away = "#447388" 43 | busy = "#c37f00" 44 | invisible = "#606774" 45 | -------------------------------------------------------------------------------- /data/striking-stardust/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "striking-stardust" 2 | name = "Striking Stardust" 3 | creator = "giantspacemonster" 4 | description = "a vibrant purple theme" 5 | tags = ["purple", "dark"] 6 | [variables] 7 | light = false 8 | accent = "#00b46c" 9 | background = "#160a33" 10 | foreground = "#9dffec" 11 | block = "#2e1948" 12 | message-box = "#461e59" 13 | mention = "11393c" 14 | success = "#65E572" 15 | warning = "#FAA352" 16 | error = "#F06464" 17 | hover = "rgba(0, 0, 0, 0.1)" 18 | [variables.scrollbar] 19 | thumb = "#00b46c" 20 | track = "transparent" 21 | [variables.primary] 22 | background = "#241440" 23 | header = "#461e59" 24 | [variables.secondary] 25 | background = "#2e1948" 26 | foreground = "#51dff4" 27 | header = "#3c1c55" 28 | [variables.tertiary] 29 | background = "#3c1c55" 30 | foreground = "#44bcfa" 31 | [variables.status] 32 | online = "#3ABF7E" 33 | away = "#F39F00" 34 | busy = "#F84848" 35 | streaming = "#977EFF" 36 | invisible = "#A5A5A5" 37 | -------------------------------------------------------------------------------- /data/tokyo-night/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "tokyo-night" 2 | name = "Tokyo Night" 3 | creator = "hecker" 4 | description = "A Clean Revolt Theme." 5 | 6 | [variables] 7 | light = false 8 | accent = "#4651c2" 9 | background = "#12131b" 10 | foreground = "#F6F6F6" 11 | 12 | block = "#171722" 13 | message-box = "#171722" 14 | mention = "#4b443b" 15 | 16 | success = "#57F287" 17 | warning = "#FEE75C" 18 | error = "#ED4245" 19 | hover = "#181822" 20 | 21 | [variables.scrollbar] 22 | thumb = "#4651c2" 23 | track = "transparent" 24 | 25 | [variables.primary] 26 | background = "#1b1a26" 27 | header = "#17161f" 28 | 29 | [variables.secondary] 30 | background = "#171722" 31 | foreground = "#6e728e" 32 | header = "#171722" 33 | 34 | [variables.tertiary] 35 | background = "#171722" 36 | foreground = "#848484" 37 | 38 | [variables.status] 39 | online = "#57F287" 40 | away = "#FEE75C" 41 | busy = "#ED4245" 42 | streaming = "#7100fd" 43 | invisible = "#747f8d" 44 | -------------------------------------------------------------------------------- /data/twitch-theme/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "twitch-theme" 2 | name = "Twitch Theme" 3 | creator = "NoLogicAlan" 4 | description = "Theme inspired by Twitch's dark theme." 5 | tags = ["Twitch", "dark", "purple", "streaming"] 6 | version = "1.0.0" 7 | 8 | [variables] 9 | accent = "#9146FF" 10 | background = "#0F0F13" 11 | foreground = "#FFFFFF" 12 | block = "rgba(255, 255, 255, 0.1)" 13 | message-box = "rgba(255, 255, 255, 0.05)" 14 | mention = "rgba(236, 89, 221, 0.3)" 15 | success = "#2BE79C" 16 | warning = "#E79C2B" 17 | tooltip = "#9146FF" 18 | error = "#EC6859" 19 | hover = "#191919" 20 | scrollbar-thumb = "rgba(145, 70, 255, 0.6)" 21 | scrollbar-track = "transparent" 22 | 23 | [variables.primary] 24 | background = "#191919" 25 | header = "#9146FF" 26 | 27 | [variables.secondary] 28 | background = "#0F0F13" 29 | foreground = "#FFFFFF" 30 | header = "#9146FF" 31 | 32 | [variables.tertiary] 33 | background = "#383838" 34 | foreground = "#FFFFFF" 35 | 36 | [variables.status] 37 | online = "#4BBD4B" 38 | away = "#FFAF30" 39 | focus = "#9146FF" 40 | busy = "#FF453A" 41 | streaming = "#9146FF" 42 | invisible = "#747f8d" 43 | 44 | border-color = "#1F1F24" 45 | light = false 46 | font = "Roboto" 47 | monospaceFont = "Fira Code" 48 | -------------------------------------------------------------------------------- /data/vintage-terminal/Preset.toml: -------------------------------------------------------------------------------- 1 | slug = "vintage-terminal" 2 | name = "Vintage Terminal" 3 | creator = "Axorax" 4 | description = "Vintage looking terminal theme for Revolt." 5 | version = "1.0.0" 6 | tags = ["dark", "terminal", "vintage"] 7 | 8 | [variables] 9 | light = false 10 | accent = "#ffff33" 11 | background = "#000000" 12 | foreground = "#00ff00" 13 | 14 | block = "#333333" 15 | message-box = "#000000" 16 | mention = "#121212" 17 | 18 | success = " #00ff00" 19 | warning = "#ffff33" 20 | error = "#FF0000" 21 | hover = "#00ff001A" 22 | 23 | [variables.scrollbar] 24 | thumb = "#ffffff" 25 | track = "transparent" 26 | 27 | [variables.primary] 28 | background = "#000000" 29 | header = "#333333" 30 | 31 | [variables.secondary] 32 | background = "#000000" 33 | foreground = "#00ff00" 34 | header = "#333333" 35 | 36 | [variables.tertiary] 37 | background = "#000000" 38 | foreground = "#ffffff" 39 | 40 | [variables.status] 41 | online = "#00ff00" 42 | away = "#ffff33" 43 | busy = "#FF0000" 44 | streaming = "#A020F0" 45 | invisible = "#80848E" 46 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "themes", 3 | "version": "0.0.0", 4 | "license": "MIT", 5 | "type": "module", 6 | "scripts": { 7 | "build": "node src/build.js", 8 | "validate": "node src/check.js" 9 | }, 10 | "dependencies": { 11 | "toml": "^3.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /scripts/primer.css: -------------------------------------------------------------------------------- 1 | /* This works but it may cause issues that I haven't seen yet. */ 2 | * { 3 | border-color: var(--border-color) !important; 4 | } 5 | -------------------------------------------------------------------------------- /scripts/primer.ts: -------------------------------------------------------------------------------- 1 | import * as fs from "https://deno.land/std@0.119.0/fs/mod.ts"; 2 | import * as path from "https://deno.land/std@0.119.0/path/mod.ts"; 3 | import * as toml from "https://deno.land/std@0.119.0/encoding/toml.ts"; 4 | 5 | import primer from "https://cdn.skypack.dev/@primer/primitives?dts"; 6 | // import { desaturate } from "https://cdn.skypack.dev/color2k?dts"; 7 | 8 | type ValueOf = T[keyof T]; 9 | type PrimerTheme = ValueOf; 10 | 11 | function capitalize(word: string) { 12 | return `${word[0].toUpperCase()}${word.slice(1)}`; 13 | } 14 | 15 | const tags = ["colorblind", "high-contrast"]; 16 | 17 | function generateTheme(name: string, theme: PrimerTheme) { 18 | const light = name.includes("light"); 19 | if (!light) { 20 | theme.canvas.inset = theme.canvas.overlay; 21 | } 22 | 23 | const variables = { 24 | light: light, 25 | accent: light ? theme.accent.emphasis : theme.accent.fg, 26 | background: theme.canvas.default, 27 | foreground: theme.fg.default, 28 | block: theme.scale.gray.at(9), 29 | "message-box": theme.canvas.default, 30 | mention: theme.sponsors.fg, 31 | success: theme.success.fg, 32 | warning: theme.attention.fg, 33 | error: theme.danger.fg, 34 | hover: light ? theme.neutral.muted : theme.neutral.subtle, 35 | scrollbar: { 36 | thumb: theme.scale.red.at(4), 37 | track: "transparent", 38 | }, 39 | primary: { 40 | background: theme.canvas.default, 41 | foreground: theme.fg.default, 42 | header: theme.canvas.inset, 43 | }, 44 | secondary: { 45 | background: theme.canvas.inset, 46 | foreground: theme.fg.muted, 47 | header: theme.canvas.inset, 48 | }, 49 | tertiary: { 50 | background: theme.canvas.inset, 51 | foreground: theme.fg.muted, 52 | }, 53 | status: { 54 | online: theme.success.fg, 55 | away: theme.attention.fg, 56 | busy: theme.danger.fg, 57 | streaming: theme.done.fg, 58 | invisible: theme.neutral.emphasis, 59 | }, 60 | "border-color": theme.border.default, 61 | }; 62 | 63 | const kebabName = name.replaceAll("_", "-"); 64 | const humanName = capitalize(name.replaceAll("_", " ")); 65 | 66 | return { 67 | slug: `primer-${kebabName}`, 68 | name: `Primer ${humanName}`, 69 | tags: tags.filter((tag) => kebabName.includes(tag)), 70 | creator: "bree", 71 | description: `${humanName} theme using primer color primatives.`, 72 | version: "1.0.0", 73 | variables, 74 | }; 75 | } 76 | 77 | const themes = Object.entries(primer.colors) 78 | .map(([name, theme]) => generateTheme(name, theme)); 79 | 80 | for (const theme of themes) { 81 | const themeDir = `./data/${theme.slug}/`; 82 | 83 | await fs.ensureDir(themeDir); 84 | 85 | console.log(`Writitng ${themeDir}`); 86 | await Deno.writeTextFile( 87 | path.resolve(themeDir, "Preset.toml"), 88 | toml.stringify(theme), 89 | ); 90 | await Deno.copyFile( 91 | "./scripts/primer.css", 92 | path.resolve(themeDir, "Custom.css"), 93 | ); 94 | } 95 | -------------------------------------------------------------------------------- /src/build.js: -------------------------------------------------------------------------------- 1 | import { themeList, loadTheme, flatten } from './helpers.js'; 2 | import { mkdir, writeFile } from 'fs/promises'; 3 | 4 | const OUT_DIR = 'built' 5 | 6 | // TODO: replace this with intended no-error mkdir way 7 | await mkdir(OUT_DIR).catch(() => {}); 8 | 9 | let list = await themeList(); 10 | let themes = await Promise.all(list.map(async theme => [theme, {version: '0.0.1', ...await loadTheme(theme)}])); 11 | 12 | // Full theme manifest 13 | const all_themes = []; 14 | for (let [ id, theme ] of themes) { 15 | const tags = new Set(theme.tags ?? []); 16 | if (theme.variables.light) { 17 | tags.add('light'); 18 | } else { 19 | tags.add('dark'); 20 | } 21 | 22 | all_themes.push({ 23 | ...theme, 24 | tags: [...tags].slice(0, 10) 25 | }); 26 | } 27 | 28 | writeFile(`${OUT_DIR}/all.json`, JSON.stringify(all_themes)); 29 | 30 | // Manifest separated from themes 31 | let manifest = { 32 | generated: new Date().toUTCString(), 33 | themes: {} 34 | }; 35 | 36 | for (let [ id, theme ] of themes) { 37 | let out = { 38 | ...flatten(theme.variables), 39 | css: theme.css 40 | }; 41 | 42 | delete theme.variables; 43 | delete theme.css; 44 | 45 | writeFile(`${OUT_DIR}/theme_${id}.json`, JSON.stringify(out)); 46 | 47 | let { slug, ...t } = theme; 48 | manifest.themes[slug] = t; 49 | } 50 | 51 | writeFile(`${OUT_DIR}/manifest.json`, JSON.stringify(manifest)); 52 | -------------------------------------------------------------------------------- /src/check.js: -------------------------------------------------------------------------------- 1 | import { themeList, loadTheme, ensureDefined, flatten } from './helpers.js'; 2 | 3 | let list = await themeList(); 4 | let themes = await Promise.all(list.map(async theme => [theme, await loadTheme(theme)])); 5 | 6 | for (let [ id, theme ] of themes) { 7 | let flat = flatten(theme.variables); 8 | try { 9 | ensureDefined( 10 | flat, 11 | [ 12 | 'light', 13 | 'accent', 14 | 'background', 15 | 'foreground', 16 | 'block', 17 | 'message-box', 18 | 'mention', 19 | 'success', 20 | 'warning', 21 | 'error', 22 | 'hover', 23 | 'scrollbar-thumb', 24 | 'scrollbar-track', 25 | 'primary-background', 26 | 'primary-header', 27 | 'secondary-background', 28 | 'secondary-foreground', 29 | 'secondary-header', 30 | 'tertiary-background', 31 | 'tertiary-foreground', 32 | 'status-online', 33 | 'status-away', 34 | 'status-busy', 35 | 'status-streaming', 36 | 'status-invisible', 37 | ] 38 | ); 39 | } catch (err) { 40 | throw `Failed to check "${id}": ${err}`; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/helpers.js: -------------------------------------------------------------------------------- 1 | import { parse } from 'toml'; 2 | import { existsSync } from 'fs'; 3 | import { readdir, readFile } from 'fs/promises'; 4 | 5 | export function ensureDefined(object, keys) { 6 | for (let key of keys) { 7 | if (typeof object[key] === 'undefined') 8 | throw `Key ${key} is not present on object.`; 9 | } 10 | } 11 | 12 | export function flatten(object, prefix = '') { 13 | let newObj = {}; 14 | let actualPrefix = prefix.length === 0 ? '' : prefix + '-'; 15 | for (let key of Object.keys(object)) { 16 | if (typeof object[key] === 'object') { 17 | newObj = { 18 | ...newObj, 19 | ...flatten(object[key], actualPrefix + key) 20 | } 21 | } else { 22 | newObj[actualPrefix + key] = object[key]; 23 | } 24 | } 25 | 26 | return newObj; 27 | } 28 | 29 | export const themeList = () => readdir('data'); 30 | export const resolve = (theme, file) => `data/${theme}/${file}`; 31 | export async function loadTheme(theme) { 32 | let file; 33 | try { 34 | file = await readFile(resolve(theme, 'Preset.toml')); 35 | } catch (err) { 36 | throw `Could not load Preset.toml for ${theme} - does it exist?` 37 | } 38 | 39 | let data = parse(file.toString()); 40 | 41 | try { 42 | ensureDefined(data, [ 'slug', 'name', 'creator', 'description', 'variables' ]); 43 | } catch (err) { 44 | throw `Failed to parse "${theme}": ${err}`; 45 | } 46 | 47 | let css = resolve(theme, 'Custom.css'); 48 | if (existsSync(css)) { 49 | data.css = (await readFile(css)).toString(); 50 | } 51 | 52 | return data; 53 | } 54 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | toml@^3.0.0: 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" 8 | integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== 9 | --------------------------------------------------------------------------------