diff --git a/.envrc b/.envrc new file mode 100644 index 0000000000..0fdc096fc0 --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +if has nix_direnv_version; then + use flake +fi diff --git a/.gitattributes b/.gitattributes index f271a57c1b..f41afd6189 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1 @@ -*.webp filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.css linguist-language=less src/** -linguist-detectable diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index df1c527824..022c0b8da3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,94 +1,128 @@ # THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND. /styles/advent-of-code @rubyowo +/styles/alacritty.org @AlwaysNur +/styles/alternativeto @thismoon /styles/amplenote @stellophiliac /styles/anilist @AnubisNekhet +/styles/anonymous-overflow @ImenaOphelia /styles/boringproxy @Gandalf-the-Blue /styles/brave-search @ndsboy /styles/bsky @RoootTheFox /styles/bstats @rockquiet +/styles/canvas-lms @pynappo /styles/chatgpt @uncenter /styles/chatreplay @AnubisNekhet +/styles/chess.com @uncenter /styles/cinny @jn-sena +/styles/claude @ruiiiijiiiiang /styles/codeberg @isabelroses /styles/cobalt @kerichdev /styles/crates.io @uncenter /styles/crowdin @ryanccn /styles/deepl @watatomo +/styles/deepseek @WalkQuackBack +/styles/desmos @gradylink +/styles/dev.to @shnjd +/styles/devdocs @ashish0kumar +/styles/docs.deno.com @uncenter /styles/docs.rs @uncenter /styles/duckduckgo @GenShibe -/styles/ecosia @isabelroses /styles/elk @ryanccn /styles/freedesktop @NK308 -/styles/formative @r58Playz +/styles/ghostty.org @uncenter /styles/github @uncenter +/styles/gleam.run @uncenter /styles/gmail @uncenter /styles/go.dev @Flapperoo -/styles/google @GitMuslim -/styles/google-drive @r58Playz -/styles/google-photos @GenShibe -/styles/graphite @isabelroses -/styles/google-gemini @Dandraghas +/styles/google-drive @r58Playz @WalkQuackBack +/styles/google-photos @GenShibe @WalkQuackBack +/styles/grabify @trinkey +/styles/google-gemini @Dandraghas @WalkQuackBack /styles/hackage @jn-sena /styles/hacker-news @lucasmelin +/styles/have-i-been-pwned @trinkey /styles/holodex @Guaxinim5573 /styles/home-manager-options-search @uncenter /styles/homepage @Gandalf-the-Blue +/styles/hoogle @jn-sena /styles/hoppscotch @justTOBBI -/styles/hyperpipe @jn-sena +/styles/learn-x-in-y-minutes @nik-rev /styles/ichi.moe @watatomo /styles/inoreader @thomas-philippot +/styles/indie-wiki-buddy @thismoon /styles/instagram @GenShibe /styles/invokeai @ryanccn +/styles/jisho @Lichthagel +/styles/keybr.com @janTatesa /styles/keyoxide @uncenter /styles/lastfm @AnubisNekhet /styles/lemmy @Gandalf-the-Blue -/styles/lichess @coopw1 +/styles/lichess @coopw1 @zenoix /styles/lingva @rubyowo -/styles/linkedin @isabelroses /styles/listenbrainz @00dani +/styles/lobste.rs @steinuil +/styles/mastodon @comfysage /styles/mdbook @uncenter /styles/mdn @soya-daizu /styles/modrinth @thismoon -/styles/microsoft-word @GitMuslim /styles/migadu-webmail @uncenter -/styles/minesweeper @GitMuslim +/styles/namemc @Meowcelinee +/styles/neovim.io @comfysage +/styles/npmx @42willow /styles/nitter @AnubisNekhet -/styles/nixos-search @cecelot +/styles/nixos-manual @husjon +/styles/nixos-search @sydrinea +/styles/wiki.nixos.org @orangci /styles/npm @uncenter +/styles/ollama @NeonGamerBot-QK /styles/openmediavault @Gandalf-the-Blue /styles/paste.rs @Guaxinim5573 /styles/perplexity @Tnixc /styles/phanpy @Guaxinim5573 -/styles/picrew @Nyatalieeee +/styles/picrew @Meowcelinee +/styles/pinterest @nuexq /styles/planet-minecraft @Nyameliaaaa +/styles/poe @TheAnonymousCrusher /styles/porkbun @uncenter +/styles/pronouns.cc @comfysage /styles/pronouns.page @uncenter /styles/proton @soya-daizu /styles/pypi @trinkey +/styles/pythonanywhere @trinkey /styles/quizlet @spaghettiosareyummy /styles/raindrop @thismoon +/styles/react.dev @RaiderHCPlay +/styles/regex101 @uncenter +/styles/rentry.co @thismoon +/styles/scalar @incognitotgt +/styles/searchix @koibtw /styles/searxng @Sekki21956 @ryanccn -/styles/shinigami-eyes @jh-devv +/styles/seventv @mxgic1337 +/styles/shinigami-eyes @sofiedotcafe /styles/snapchat-web @itzTheMeow /styles/spotify-web @Tnixc /styles/stack-overflow @uncenter -/styles/skiff @coopw1 -/styles/stylus @GitMuslim +/styles/startpage @WalkQuackBack +/styles/status.cafe @bunfluff +/styles/stylus @uncenter +/styles/substack @uncenter /styles/syncthing @BlankParticle /styles/tabnews @Guaxinim5573 -/styles/tldraw @GenShibe @uncenter +/styles/tldraw @NekoDrone /styles/trinket @trinkey /styles/tuta @ryanccn -/styles/twitch @GitMuslim @uncenter +/styles/twitch @uncenter @mxgic1337 /styles/twitter @watatomo /styles/vercel @ryanccn @Dandraghas /styles/vikunja @Guaxinim5573 /styles/web.dev @uncenter -/styles/whatsapp-web @FrancoRav -/styles/wikipedia @GitMuslim +/styles/whatsapp-web @FrancoRav @WalkQuackBack +/styles/wikipedia @uncenter /styles/wikiwand @Tnixc /styles/youtube @isabelroses @uncenter +/styles/zen-browser-docs @ashish0kumar -/.github/ @catppuccin/userstyles-staff -/scripts/ @catppuccin/userstyles-staff -/template/ @catppuccin/userstyles-staff \ No newline at end of file +/.github/ @uncenter @walkquackback +/scripts/ @uncenter @walkquackback +/template/ @uncenter @walkquackback +/lib/ @uncenter @walkquackback \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 1408126da3..9c0a16c17a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ blank_issues_enabled: false contact_links: - - name: Userstyle Request + - name: Request a Userstyle url: https://github.com/catppuccin/catppuccin/discussions/new?category=port-requests - about: Request a website to be themed here! - - name: Userstyle Review + about: Request for a website to be themed. + - name: Submit a New Userstyle url: https://github.com/catppuccin/userstyles/compare - about: Already made a theme? Submit a Pull Request here! + about: Already made a theme? Submit a pull request to add it to the collection. - name: Community Discord url: https://discord.com/servers/catppuccin-907385605422448742 about: Ask questions and chat to other community members! diff --git a/.github/ISSUE_TEMPLATE/meta.yml b/.github/ISSUE_TEMPLATE/meta.yml index 01bb072136..11031087c2 100644 --- a/.github/ISSUE_TEMPLATE/meta.yml +++ b/.github/ISSUE_TEMPLATE/meta.yml @@ -1,5 +1,5 @@ name: Meta Issue -description: Report your issues with the repository here! +description: Report general userstyles issues. labels: [meta] body: - type: checkboxes diff --git a/.github/ISSUE_TEMPLATE/userstyle.yml b/.github/ISSUE_TEMPLATE/userstyle.yml index 5e17d07510..1655cf5726 100644 --- a/.github/ISSUE_TEMPLATE/userstyle.yml +++ b/.github/ISSUE_TEMPLATE/userstyle.yml @@ -1,43 +1,63 @@ # THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND. name: Userstyle Issue -description: Report your problems with any of the userstyles here! +description: Report a problem with a userstyle. body: - - type: checkboxes + - id: prerequisites + type: checkboxes attributes: label: Is there an existing issue outlining your problem? description: Please search to see if an issue already exists for your problem. options: - - label: I am using the latest version of the provided userstyle. - required: true - label: I have searched the existing issues and they do not solve my problem. required: true - - type: dropdown + - id: userstyle + type: dropdown attributes: - label: What userstyles are you seeing the problem on? + label: What userstyle are you seeing the problem on? description: "Don't worry about the `lbl:` prefix, it allows issues to be automatically labeled!" - multiple: true - options: ["lbl:advent-of-code", "lbl:amplenote", "lbl:anilist", "lbl:arch-wiki", "lbl:boringproxy", "lbl:brave-search", "lbl:bsky", "lbl:bstats", "lbl:canvas-lms", "lbl:chatgpt", "lbl:chatreplay", "lbl:chess.com", "lbl:cinny", "lbl:codeberg", "lbl:cobalt", "lbl:crates.io", "lbl:crowdin", "lbl:deepl", "lbl:docs.rs", "lbl:duckduckgo", "lbl:ecosia", "lbl:elk", "lbl:freedesktop", "lbl:formative", "lbl:github", "lbl:gmail", "lbl:go.dev", "lbl:google", "lbl:google-drive", "lbl:google-photos", "lbl:graphite", "lbl:google-gemini", "lbl:hackage", "lbl:hacker-news", "lbl:holodex", "lbl:home-manager-options-search", "lbl:homepage", "lbl:hoppscotch", "lbl:hyperpipe", "lbl:ichi.moe", "lbl:inoreader", "lbl:instagram", "lbl:invidious", "lbl:invokeai", "lbl:keyoxide", "lbl:lastfm", "lbl:lemmy", "lbl:libreddit", "lbl:lichess", "lbl:lingva", "lbl:linkedin", "lbl:listenbrainz", "lbl:mastodon", "lbl:mdbook", "lbl:mdn", "lbl:modrinth", "lbl:microsoft-word", "lbl:migadu-webmail", "lbl:minesweeper", "lbl:nitter", "lbl:nixos-search", "lbl:nixos.wiki", "lbl:npm", "lbl:openmediavault", "lbl:paste.rs", "lbl:perplexity", "lbl:phanpy", "lbl:picrew", "lbl:pinterest", "lbl:planet-minecraft", "lbl:porkbun", "lbl:pronouns.page", "lbl:proton", "lbl:pypi", "lbl:quizlet", "lbl:raindrop", "lbl:reddit", "lbl:searxng", "lbl:shinigami-eyes", "lbl:snapchat-web", "lbl:spotify-web", "lbl:stack-overflow", "lbl:startpage", "lbl:skiff", "lbl:stylus", "lbl:substack", "lbl:syncthing", "lbl:tabnews", "lbl:tldraw", "lbl:trinket", "lbl:tuta", "lbl:twitch", "lbl:twitter", "lbl:vercel", "lbl:vikunja", "lbl:web.dev", "lbl:whatsapp-web", "lbl:wikipedia", "lbl:wikiwand", "lbl:youtube"] + multiple: false + options: ["lbl:advent-of-code", "lbl:alacritty.org", "lbl:alternativeto", "lbl:amplenote", "lbl:anichart", "lbl:anilist", "lbl:anonymous-overflow", "lbl:arch-wiki", "lbl:boringproxy", "lbl:brave-search", "lbl:bsky", "lbl:bstats", "lbl:canvas-lms", "lbl:chatgpt", "lbl:chatreplay", "lbl:chess.com", "lbl:cinny", "lbl:claude", "lbl:cobalt", "lbl:codeberg", "lbl:crates.io", "lbl:crowdin", "lbl:deepl", "lbl:deepseek", "lbl:desmos", "lbl:dev.to", "lbl:devdocs", "lbl:docs.deno.com", "lbl:docs.rs", "lbl:duckduckgo", "lbl:ecosia", "lbl:elk", "lbl:formative", "lbl:freedesktop", "lbl:ghostty.org", "lbl:github", "lbl:gleam.run", "lbl:gmail", "lbl:go.dev", "lbl:google", "lbl:google-drive", "lbl:google-gemini", "lbl:google-photos", "lbl:grabify", "lbl:graphite", "lbl:hackage", "lbl:hacker-news", "lbl:have-i-been-pwned", "lbl:holodex", "lbl:home-manager-options-search", "lbl:homepage", "lbl:hoogle", "lbl:hoppscotch", "lbl:hyperpipe", "lbl:ichi.moe", "lbl:indie-wiki-buddy", "lbl:inoreader", "lbl:instagram", "lbl:invidious", "lbl:invokeai", "lbl:jisho", "lbl:keybr.com", "lbl:keyoxide", "lbl:lastfm", "lbl:learn-x-in-y-minutes", "lbl:lemmy", "lbl:libreddit", "lbl:lichess", "lbl:lingva", "lbl:linkedin", "lbl:listenbrainz", "lbl:lobste.rs", "lbl:mastodon", "lbl:mdbook", "lbl:mdn", "lbl:microsoft-word", "lbl:migadu-webmail", "lbl:minesweeper", "lbl:modrinth", "lbl:namemc", "lbl:neovim.io", "lbl:next.js", "lbl:nitter", "lbl:nixos-manual", "lbl:nixos-search", "lbl:nixpkgs-manual", "lbl:npm", "lbl:npmx", "lbl:ollama", "lbl:openmediavault", "lbl:paste.rs", "lbl:perplexity", "lbl:phanpy", "lbl:picrew", "lbl:pinterest", "lbl:planet-minecraft", "lbl:poe", "lbl:porkbun", "lbl:pronouns.cc", "lbl:pronouns.page", "lbl:proton", "lbl:pypi", "lbl:pythonanywhere", "lbl:quizlet", "lbl:raindrop", "lbl:react.dev", "lbl:reddit", "lbl:redlib", "lbl:regex101", "lbl:rentry.co", "lbl:scalar", "lbl:searchix", "lbl:searxng", "lbl:seventv", "lbl:shinigami-eyes", "lbl:snapchat-web", "lbl:spotify-web", "lbl:stack-overflow", "lbl:startpage", "lbl:status.cafe", "lbl:stylus", "lbl:substack", "lbl:syncthing", "lbl:tabnews", "lbl:tldraw", "lbl:trinket", "lbl:tuta", "lbl:twitch", "lbl:twitter", "lbl:vercel", "lbl:vikunja", "lbl:web.dev", "lbl:whatsapp-web", "lbl:wiki.nixos.org", "lbl:wikipedia", "lbl:wikiwand", "lbl:youtube", "lbl:zen-browser-docs"] validations: required: true - - type: textarea + - id: description + type: textarea attributes: - label: Describe your problem. - description: Also tell us, what do you expect to see? + label: Description + description: Describe the problem and what you expect to see instead. placeholder: The navigation bar on the website is highlighted incorrectly... validations: required: true - - type: textarea + - id: screenshots + type: textarea attributes: - label: Attach screenshots. + label: Relevant screenshots description: If applicable, attach screenshots which clearly highlight the issue. - - type: input + - id: browser_version + type: input attributes: - label: What browser(s) are you seeing the problem on? - description: "The browser version is also important, you can find out how to get that info [here](https://github.com/catppuccin/userstyles/blob/main/docs/browsers.md)." + label: Browser version(s) this issue occurs on + description: "To get the browser version, see https://userstyles.catppuccin.com/getting-started/faq/#what-version-of-my-browser-am-i-using." placeholder: Firefox v112.0.2 validations: required: true - - type: textarea + - id: stylus_version + type: input + attributes: + label: Stylus extension version + description: If Stylus is pinned, right-click the extension icon and select "Manage Extension". Otherwise, in the extensions popup, click the settings icon or three dots icon if present and select "Manage Extension". The version is displayed on the resulting page. + placeholder: Stylus 2.3.17 + validations: + required: true + - id: userstyle_version + type: input + attributes: + label: Installed version of the userstyle + description: Versions are listed on Stylus' Manage page. To get the version, click the Stylus extension icon, then in the popup, click Manage. The version is found beside the name of the userstyle. + placeholder: v2025.12.05 + validations: + required: true + - id: additional_comments + type: textarea attributes: label: Any additional comments? description: Add any information that hasn't been covered in the previous sections! diff --git a/.github/PULL_REQUEST_TEMPLATE/userstyle-creation.md b/.github/PULL_REQUEST_TEMPLATE/userstyle-creation.md index 8152ce63c6..05d75f5d99 100644 --- a/.github/PULL_REQUEST_TEMPLATE/userstyle-creation.md +++ b/.github/PULL_REQUEST_TEMPLATE/userstyle-creation.md @@ -1,32 +1,38 @@ - + -## ๐ŸŽ‰ Theme for Website ๐ŸŽ‰ +**Website**: ___ + +**URL**: ___ + +**Description**: -## ๐Ÿ’ฌ Additional Comments ๐Ÿ’ฌ +## ๐Ÿ—’ Checklist ๐Ÿ—’ + +- [ ] I have read and followed Catppuccin's [userstyle contributing guidelines](https://userstyles.catppuccin.com/contributing/). + + + +- [ ] I used AI (or AI-assistance) for this change. + +--- + +- [ ] I have read and followed Catppuccin's [userstyle submission guidelines](https://userstyles.catppuccin.com/contributing/creating-userstyles/). +- [ ] I have made a new directory underneath `/styles/`. + - [ ] I have ensured that the new directory is in **lower-kebab-case**. + - [ ] I have named the userstyle `catppuccin.user.less` within the new directory. + - [ ] I have followed the [template](https://github.com/catppuccin/userstyles/blob/main/template/catppuccin.user.less) and kept the preprocessor as [LESS](https://lesscss.org/#overview). +- [ ] I have updated the [`userstyles.yml`](https://github.com/catppuccin/userstyles/blob/main/scripts/userstyles.yml) file with information about the new userstyle. + +## ๐Ÿ’ฌ Comments ๐Ÿ’ฌ - -## ๐Ÿ—’ Checklist ๐Ÿ—’ - -- [ ] I have read and followed Catppuccin's [submission guidelines](https://github.com/catppuccin/userstyles/blob/main/docs/userstyle-creation.md). -- [ ] I have made a new directory underneath `/styles/` containing the contents of the [`/template`](https://github.com/catppuccin/userstyles/blob/main/template/) directory. - - [ ] I have ensured that the new directory is in **lower-kebab-case**. - - [ ] I have followed the template and kept the preprocessor as [LESS](https://lesscss.org/#overview). -- [ ] I have made sure to update the - [`userstyles.yml`](https://github.com/catppuccin/userstyles/blob/main/scripts/userstyles.yml) - file with information about the new userstyle. -- [ ] I have included the following files: - - `catppuccin.user.css` - all the CSS for the userstyle, based on the - template. - - `preview.webp` - composite image of all four individual flavor screenshots stitched together, - generated via [Catwalk](https://github.com/catppuccin/catwalk). diff --git a/.github/PULL_REQUEST_TEMPLATE/userstyle-update.md b/.github/PULL_REQUEST_TEMPLATE/userstyle-update.md index cf8cd8cf39..6700b92432 100644 --- a/.github/PULL_REQUEST_TEMPLATE/userstyle-update.md +++ b/.github/PULL_REQUEST_TEMPLATE/userstyle-update.md @@ -1,11 +1,29 @@ +## ๐Ÿ—’ Checklist ๐Ÿ—’ + +- [ ] I have read and followed Catppuccin's [userstyle contributing guidelines](https://userstyles.catppuccin.com/contributing/). + + + +- [ ] I used AI (or AI-assistance) for this change. + ## ๐Ÿ”ง What does this fix? ๐Ÿ”ง -## ๐Ÿ—’ Checklist ๐Ÿ—’ +## ๐Ÿ” Reproduction Steps ๐Ÿ” -- [ ] I have read and followed Catppuccin's [contributing guidelines](https://github.com/catppuccin/userstyles/blob/main/docs/CONTRIBUTING.md). -- [ ] I have updated the version appropriately in the `==UserStyle==` header of the `catppuccin.user.css` file. + + + + diff --git a/.github/issue-labeler.yml b/.github/issue-labeler.yml index eb90a4ba13..4c40d0a6e4 100644 --- a/.github/issue-labeler.yml +++ b/.github/issue-labeler.yml @@ -1,10 +1,18 @@ # THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND. advent-of-code: - '/lbl:advent-of-code(,.*)?$/gm' +alacritty.org: + - '/lbl:alacritty.org(,.*)?$/gm' +alternativeto: + - '/lbl:alternativeto(,.*)?$/gm' amplenote: - '/lbl:amplenote(,.*)?$/gm' anilist: - '/lbl:anilist(,.*)?$/gm' +anichart: + - '/lbl:anichart(,.*)?$/gm' +anonymous-overflow: + - '/lbl:anonymous-overflow(,.*)?$/gm' arch-wiki: - '/lbl:arch-wiki(,.*)?$/gm' boringproxy: @@ -25,6 +33,8 @@ chess.com: - '/lbl:chess.com(,.*)?$/gm' cinny: - '/lbl:cinny(,.*)?$/gm' +claude: + - '/lbl:claude(,.*)?$/gm' codeberg: - '/lbl:codeberg(,.*)?$/gm' cobalt: @@ -35,6 +45,16 @@ crowdin: - '/lbl:crowdin(,.*)?$/gm' deepl: - '/lbl:deepl(,.*)?$/gm' +deepseek: + - '/lbl:deepseek(,.*)?$/gm' +desmos: + - '/lbl:desmos(,.*)?$/gm' +dev.to: + - '/lbl:dev.to(,.*)?$/gm' +devdocs: + - '/lbl:devdocs(,.*)?$/gm' +docs.deno.com: + - '/lbl:docs.deno.com(,.*)?$/gm' docs.rs: - '/lbl:docs.rs(,.*)?$/gm' duckduckgo: @@ -47,8 +67,12 @@ freedesktop: - '/lbl:freedesktop(,.*)?$/gm' formative: - '/lbl:formative(,.*)?$/gm' +ghostty.org: + - '/lbl:ghostty.org(,.*)?$/gm' github: - '/lbl:github(,.*)?$/gm' +gleam.run: + - '/lbl:gleam.run(,.*)?$/gm' gmail: - '/lbl:gmail(,.*)?$/gm' go.dev: @@ -59,6 +83,8 @@ google-drive: - '/lbl:google-drive(,.*)?$/gm' google-photos: - '/lbl:google-photos(,.*)?$/gm' +grabify: + - '/lbl:grabify(,.*)?$/gm' graphite: - '/lbl:graphite(,.*)?$/gm' google-gemini: @@ -67,26 +93,38 @@ hackage: - '/lbl:hackage(,.*)?$/gm' hacker-news: - '/lbl:hacker-news(,.*)?$/gm' +have-i-been-pwned: + - '/lbl:have-i-been-pwned(,.*)?$/gm' holodex: - '/lbl:holodex(,.*)?$/gm' home-manager-options-search: - '/lbl:home-manager-options-search(,.*)?$/gm' homepage: - '/lbl:homepage(,.*)?$/gm' +hoogle: + - '/lbl:hoogle(,.*)?$/gm' hoppscotch: - '/lbl:hoppscotch(,.*)?$/gm' +learn-x-in-y-minutes: + - '/lbl:learn-x-in-y-minutes(,.*)?$/gm' hyperpipe: - '/lbl:hyperpipe(,.*)?$/gm' ichi.moe: - '/lbl:ichi.moe(,.*)?$/gm' inoreader: - '/lbl:inoreader(,.*)?$/gm' +indie-wiki-buddy: + - '/lbl:indie-wiki-buddy(,.*)?$/gm' instagram: - '/lbl:instagram(,.*)?$/gm' invidious: - '/lbl:invidious(,.*)?$/gm' invokeai: - '/lbl:invokeai(,.*)?$/gm' +jisho: + - '/lbl:jisho(,.*)?$/gm' +keybr.com: + - '/lbl:keybr.com(,.*)?$/gm' keyoxide: - '/lbl:keyoxide(,.*)?$/gm' lastfm: @@ -95,6 +133,8 @@ lemmy: - '/lbl:lemmy(,.*)?$/gm' libreddit: - '/lbl:libreddit(,.*)?$/gm' +redlib: + - '/lbl:redlib(,.*)?$/gm' lichess: - '/lbl:lichess(,.*)?$/gm' lingva: @@ -103,6 +143,8 @@ linkedin: - '/lbl:linkedin(,.*)?$/gm' listenbrainz: - '/lbl:listenbrainz(,.*)?$/gm' +lobste.rs: + - '/lbl:lobste.rs(,.*)?$/gm' mastodon: - '/lbl:mastodon(,.*)?$/gm' mdbook: @@ -117,14 +159,26 @@ migadu-webmail: - '/lbl:migadu-webmail(,.*)?$/gm' minesweeper: - '/lbl:minesweeper(,.*)?$/gm' +namemc: + - '/lbl:namemc(,.*)?$/gm' +neovim.io: + - '/lbl:neovim.io(,.*)?$/gm' +npmx: + - '/lbl:npmx(,.*)?$/gm' nitter: - '/lbl:nitter(,.*)?$/gm' +nixos-manual: + - '/lbl:nixos-manual(,.*)?$/gm' +nixpkgs-manual: + - '/lbl:nixpkgs-manual(,.*)?$/gm' nixos-search: - '/lbl:nixos-search(,.*)?$/gm' -nixos.wiki: - - '/lbl:nixos.wiki(,.*)?$/gm' +wiki.nixos.org: + - '/lbl:wiki.nixos.org(,.*)?$/gm' npm: - '/lbl:npm(,.*)?$/gm' +ollama: + - '/lbl:ollama(,.*)?$/gm' openmediavault: - '/lbl:openmediavault(,.*)?$/gm' paste.rs: @@ -139,22 +193,40 @@ pinterest: - '/lbl:pinterest(,.*)?$/gm' planet-minecraft: - '/lbl:planet-minecraft(,.*)?$/gm' +poe: + - '/lbl:poe(,.*)?$/gm' porkbun: - '/lbl:porkbun(,.*)?$/gm' +pronouns.cc: + - '/lbl:pronouns.cc(,.*)?$/gm' pronouns.page: - '/lbl:pronouns.page(,.*)?$/gm' proton: - '/lbl:proton(,.*)?$/gm' pypi: - '/lbl:pypi(,.*)?$/gm' +pythonanywhere: + - '/lbl:pythonanywhere(,.*)?$/gm' quizlet: - '/lbl:quizlet(,.*)?$/gm' raindrop: - '/lbl:raindrop(,.*)?$/gm' +react.dev: + - '/lbl:react.dev(,.*)?$/gm' reddit: - '/lbl:reddit(,.*)?$/gm' +regex101: + - '/lbl:regex101(,.*)?$/gm' +rentry.co: + - '/lbl:rentry.co(,.*)?$/gm' +scalar: + - '/lbl:scalar(,.*)?$/gm' +searchix: + - '/lbl:searchix(,.*)?$/gm' searxng: - '/lbl:searxng(,.*)?$/gm' +seventv: + - '/lbl:seventv(,.*)?$/gm' shinigami-eyes: - '/lbl:shinigami-eyes(,.*)?$/gm' snapchat-web: @@ -165,8 +237,8 @@ stack-overflow: - '/lbl:stack-overflow(,.*)?$/gm' startpage: - '/lbl:startpage(,.*)?$/gm' -skiff: - - '/lbl:skiff(,.*)?$/gm' +status.cafe: + - '/lbl:status.cafe(,.*)?$/gm' stylus: - '/lbl:stylus(,.*)?$/gm' substack: @@ -187,6 +259,8 @@ twitter: - '/lbl:twitter(,.*)?$/gm' vercel: - '/lbl:vercel(,.*)?$/gm' +next.js: + - '/lbl:next.js(,.*)?$/gm' vikunja: - '/lbl:vikunja(,.*)?$/gm' web.dev: @@ -199,3 +273,5 @@ wikiwand: - '/lbl:wikiwand(,.*)?$/gm' youtube: - '/lbl:youtube(,.*)?$/gm' +zen-browser-docs: + - '/lbl:zen-browser-docs(,.*)?$/gm' diff --git a/.github/labels.yml b/.github/labels.yml index 6aa51edf82..836b41bace 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -2,12 +2,24 @@ - name: advent-of-code description: Advent Of Code color: '#eed49f' +- name: alacritty.org + description: alacritty.org + color: '#f5a97f' +- name: alternativeto + description: AlternativeTo + color: '#7dc4e4' - name: amplenote description: Amplenote color: '#8aadf4' - name: anilist - description: 'AniList, AniChart' + description: AniList + color: '#91d7e3' +- name: anichart + description: AniChart color: '#91d7e3' +- name: anonymous-overflow + description: Anonymous Overflow + color: '#a6da95' - name: arch-wiki description: Arch Wiki color: '#8aadf4' @@ -38,6 +50,9 @@ - name: cinny description: Cinny color: '#cad3f5' +- name: claude + description: Claude + color: '#f5a97f' - name: codeberg description: Codeberg color: '#8aadf4' @@ -53,6 +68,21 @@ - name: deepl description: DeepL color: '#8aadf4' +- name: deepseek + description: DeepSeek + color: '#8aadf4' +- name: desmos + description: Desmos + color: '#a6da95' +- name: dev.to + description: DEV Community + color: '#cad3f5' +- name: devdocs + description: DevDocs + color: '#cad3f5' +- name: docs.deno.com + description: docs.deno.com + color: '#a6da95' - name: docs.rs description: docs.rs color: '#eed49f' @@ -71,9 +101,15 @@ - name: formative description: Formative color: '#8aadf4' +- name: ghostty.org + description: Ghostty.org + color: '#8aadf4' - name: github description: GitHub color: '#cad3f5' +- name: gleam.run + description: gleam.run + color: '#f5bde6' - name: gmail description: Gmail color: '#f5a97f' @@ -89,6 +125,9 @@ - name: google-photos description: Google Photos color: '#7dc4e4' +- name: grabify + description: Grabify + color: '#8bd5ca' - name: graphite description: Graphite color: '#cad3f5' @@ -101,6 +140,9 @@ - name: hacker-news description: Hacker News color: '#f5a97f' +- name: have-i-been-pwned + description: Have I Been Pwned + color: '#8aadf4' - name: holodex description: Holodex color: '#f5bde6' @@ -110,9 +152,15 @@ - name: homepage description: homepage color: '#91d7e3' +- name: hoogle + description: Hoogle + color: '#c6a0f6' - name: hoppscotch description: Hoppscotch color: '#a6da95' +- name: learn-x-in-y-minutes + description: Learn X in Y Minutes + color: '#8aadf4' - name: hyperpipe description: Hyperpipe color: '#8bd5ca' @@ -122,6 +170,9 @@ - name: inoreader description: inoreader color: '#8aadf4' +- name: indie-wiki-buddy + description: Indie Wiki Buddy + color: '#8aadf4' - name: instagram description: Instagram color: '#f5bde6' @@ -131,6 +182,12 @@ - name: invokeai description: InvokeAI color: '#eed49f' +- name: jisho + description: Jisho + color: '#a6da95' +- name: keybr.com + description: keybr.com + color: '#cad3f5' - name: keyoxide description: Keyoxide color: '#c6a0f6' @@ -141,7 +198,10 @@ description: Lemmy color: '#a6da95' - name: libreddit - description: 'Libreddit, Redlib' + description: Libreddit + color: '#f5a97f' +- name: redlib + description: Redlib color: '#f5a97f' - name: lichess description: Lichess @@ -155,6 +215,9 @@ - name: listenbrainz description: ListenBrainz color: '#f5a97f' +- name: lobste.rs + description: Lobsters + color: '#ed8796' - name: mastodon description: Mastodon color: '#b7bdf8' @@ -176,18 +239,36 @@ - name: minesweeper description: Minesweeper Online color: '#cad3f5' +- name: namemc + description: NameMC + color: '#8aadf4' +- name: neovim.io + description: neovim.io + color: '#a6da95' +- name: npmx + description: npmx + color: '#cad3f5' - name: nitter description: Nitter color: '#8aadf4' +- name: nixos-manual + description: NixOS Manual + color: '#8aadf4' +- name: nixpkgs-manual + description: Nixpkgs Manual + color: '#8aadf4' - name: nixos-search description: NixOS Search color: '#8aadf4' -- name: nixos.wiki +- name: wiki.nixos.org description: NixOS Wiki color: '#8aadf4' - name: npm description: npm color: '#ed8796' +- name: ollama + description: Ollama + color: '#cad3f5' - name: openmediavault description: openmediavault color: '#91d7e3' @@ -209,9 +290,15 @@ - name: planet-minecraft description: Planet Minecraft color: '#a6da95' +- name: poe + description: Poe + color: '#8aadf4' - name: porkbun description: Porkbun color: '#f5bde6' +- name: pronouns.cc + description: pronouns.cc + color: '#c6a0f6' - name: pronouns.page description: Pronouns.page color: '#f5bde6' @@ -221,18 +308,39 @@ - name: pypi description: PyPI color: '#7dc4e4' +- name: pythonanywhere + description: PythonAnywhere + color: '#7dc4e4' - name: quizlet description: Quizlet color: '#c6a0f6' - name: raindrop description: Raindrop color: '#8aadf4' +- name: react.dev + description: React.dev + color: '#7dc4e4' - name: reddit description: Reddit color: '#ed8796' +- name: regex101 + description: regex101 + color: '#8aadf4' +- name: rentry.co + description: Rentry.co + color: '#cad3f5' +- name: scalar + description: Scalar + color: '#cad3f5' +- name: searchix + description: Searchix + color: '#8aadf4' - name: searxng description: SearXNG color: '#8aadf4' +- name: seventv + description: 7TV + color: '#7dc4e4' - name: shinigami-eyes description: Shinigami Eyes color: '#c6a0f6' @@ -248,9 +356,9 @@ - name: startpage description: Startpage color: '#b7bdf8' -- name: skiff - description: Skiff - color: '#ee99a0' +- name: status.cafe + description: status.cafe + color: '#7dc4e4' - name: stylus description: Stylus color: '#8bd5ca' @@ -279,7 +387,10 @@ description: Twitter color: '#8aadf4' - name: vercel - description: 'Vercel, Next.js' + description: Vercel + color: '#cad3f5' +- name: next.js + description: Next.js color: '#cad3f5' - name: vikunja description: Vikunja @@ -299,3 +410,6 @@ - name: youtube description: YouTube color: '#ed8796' +- name: zen-browser-docs + description: Zen Browser Docs + color: '#f5a97f' diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml index 3b46a6ea1a..65ed7d57fb 100644 --- a/.github/pr-labeler.yml +++ b/.github/pr-labeler.yml @@ -1,7 +1,11 @@ # THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND. advent-of-code: styles/advent-of-code/**/* +alacritty.org: styles/alacritty.org/**/* +alternativeto: styles/alternativeto/**/* amplenote: styles/amplenote/**/* anilist: styles/anilist/**/* +anichart: styles/anilist/**/* +anonymous-overflow: styles/anonymous-overflow/**/* arch-wiki: styles/arch-wiki/**/* boringproxy: styles/boringproxy/**/* brave-search: styles/brave-search/**/* @@ -12,45 +16,62 @@ chatgpt: styles/chatgpt/**/* chatreplay: styles/chatreplay/**/* chess.com: styles/chess.com/**/* cinny: styles/cinny/**/* +claude: styles/claude/**/* codeberg: styles/codeberg/**/* cobalt: styles/cobalt/**/* crates.io: styles/crates.io/**/* crowdin: styles/crowdin/**/* deepl: styles/deepl/**/* +deepseek: styles/deepseek/**/* +desmos: styles/desmos/**/* +dev.to: styles/dev.to/**/* +devdocs: styles/devdocs/**/* +docs.deno.com: styles/docs.deno.com/**/* docs.rs: styles/docs.rs/**/* duckduckgo: styles/duckduckgo/**/* ecosia: styles/ecosia/**/* elk: styles/elk/**/* freedesktop: styles/freedesktop/**/* formative: styles/formative/**/* +ghostty.org: styles/ghostty.org/**/* github: styles/github/**/* +gleam.run: styles/gleam.run/**/* gmail: styles/gmail/**/* go.dev: styles/go.dev/**/* google: styles/google/**/* google-drive: styles/google-drive/**/* google-photos: styles/google-photos/**/* +grabify: styles/grabify/**/* graphite: styles/graphite/**/* google-gemini: styles/google-gemini/**/* hackage: styles/hackage/**/* hacker-news: styles/hacker-news/**/* +have-i-been-pwned: styles/have-i-been-pwned/**/* holodex: styles/holodex/**/* home-manager-options-search: styles/home-manager-options-search/**/* homepage: styles/homepage/**/* +hoogle: styles/hoogle/**/* hoppscotch: styles/hoppscotch/**/* +learn-x-in-y-minutes: styles/learn-x-in-y-minutes/**/* hyperpipe: styles/hyperpipe/**/* ichi.moe: styles/ichi.moe/**/* inoreader: styles/inoreader/**/* +indie-wiki-buddy: styles/indie-wiki-buddy/**/* instagram: styles/instagram/**/* invidious: styles/invidious/**/* invokeai: styles/invokeai/**/* +jisho: styles/jisho/**/* +keybr.com: styles/keybr.com/**/* keyoxide: styles/keyoxide/**/* lastfm: styles/lastfm/**/* lemmy: styles/lemmy/**/* libreddit: styles/libreddit/**/* +redlib: styles/libreddit/**/* lichess: styles/lichess/**/* lingva: styles/lingva/**/* linkedin: styles/linkedin/**/* listenbrainz: styles/listenbrainz/**/* +lobste.rs: styles/lobste.rs/**/* mastodon: styles/mastodon/**/* mdbook: styles/mdbook/**/* mdn: styles/mdn/**/* @@ -58,10 +79,16 @@ modrinth: styles/modrinth/**/* microsoft-word: styles/microsoft-word/**/* migadu-webmail: styles/migadu-webmail/**/* minesweeper: styles/minesweeper/**/* +namemc: styles/namemc/**/* +neovim.io: styles/neovim.io/**/* +npmx: styles/npmx/**/* nitter: styles/nitter/**/* +nixos-manual: styles/nixos-manual/**/* +nixpkgs-manual: styles/nixos-manual/**/* nixos-search: styles/nixos-search/**/* -nixos.wiki: styles/nixos.wiki/**/* +wiki.nixos.org: styles/wiki.nixos.org/**/* npm: styles/npm/**/* +ollama: styles/ollama/**/* openmediavault: styles/openmediavault/**/* paste.rs: styles/paste.rs/**/* perplexity: styles/perplexity/**/* @@ -69,20 +96,29 @@ phanpy: styles/phanpy/**/* picrew: styles/picrew/**/* pinterest: styles/pinterest/**/* planet-minecraft: styles/planet-minecraft/**/* +poe: styles/poe/**/* porkbun: styles/porkbun/**/* +pronouns.cc: styles/pronouns.cc/**/* pronouns.page: styles/pronouns.page/**/* proton: styles/proton/**/* pypi: styles/pypi/**/* +pythonanywhere: styles/pythonanywhere/**/* quizlet: styles/quizlet/**/* raindrop: styles/raindrop/**/* +react.dev: styles/react.dev/**/* reddit: styles/reddit/**/* +regex101: styles/regex101/**/* +rentry.co: styles/rentry.co/**/* +scalar: styles/scalar/**/* +searchix: styles/searchix/**/* searxng: styles/searxng/**/* +seventv: styles/seventv/**/* shinigami-eyes: styles/shinigami-eyes/**/* snapchat-web: styles/snapchat-web/**/* spotify-web: styles/spotify-web/**/* stack-overflow: styles/stack-overflow/**/* startpage: styles/startpage/**/* -skiff: styles/skiff/**/* +status.cafe: styles/status.cafe/**/* stylus: styles/stylus/**/* substack: styles/substack/**/* syncthing: styles/syncthing/**/* @@ -93,9 +129,11 @@ tuta: styles/tuta/**/* twitch: styles/twitch/**/* twitter: styles/twitter/**/* vercel: styles/vercel/**/* +next.js: styles/vercel/**/* vikunja: styles/vikunja/**/* web.dev: styles/web.dev/**/* whatsapp-web: styles/whatsapp-web/**/* wikipedia: styles/wikipedia/**/* wikiwand: styles/wikiwand/**/* youtube: styles/youtube/**/* +zen-browser-docs: styles/zen-browser-docs/**/* diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..a4ac1ef033 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,35 @@ +name: Build Stylus Export + +on: + workflow_dispatch: + push: + branches: [main] + paths-ignore: ["docs/**"] + +jobs: + build: + if: github.repository == 'catppuccin/userstyles' + runs-on: ubuntu-latest + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + token: ${{ secrets.USERSTYLES_TOKEN }} + + - name: Setup Deno + uses: denoland/setup-deno@v2 + with: + deno-version: v2.3.5 + cache: true + + - name: Generate Stylus import + run: deno task ci:stylus-import + + - name: Upload release artifact + run: gh release upload --clobber all-userstyles-export ./dist/import.json + env: + GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..b26d21a5f0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,63 @@ +name: CI + +on: + push: + branches: [main] + +jobs: + ci: + runs-on: ubuntu-latest + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + # Prevent infinite loops by checking if the last commit was autogenerated. + if: ${{ github.repository == 'catppuccin/userstyles' && github.event.commits[0].author.name != 'github-actions' }} + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + token: ${{ secrets.USERSTYLES_TOKEN }} + fetch-depth: 2 + + - name: Setup Deno + uses: denoland/setup-deno@v2 + with: + deno-version: v2.3.5 + cache: true + + - name: Bump changed userstyles + run: | + git diff --name-only HEAD^1 HEAD | grep '^styles/.*catppuccin\.user\.less$' | xargs deno task ci:bump + + - name: Commit changes + uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 + with: + message: "chore: bump changed userstyles" + default_author: github_actions + push: false + + - name: Update generated files + run: deno task ci:generate + env: + GITHUB_TOKEN: ${{ secrets.USERSTYLES_TOKEN }} + + - name: Commit changes + uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 + with: + message: "chore: update generated files" + default_author: github_actions + push: false + + - name: Format files + run: deno fmt + + - name: Commit changes + uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 + with: + message: "style: deno fmt" + default_author: github_actions + push: false + + - name: Push changes + run: git push origin "HEAD:${{ github.ref }}" --atomic diff --git a/.github/workflows/deno-check.yml b/.github/workflows/deno-check.yml index a6e93b82b9..3a37242698 100644 --- a/.github/workflows/deno-check.yml +++ b/.github/workflows/deno-check.yml @@ -9,20 +9,20 @@ on: paths: ["**/*.ts"] jobs: - deno-check: - name: Check Deno code + check: + if: github.repository == 'catppuccin/userstyles' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Setup Deno - uses: nekowinston/setup-deno@main + uses: denoland/setup-deno@v2 with: - deno-version: v1.x + deno-version: v2.3.5 + cache: true - name: Check run: | deno lint deno check **/*.ts - deno fmt --check **/*.ts diff --git a/.github/workflows/deno-lock.yml b/.github/workflows/deno-lock.yml index 4609442e6f..9fcefdfa63 100644 --- a/.github/workflows/deno-lock.yml +++ b/.github/workflows/deno-lock.yml @@ -11,20 +11,21 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: ref: ${{ github.event.pull_request.head.ref }} - name: Setup Deno - uses: nekowinston/setup-deno@main + uses: denoland/setup-deno@v2 with: - deno-version: v1.x + deno-version: v2.3.5 + cache: true - name: Regenerate Deno lock run: deno cache **/*.ts --lock=deno.lock - - name: Commit & Push - uses: EndBug/add-and-commit@v9 + - name: Commit & push changes + uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 with: message: "chore: regenerate `deno.lock`" default_author: github_actions diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..b9d9b0b90b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,35 @@ +name: Deploy Docs to GH Pages + +on: + push: + branches: [main] + paths: + - "docs/**" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - name: Build & Upload Site + uses: withastro/action@a4407e937037e68022f04ae1c068d3634f08bc8d # v4 + with: + path: ./docs + package-manager: pnpm@10.14.0 + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 diff --git a/.github/workflows/generate-format.yml b/.github/workflows/generate-format.yml deleted file mode 100644 index c1ef785fa7..0000000000 --- a/.github/workflows/generate-format.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: Generate Health Files & Format - -on: - workflow_dispatch: - push: - branches: [main] - -env: - HAS_USERSTYLES_TOKEN: ${{ secrets.USERSTYLES_TOKEN != '' }} - -jobs: - generate-health-files-and-format: - name: Generate health files & format - runs-on: ubuntu-latest - permissions: - # Give the default GITHUB_TOKEN write permission to commit and push the - # added or changed files to the repository. - contents: write - - steps: - - uses: actions/checkout@v4 - if: env.HAS_USERSTYLES_TOKEN - with: - token: ${{ secrets.USERSTYLES_TOKEN }} - ref: ${{ github.ref }} - - uses: actions/checkout@v4 - if: env.HAS_USERSTYLES_TOKEN == 'false' - with: - ref: ${{ github.ref }} - - - name: Setup Deno - uses: nekowinston/setup-deno@main - with: - deno-version: v1.x - - - name: Generate health files - run: deno task ci:generate - - - name: Commit changes - uses: EndBug/add-and-commit@v9 - with: - message: "chore: generate health files" - default_author: github_actions - push: false - - - name: Format files - run: deno task format - - - name: Commit changes - uses: EndBug/add-and-commit@v9 - with: - message: "style: format code with prettier" - default_author: github_actions - push: false - - - name: Push changes - if: ${{ github.repository == 'catppuccin/userstyles' && github.ref == 'refs/heads/main' && env.HAS_USERSTYLES_TOKEN }} - run: git push origin "HEAD:${{ github.ref }}" --atomic diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml index 48dca65c2d..1746b21619 100644 --- a/.github/workflows/issues.yml +++ b/.github/workflows/issues.yml @@ -7,12 +7,11 @@ on: jobs: triage: - name: Add labels runs-on: ubuntu-latest steps: - name: Add issue labels - uses: github/issue-labeler@v3.4 + uses: github/issue-labeler@c1b0f9f52a63158c4adc09425e858e87b32e9685 # v3.4 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration-path: .github/issue-labeler.yml diff --git a/.github/workflows/lint-build.yml b/.github/workflows/lint-build.yml deleted file mode 100644 index f8fe62599c..0000000000 --- a/.github/workflows/lint-build.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Lint & Build - -on: - workflow_dispatch: - pull_request: - paths-ignore: ["docs/**"] - push: - branches: [main] - paths-ignore: ["docs/**"] - -jobs: - lint: - name: Lint Userstyles - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Setup Deno - uses: nekowinston/setup-deno@main - with: - deno-version: v1.x - - - name: Run Lint - run: deno task lint - - build: - name: Generate Stylus Export - runs-on: ubuntu-latest - needs: lint - if: ${{ github.repository == 'catppuccin/userstyles' && github.ref == 'refs/heads/main' }} - permissions: - # Give the default GITHUB_TOKEN write permission to commit and push the - # added or changed files to the repository. - contents: write - - steps: - - uses: actions/checkout@v4 - with: - token: ${{ secrets.USERSTYLES_TOKEN }} - ref: ${{ github.ref }} - - - name: Setup Deno - uses: nekowinston/setup-deno@main - with: - deno-version: v1.x - - - name: Generate import file - run: deno task ci:generate-import - - - name: Upload Release Artifacts - run: gh release upload --clobber all-userstyles-export ./dist/import.json - env: - GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000000..ed8dccc5c2 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,26 @@ +name: Lint Userstyles + +on: + workflow_dispatch: + pull_request: + paths-ignore: ["docs/**"] + push: + branches: [main] + paths-ignore: ["docs/**"] + +jobs: + lint: + if: github.repository == 'catppuccin/userstyles' + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + + - name: Setup Deno + uses: denoland/setup-deno@v2 + with: + deno-version: v2.3.5 + cache: true + + - name: Lint + run: deno task lint diff --git a/.github/workflows/maintainers.yml b/.github/workflows/maintainers.yml index f046063086..a8baf49cea 100644 --- a/.github/workflows/maintainers.yml +++ b/.github/workflows/maintainers.yml @@ -3,26 +3,24 @@ name: Sync Maintainers on: workflow_dispatch: push: - paths: - - "scripts/userstyles.yml" + branches: [main] + paths: ["scripts/userstyles.yml"] jobs: sync-maintainers: - name: Sync maintainers + if: github.repository == 'catppuccin/userstyles' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.ref }} + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Setup Deno - uses: nekowinston/setup-deno@main + uses: denoland/setup-deno@v2 with: - deno-version: v1.x + deno-version: v2.3.5 + cache: true - name: Sync maintainers - if: ${{ github.repository == 'catppuccin/userstyles' && github.ref == 'refs/heads/main' }} run: deno task ci:sync-maintainers env: GITHUB_TOKEN: ${{ secrets.USERSTYLES_TOKEN }} diff --git a/.github/workflows/pr-titles.yml b/.github/workflows/pr-titles.yml deleted file mode 100644 index fcc1da46df..0000000000 --- a/.github/workflows/pr-titles.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Pull Request Title Linter - -on: - pull_request_target: - types: [opened, edited, synchronize] - -jobs: - lint: - name: Lint pull request title - runs-on: ubuntu-latest - permissions: - pull-requests: write - - steps: - - name: Lint pull request title - uses: amannn/action-semantic-pull-request@v5 - id: lint_pr_title - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Add error comment - uses: marocchino/sticky-pull-request-comment@v2 - # When the previous steps fails, the workflow would stop. By adding this - # condition you can continue the execution with the populated error message. - if: always() && (steps.lint_pr_title.outputs.error_message != null) - with: - header: pr-title-lint-error - message: | - Hey there and thank you for opening this pull request! ๐Ÿ‘‹๐Ÿผ - - We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted. - - Details: - - ``` - ${{ steps.lint_pr_title.outputs.error_message }} - ``` - - # Delete a previous comment when the issue has been resolved - - if: ${{ steps.lint_pr_title.outputs.error_message == null }} - name: Delete error comment - uses: marocchino/sticky-pull-request-comment@v2 - with: - header: pr-title-lint-error - delete: true diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml index 511a89e932..94f70b653f 100644 --- a/.github/workflows/pull-requests.yml +++ b/.github/workflows/pull-requests.yml @@ -5,18 +5,16 @@ on: jobs: triage: - name: Add labels runs-on: ubuntu-latest - if: ${{ !contains(github.event.pull_request.title, '(tree-wide)') }} + if: ${{ !contains(github.event.pull_request.title, '(tree-wide)') && !contains(github.event.pull_request.title, '(treewide)') }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Add pull request labels - uses: actions/labeler@v4.3.0 + uses: actions/labeler@ac9175f8a1f3625fd0d4fb234536d26811351594 # v4.3.0 with: configuration-path: .github/pr-labeler.yml sync-labels: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index d730096633..8862ff28af 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -4,17 +4,15 @@ on: workflow_dispatch: push: branches: [main] - paths: - - ".github/labels.yml" + paths: [".github/labels.yml"] jobs: - update: - name: Sync labels + sync: + if: github.repository == 'catppuccin/userstyles' runs-on: ubuntu-latest steps: - name: Sync labels uses: r7kamura/github-label-sync-action@v0 - if: ${{ github.repository == 'catppuccin/userstyles' }} with: allow_added_labels: "true" diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml deleted file mode 100644 index f9aae64bce..0000000000 --- a/.github/workflows/typos.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Typo Checker - -on: - pull_request: - push: - branches: [main] - -jobs: - spellcheck: - name: Spellcheck - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Check for typos - uses: crate-ci/typos@master - id: typos - continue-on-error: true - - # 'continue-on-error' will always succeed, we should exit based on the outcome and not the conclusion - # ref: https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context - - name: Fail when typos are found in pull request - if: ${{ github.event_name == 'pull_request' && steps.typos.outcome != 'success' }} - run: "exit 1" - - # We always want this check to pass on branch 'main' but continue to fail on PRs - - name: Pass on 'main' branch - if: ${{ github.repository == 'catppuccin/userstyles' && github.ref == 'refs/heads/main' }} - run: "exit 0" diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml deleted file mode 100644 index 4f5cfcbfd6..0000000000 --- a/.github/workflows/website.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Deploy Website - -on: - workflow_dispatch: - push: - branches: ["main"] - paths: ["scripts/userstyles.yml"] - -jobs: - deploy: - runs-on: ubuntu-latest - if: github.repository == 'catppuccin/userstyles' - environment: website - name: Vercel Deploy - steps: - - name: Deploy via cURL - shell: bash - env: - DEPLOY_HOOK: ${{ secrets.VERCEL_DEPLOY_HOOK }} - run: curl -X POST "$DEPLOY_HOOK" -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json diff --git a/.gitignore b/.gitignore index 1a291701fe..c48d869c2c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ deno_cache/ __pycache__/ node_modules/ dist/ +.direnv/ .idea/ .vscode/ diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index da4e7973bb..0000000000 --- a/.prettierignore +++ /dev/null @@ -1,7 +0,0 @@ -# Deno code is formatted with `deno fmt` -/scripts/ - -# auto-generated files -/.github/ISSUE_TEMPLATE/userstyle.yml -/.github/*.yml -/styles/**/*.md diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 304d4ef736..0000000000 --- a/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "overrides": [ - { - "files": ["styles/**/*.css", "template/**/*.css"], - "options": { "parser": "less" } - } - ] -} diff --git a/.stylelintrc.js b/.stylelintrc.js index 922edf1795..f0f92128e4 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -5,10 +5,14 @@ */ export default { extends: "stylelint-config-standard", - plugins: ["./scripts/lint/stylelint-custom/optimized-svgs.js"], + plugins: [ + "./scripts/lint/stylelint-custom/index.js", + ], customSyntax: "postcss-less", rules: { "catppuccin/optimized-svgs": true, + "catppuccin/color-operations": true, + "catppuccin/no-redundant-parent-selector": true, "selector-class-pattern": null, "custom-property-pattern": null, @@ -178,5 +182,8 @@ export default { "at-rule-no-vendor-prefix": null, "no-descending-specificity": null, + "selector-not-notation": null, + + "import-notation": null, }, }; diff --git a/.typos.toml b/.typos.toml deleted file mode 100644 index 80ef4545bc..0000000000 --- a/.typos.toml +++ /dev/null @@ -1,5 +0,0 @@ -[default] -locale = "en-us" - -[files] -extend-exclude = ["styles/*/*.user.css"] diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 65a9ac33be..74baffcc47 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["denoland.vscode-deno", "esbenp.prettier-vscode"] + "recommendations": ["denoland.vscode-deno"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 271288afd1..82f594ebeb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,14 +1,5 @@ { - "files.associations": { - "*.user.css": "less" - }, - "deno.enable": true, - - "[less]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "denoland.vscode-deno" - } + "editor.defaultFormatter": "denoland.vscode-deno", + "markdown.extension.toc.updateOnSave": false } diff --git a/README.md b/README.md index e42451bc90..e97a129c78 100644 --- a/README.md +++ b/README.md @@ -5,18 +5,6 @@ -
- Install - ยท - Contributing - ยท - Userstyles -
- -

- -

-

@@ -25,251 +13,17 @@

-This repository is a curated collection of customized themes designed for various websites and web applications. -These themes showcase delightful pastel colors, creating a soothing and visually pleasing experience when browsing the web. +A curated collection of soothing pastel themes for your favorite websites and web applications.

-Userstyles are essentially modified CSS files which can be applied to a specific website, -giving it a unique and appealing aesthetic in line with Catppuccin's color palette. +

-  - -## ๐Ÿ–ฅ๏ธ Install - -Install [Stylus](https://github.com/openstyles/stylus) for your browser by clicking one of the badges below. -

- - +Visit userstyles.catppuccin.com to get started.

-> [!TIP] -> If you use Chrome, make sure to enable "Allow access to file URLs" in the Stylus extension settings. - -### All Userstyles (recommended) - -See instructions on the [GitHub release page](https://github.com/catppuccin/userstyles/releases/tag/all-userstyles-export). - -### Individual Userstyles - -1. Enable CSP Patching from Stylus's **Settings** > **Advanced**. -2. Install userstyles by clicking the **Stylus Install** badge in each README. -3. Enjoy! - -## Usage - -All usertyles come with three default configuration options; the light flavor, the dark flavor, and the accent color. Some userstyles may offer additional site-specific options as well. - -### Decentralized/self-hosted applications - -For decentralized or self-hosted applications, you can apply a theme to one or multiple instances across updates by following the instructions below. - -1. Open the Stylus "Manage" page. -2. Click on the userstyle's name in the list. -3. Click on **Style settings** in the left panel. -4. Enter the URL patterns for your instance(s) in the text box labeled **Custom included sites**. For example, to apply a userstyle to `example.org`, you would add a line with `https://example.org/*` to the textbox. The trailing asterisk applies it to all pages on the domain - without it, only the root page is themed. - -  - -## ๐Ÿ‘ Contributing - -> [!NOTE] -> If you would like to submit a userstyle or learn how to port Catppuccin to a website, please refer to [userstyle-creation.md](docs/userstyle-creation.md). - -See [CONTRIBUTING.md](docs/CONTRIBUTING.md). - -  - -## ๐Ÿ–Œ Userstyles - -> [!IMPORTANT] -> Userstyles labeled with the "๐Ÿšง" emoji are looking for maintainers, and may -> not work as intended. Contributions are still welcome and encouraged. If you -> would like to become a maintainer, follow the instructions outlined in -> "[Adding yourself as a maintainer](https://github.com/catppuccin/userstyles/blob/main/docs/userstylesyml.md#adding-yourself-as-a-maintainer)." - - - -
-๐Ÿ’ญ Development Tools - -- [boringproxy](styles/boringproxy) -- [Codeberg](styles/codeberg) -- [crates.io](styles/crates.io) -- [docs.rs](styles/docs.rs) -- [freedesktop.org](styles/freedesktop) -- [GitHub](styles/github) -- [go.dev](styles/go.dev) -- [Graphite](styles/graphite) -- [Hackage](styles/hackage) -- [Home Manager Options Search](styles/home-manager-options-search) -- [Hoppscotch](styles/hoppscotch) -- [Keyoxide](styles/keyoxide) -- [MDN](styles/mdn) -- [npm](styles/npm) -- [paste.rs](styles/paste.rs) -- [PyPI](styles/pypi) -- [Stack Overflow](styles/stack-overflow) -- [Trinket](styles/trinket) -- [Vercel, Next.js](styles/vercel) -- [web.dev](styles/web.dev) - -
-
-๐Ÿงฉ Browser Extensions - -- [Shinigami Eyes](styles/shinigami-eyes) -- [Stylus](styles/stylus) - -
-
-๐Ÿ”Ž Search Engines - -- [Brave Search](styles/brave-search) -- [DuckDuckGo](styles/duckduckgo) -- [Ecosia](styles/ecosia) -- [Google](styles/google) -- [NixOS Search](styles/nixos-search) -- [SearXNG](styles/searxng) -- ๐Ÿšง [Startpage](styles/startpage) - -
-
-๐Ÿ—บ๏ธ Translation Tools - -- [Crowdin](styles/crowdin) -- [DeepL](styles/deepl) -- [ichi.moe](styles/ichi.moe) -- [Lingva](styles/lingva) - -
-
-๐Ÿง  Wikis - -- ๐Ÿšง [Arch Wiki](styles/arch-wiki) -- [mdBook](styles/mdbook) -- ๐Ÿšง [NixOS Wiki](styles/nixos.wiki) -- [Wikipedia](styles/wikipedia) -- [Wikiwand](styles/wikiwand) - -
-
-๐Ÿ“ธ Photo & Video - -- [Google Photos](styles/google-photos) -- ๐Ÿšง [Pinterest](styles/pinterest) - -
-
-๐ŸŽต Music - -- [Hyperpipe](styles/hyperpipe) -- [Last.fm](styles/lastfm) -- [ListenBrainz](styles/listenbrainz) -- [Spotify Web](styles/spotify-web) - -
-
-๐Ÿ“– Productivity - -- [Amplenote](styles/amplenote) -- [cobalt](styles/cobalt) -- [Google Drive](styles/google-drive) -- [homepage](styles/homepage) -- [inoreader](styles/inoreader) -- [Microsoft Word](styles/microsoft-word) -- [openmediavault](styles/openmediavault) -- [Porkbun](styles/porkbun) -- [Proton](styles/proton) -- [Raindrop](styles/raindrop) -- [Syncthing](styles/syncthing) -- [tldraw](styles/tldraw) -- [Vikunja](styles/vikunja) - -
-
-๐Ÿ’Œ Email Clients - -- [Gmail](styles/gmail) -- [Migadu Webmail](styles/migadu-webmail) -- [Skiff](styles/skiff) -- [Tuta](styles/tuta) - -
-
-๐ŸŽ“ Education - -- ๐Ÿšง [Canvas LMS](styles/canvas-lms) -- [Formative](styles/formative) -- [Quizlet](styles/quizlet) - -
-
-โœจ Social Networking - -- [Bluesky Social](styles/bsky) -- [Cinny](styles/cinny) -- [Elk](styles/elk) -- [Instagram](styles/instagram) -- [LinkedIn](styles/linkedin) -- ๐Ÿšง [Mastodon](styles/mastodon) -- [Nitter](styles/nitter) -- [Phanpy](styles/phanpy) -- [Pronouns.page](styles/pronouns.page) -- [Snapchat Web](styles/snapchat-web) -- [Twitter](styles/twitter) -- [WhatsApp Web](styles/whatsapp-web) - -
-
-๐Ÿ—ฃ๏ธ Discussion Forums - -- [Hacker News](styles/hacker-news) -- [Lemmy](styles/lemmy) -- ๐Ÿšง [Libreddit, Redlib](styles/libreddit) -- ๐Ÿšง [Reddit](styles/reddit) -- [TabNews](styles/tabnews) - -
-
-๐ŸŒˆ Entertainment - -- [AniList, AniChart](styles/anilist) -- [ChatReplay](styles/chatreplay) -- [Holodex](styles/holodex) -- ๐Ÿšง [Invidious](styles/invidious) -- [Picrew](styles/picrew) -- ๐Ÿšง [Substack](styles/substack) -- [Twitch](styles/twitch) -- [YouTube](styles/youtube) - -
-
-๐ŸŽฎ Games - -- [Advent Of Code](styles/advent-of-code) -- [bStats](styles/bstats) -- ๐Ÿšง [Chess.com](styles/chess.com) -- [Lichess](styles/lichess) -- [Minesweeper Online](styles/minesweeper) -- [Modrinth](styles/modrinth) -- [Planet Minecraft](styles/planet-minecraft) - -
-
-๐Ÿค– Artificial Intelligence - -- [ChatGPT](styles/chatgpt) -- [Google Gemini](styles/google-gemini) -- [InvokeAI](styles/invokeai) -- [Perplexity](styles/perplexity) - -
- - -  

diff --git a/deno.json b/deno.json index e10559887c..5b117fa20d 100644 --- a/deno.json +++ b/deno.json @@ -1,37 +1,64 @@ { "imports": { "@/": "./scripts/", - "@actions/core": "npm:@actions/core@1.10.1", - "@catppuccin/palette": "npm:@catppuccin/palette@1.2.0", - "@octokit/rest": "npm:@octokit/rest@21.0.1", - "@std/assert": "jsr:@std/assert@^1.0.2", - "@std/cli": "jsr:@std/cli@^1.0.2", - "@std/fmt": "jsr:@std/fmt@^0.225.6", - "@std/fs": "jsr:@std/fs@^1.0.1", - "@std/path": "jsr:@std/path@^1.0.2", - "@std/yaml": "jsr:@std/yaml@^1.0.1", - "ajv": "npm:ajv@8.17.1", - "catppuccin-repo/": "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f2666c2b04337f0a8632713de0889d9a7d332d/", + "@actions/core": "npm:@actions/core@1.11.1", + "@catppuccin/catppuccin/": "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f82739e687cfd19d168be355367fdbbcc8e029/", + "@catppuccin/palette": "npm:@catppuccin/palette@^1.7.1", + "@octokit/rest": "npm:@octokit/rest@^21.0.2", + "@std/assert": "jsr:@std/assert@^1.0.9", + "@std/async": "jsr:@std/async@^1.2.0", + "@std/cli": "jsr:@std/cli@^1.0.8", + "@std/fmt": "jsr:@std/fmt@^1.0.2", + "@std/fs": "jsr:@std/fs@^1.0.6", + "@std/http": "jsr:@std/http@^1.0.25", + "@std/path": "jsr:@std/path@^1.0.8", + "@std/testing": "jsr:@std/testing@^1.0.17", + "@std/yaml": "jsr:@std/yaml@^1.0.5", + "ajv": "npm:ajv@8.18.0", "handlebars": "npm:handlebars@4.7.8", - "json-schema-to-typescript": "npm:json-schema-to-typescript@15.0.0", - "less": "npm:less@4.2.0", + "json-schema-to-typescript": "npm:json-schema-to-typescript@^15.0.3", + "less": "npm:less@4.2.2", "postcss-less": "npm:postcss-less@6.0.0", "postcss-value-parser": "npm:postcss-value-parser@4.2.0", - "stylelint": "npm:stylelint@16.8.1", + "stylelint": "npm:stylelint@^16.12.0", "stylelint-config-recommended": "npm:stylelint-config-recommended@14.0.1", "stylelint-config-standard": "npm:stylelint-config-standard@36.0.1", - "svgo": "npm:svgo@3.3.2", - "type-fest": "npm:type-fest@4.23.0", + "svgo": "npm:svgo@4.0.0", + "type-fest": "npm:type-fest@^4.30.2", "usercss-meta": "npm:usercss-meta@0.12.0" }, "tasks": { "ci:generate": "deno run -A ./scripts/generate/main.ts", - "ci:generate-import": "deno run -A ./scripts/import-styles/main.ts", + "ci:stylus-import": "deno run -A ./scripts/stylus-import/main.ts", "ci:sync-maintainers": "deno run -A ./scripts/sync-maintainers/main.ts", + "ci:update-types": "deno run -A ./scripts/types/update-types.ts", + "ci:bump": "deno run -A ./scripts/bump-version/main.ts", "lint": "deno run -A ./scripts/lint/main.ts", "lint:fix": "deno task lint --fix", - "update-types": "deno run -A ./scripts/update-types.ts", - "format": "deno run -A npm:prettier@3.2.4 --write ." + "serve": "deno run -A ./scripts/serve/main.ts", + "test": "deno test -A", + "test:update": "deno test -A -- --update" }, - "nodeModulesDir": true + "nodeModulesDir": "auto", + "fmt": { + "indentWidth": 2, + "proseWrap": "never", + "exclude": [ + ".github/ISSUE_TEMPLATE/userstyle.yml", + ".github/*.yml", + "styles/**/*.md", + "scripts/generate/templates/userstyle.md", + "docs/pnpm-lock.yaml" + ] + }, + "lint": { + "rules": { + "tags": [ + "recommended" + ], + "include": [ + "verbatim-module-syntax" + ] + } + } } diff --git a/deno.lock b/deno.lock index 310cc4a8bb..4ba3c226e2 100644 --- a/deno.lock +++ b/deno.lock @@ -1,1468 +1,1165 @@ { - "version": "3", - "packages": { - "specifiers": { - "jsr:@std/assert@^0.224.0": "jsr:@std/assert@0.224.0", - "jsr:@std/assert@^1.0.2": "jsr:@std/assert@1.0.2", - "jsr:@std/cli@^1.0.2": "jsr:@std/cli@1.0.2", - "jsr:@std/fmt@^0.225.6": "jsr:@std/fmt@0.225.6", - "jsr:@std/fs@^1.0.1": "jsr:@std/fs@1.0.1", - "jsr:@std/internal@^1.0.1": "jsr:@std/internal@1.0.1", - "jsr:@std/path@^1.0.2": "jsr:@std/path@1.0.2", - "jsr:@std/yaml@^1.0.1": "jsr:@std/yaml@1.0.1", - "npm:@actions/core@1.10.1": "npm:@actions/core@1.10.1", - "npm:@catppuccin/palette@1.2.0": "npm:@catppuccin/palette@1.2.0", - "npm:@octokit/rest@21.0.1": "npm:@octokit/rest@21.0.1_@octokit+core@6.1.2", - "npm:@types/less": "npm:@types/less@3.0.6", - "npm:@types/node": "npm:@types/node@18.16.19", - "npm:ajv@8.17.1": "npm:ajv@8.17.1", - "npm:handlebars@4.7.8": "npm:handlebars@4.7.8", - "npm:json-schema-to-typescript@15.0.0": "npm:json-schema-to-typescript@15.0.0", - "npm:less@4.2.0": "npm:less@4.2.0", - "npm:postcss-less@6.0.0": "npm:postcss-less@6.0.0_postcss@8.4.39", - "npm:postcss-value-parser@4.2.0": "npm:postcss-value-parser@4.2.0", - "npm:prettier@3.2.4": "npm:prettier@3.2.4", - "npm:stylelint": "npm:stylelint@16.8.1_@csstools+css-tokenizer@2.4.1_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_postcss-selector-parser@6.1.1_postcss@8.4.40", - "npm:stylelint-config-recommended@14.0.1": "npm:stylelint-config-recommended@14.0.1_stylelint@16.8.1__@csstools+css-tokenizer@2.4.1__@csstools+css-parser-algorithms@2.7.1___@csstools+css-tokenizer@2.4.1__postcss-selector-parser@6.1.1__postcss@8.4.40", - "npm:stylelint-config-standard@36.0.1": "npm:stylelint-config-standard@36.0.1_stylelint@16.8.1__@csstools+css-tokenizer@2.4.1__@csstools+css-parser-algorithms@2.7.1___@csstools+css-tokenizer@2.4.1__postcss-selector-parser@6.1.1__postcss@8.4.40", - "npm:stylelint@16.8.1": "npm:stylelint@16.8.1_@csstools+css-tokenizer@2.4.1_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_postcss-selector-parser@6.1.1_postcss@8.4.40", - "npm:svgo@3.3.2": "npm:svgo@3.3.2", - "npm:type-fest@4.23.0": "npm:type-fest@4.23.0", - "npm:usercss-meta@0.12.0": "npm:usercss-meta@0.12.0" - }, - "jsr": { - "@std/assert@0.224.0": { - "integrity": "8643233ec7aec38a940a8264a6e3eed9bfa44e7a71cc6b3c8874213ff401967f" - }, - "@std/assert@1.0.2": { - "integrity": "ccacec332958126deaceb5c63ff8b4eaf9f5ed0eac9feccf124110435e59e49c", - "dependencies": [ - "jsr:@std/internal@^1.0.1" - ] - }, - "@std/cli@1.0.2": { - "integrity": "fc12cf1a16d0e6c073dce3f95c202e580c428047ed719007617460b98e57923d" - }, - "@std/fmt@0.225.6": { - "integrity": "aba6aea27f66813cecfd9484e074a9e9845782ab0685c030e453a8a70b37afc8" - }, - "@std/fs@1.0.1": { - "integrity": "d6914ca2c21abe591f733b31dbe6331e446815e513e2451b3b9e472daddfefcb", - "dependencies": [ - "jsr:@std/path@^1.0.2" - ] - }, - "@std/internal@1.0.1": { - "integrity": "6f8c7544d06a11dd256c8d6ba54b11ed870aac6c5aeafff499892662c57673e6" - }, - "@std/path@1.0.2": { - "integrity": "a452174603f8c620bd278a380c596437a9eef50c891c64b85812f735245d9ec7" - }, - "@std/yaml@1.0.1": { - "integrity": "0e9e51c9e27bbc06455710fd1bfab77a1762827695c591dcb14fddb2778f76b4" - } - }, - "npm": { - "@actions/core@1.10.1": { - "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", - "dependencies": { - "@actions/http-client": "@actions/http-client@2.2.1", - "uuid": "uuid@8.3.2" - } - }, - "@actions/http-client@2.2.1": { - "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", - "dependencies": { - "tunnel": "tunnel@0.0.6", - "undici": "undici@5.28.4" - } - }, - "@apidevtools/json-schema-ref-parser@11.6.4": { - "integrity": "sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==", - "dependencies": { - "@jsdevtools/ono": "@jsdevtools/ono@7.1.3", - "@types/json-schema": "@types/json-schema@7.0.15", - "js-yaml": "js-yaml@4.1.0" - } - }, - "@babel/code-frame@7.24.7": { - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dependencies": { - "@babel/highlight": "@babel/highlight@7.24.7", - "picocolors": "picocolors@1.0.1" - } - }, - "@babel/helper-validator-identifier@7.24.7": { - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dependencies": {} - }, - "@babel/highlight@7.24.7": { - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dependencies": { - "@babel/helper-validator-identifier": "@babel/helper-validator-identifier@7.24.7", - "chalk": "chalk@2.4.2", - "js-tokens": "js-tokens@4.0.0", - "picocolors": "picocolors@1.0.1" - } - }, - "@catppuccin/palette@1.2.0": { - "integrity": "sha512-R5fxLcU47mRcsdQkXZBNfxt7SdEqLGWb1qhEKBrnYfEB4ZWOQRBEow4e78PKxaFUECBNOs6uEkwvwxFL9FmQqQ==", - "dependencies": {} - }, - "@csstools/css-parser-algorithms@2.7.1_@csstools+css-tokenizer@2.4.1": { - "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", - "dependencies": { - "@csstools/css-tokenizer": "@csstools/css-tokenizer@2.4.1" - } - }, - "@csstools/css-tokenizer@2.4.1": { - "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", - "dependencies": {} - }, - "@csstools/media-query-list-parser@2.1.13_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_@csstools+css-tokenizer@2.4.1": { - "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", - "dependencies": { - "@csstools/css-parser-algorithms": "@csstools/css-parser-algorithms@2.7.1_@csstools+css-tokenizer@2.4.1", - "@csstools/css-tokenizer": "@csstools/css-tokenizer@2.4.1" - } - }, - "@csstools/selector-specificity@3.1.1_postcss-selector-parser@6.1.1": { - "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", - "dependencies": { - "postcss-selector-parser": "postcss-selector-parser@6.1.1" - } - }, - "@dual-bundle/import-meta-resolve@4.1.0": { - "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", - "dependencies": {} - }, - "@fastify/busboy@2.1.1": { - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dependencies": {} - }, - "@isaacs/cliui@8.0.2": { - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "string-width@5.1.2", - "string-width-cjs": "string-width@4.2.3", - "strip-ansi": "strip-ansi@7.1.0", - "strip-ansi-cjs": "strip-ansi@6.0.1", - "wrap-ansi": "wrap-ansi@8.1.0", - "wrap-ansi-cjs": "wrap-ansi@7.0.0" - } - }, - "@jsdevtools/ono@7.1.3": { - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dependencies": {} - }, - "@nodelib/fs.scandir@2.1.5": { - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "@nodelib/fs.stat@2.0.5", - "run-parallel": "run-parallel@1.2.0" - } - }, - "@nodelib/fs.stat@2.0.5": { - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dependencies": {} - }, - "@nodelib/fs.walk@1.2.8": { - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "@nodelib/fs.scandir@2.1.5", - "fastq": "fastq@1.17.1" - } - }, - "@octokit/auth-token@5.1.1": { - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", - "dependencies": {} - }, - "@octokit/core@6.1.2": { - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", - "dependencies": { - "@octokit/auth-token": "@octokit/auth-token@5.1.1", - "@octokit/graphql": "@octokit/graphql@8.1.1", - "@octokit/request": "@octokit/request@9.1.3", - "@octokit/request-error": "@octokit/request-error@6.1.4", - "@octokit/types": "@octokit/types@13.5.0", - "before-after-hook": "before-after-hook@3.0.2", - "universal-user-agent": "universal-user-agent@7.0.2" - } - }, - "@octokit/endpoint@10.1.1": { - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", - "dependencies": { - "@octokit/types": "@octokit/types@13.5.0", - "universal-user-agent": "universal-user-agent@7.0.2" - } - }, - "@octokit/graphql@8.1.1": { - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", - "dependencies": { - "@octokit/request": "@octokit/request@9.1.3", - "@octokit/types": "@octokit/types@13.5.0", - "universal-user-agent": "universal-user-agent@7.0.2" - } - }, - "@octokit/openapi-types@22.2.0": { - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "dependencies": {} - }, - "@octokit/plugin-paginate-rest@11.3.3_@octokit+core@6.1.2": { - "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", - "dependencies": { - "@octokit/core": "@octokit/core@6.1.2", - "@octokit/types": "@octokit/types@13.5.0" - } - }, - "@octokit/plugin-request-log@5.3.1_@octokit+core@6.1.2": { - "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", - "dependencies": { - "@octokit/core": "@octokit/core@6.1.2" - } - }, - "@octokit/plugin-rest-endpoint-methods@13.2.4_@octokit+core@6.1.2": { - "integrity": "sha512-gusyAVgTrPiuXOdfqOySMDztQHv6928PQ3E4dqVGEtOvRXAKRbJR4b1zQyniIT9waqaWk/UDaoJ2dyPr7Bk7Iw==", - "dependencies": { - "@octokit/core": "@octokit/core@6.1.2", - "@octokit/types": "@octokit/types@13.5.0" - } - }, - "@octokit/request-error@6.1.4": { - "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", - "dependencies": { - "@octokit/types": "@octokit/types@13.5.0" - } - }, - "@octokit/request@9.1.3": { - "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", - "dependencies": { - "@octokit/endpoint": "@octokit/endpoint@10.1.1", - "@octokit/request-error": "@octokit/request-error@6.1.4", - "@octokit/types": "@octokit/types@13.5.0", - "universal-user-agent": "universal-user-agent@7.0.2" - } - }, - "@octokit/rest@21.0.1_@octokit+core@6.1.2": { - "integrity": "sha512-RWA6YU4CqK0h0J6tfYlUFnH3+YgBADlxaHXaKSG+BVr2y4PTfbU2tlKuaQoQZ83qaTbi4CUxLNAmbAqR93A6mQ==", - "dependencies": { - "@octokit/core": "@octokit/core@6.1.2", - "@octokit/plugin-paginate-rest": "@octokit/plugin-paginate-rest@11.3.3_@octokit+core@6.1.2", - "@octokit/plugin-request-log": "@octokit/plugin-request-log@5.3.1_@octokit+core@6.1.2", - "@octokit/plugin-rest-endpoint-methods": "@octokit/plugin-rest-endpoint-methods@13.2.4_@octokit+core@6.1.2" - } - }, - "@octokit/types@13.5.0": { - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "dependencies": { - "@octokit/openapi-types": "@octokit/openapi-types@22.2.0" - } - }, - "@pkgjs/parseargs@0.11.0": { - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dependencies": {} - }, - "@trysound/sax@0.2.0": { - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dependencies": {} - }, - "@types/json-schema@7.0.15": { - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dependencies": {} - }, - "@types/less@3.0.6": { - "integrity": "sha512-PecSzorDGdabF57OBeQO/xFbAkYWo88g4Xvnsx7LRwqLC17I7OoKtA3bQB9uXkY6UkMWCOsA8HSVpaoitscdXw==", - "dependencies": {} - }, - "@types/lodash@4.17.7": { - "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", - "dependencies": {} - }, - "@types/node@18.16.19": { - "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", - "dependencies": {} - }, - "ajv@8.17.1": { - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "fast-deep-equal@3.1.3", - "fast-uri": "fast-uri@3.0.1", - "json-schema-traverse": "json-schema-traverse@1.0.0", - "require-from-string": "require-from-string@2.0.2" - } - }, - "ansi-regex@5.0.1": { - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dependencies": {} - }, - "ansi-regex@6.0.1": { - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dependencies": {} - }, - "ansi-styles@3.2.1": { - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "color-convert@1.9.3" - } - }, - "ansi-styles@4.3.0": { - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "color-convert@2.0.1" - } - }, - "ansi-styles@6.2.1": { - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dependencies": {} - }, - "argparse@2.0.1": { - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dependencies": {} - }, - "array-union@2.1.0": { - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dependencies": {} - }, - "astral-regex@2.0.0": { - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dependencies": {} - }, - "balanced-match@1.0.2": { - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dependencies": {} - }, - "balanced-match@2.0.0": { - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dependencies": {} - }, - "before-after-hook@3.0.2": { - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "dependencies": {} - }, - "boolbase@1.0.0": { - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dependencies": {} - }, - "brace-expansion@2.0.1": { - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "balanced-match@1.0.2" - } - }, - "braces@3.0.3": { - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": { - "fill-range": "fill-range@7.1.1" - } - }, - "callsites@3.1.0": { - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dependencies": {} - }, - "chalk@2.4.2": { - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "ansi-styles@3.2.1", - "escape-string-regexp": "escape-string-regexp@1.0.5", - "supports-color": "supports-color@5.5.0" - } - }, - "cli-color@2.0.4": { - "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64", - "es6-iterator": "es6-iterator@2.0.3", - "memoizee": "memoizee@0.4.17", - "timers-ext": "timers-ext@0.1.8" - } - }, - "color-convert@1.9.3": { - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "color-name@1.1.3" - } - }, - "color-convert@2.0.1": { - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "color-name@1.1.4" - } - }, - "color-name@1.1.3": { - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dependencies": {} - }, - "color-name@1.1.4": { - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dependencies": {} - }, - "colord@2.9.3": { - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dependencies": {} - }, - "commander@7.2.0": { - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dependencies": {} - }, - "copy-anything@2.0.6": { - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dependencies": { - "is-what": "is-what@3.14.1" - } - }, - "cosmiconfig@9.0.0": { - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dependencies": { - "env-paths": "env-paths@2.2.1", - "import-fresh": "import-fresh@3.3.0", - "js-yaml": "js-yaml@4.1.0", - "parse-json": "parse-json@5.2.0" - } - }, - "cross-spawn@7.0.3": { - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "path-key@3.1.1", - "shebang-command": "shebang-command@2.0.0", - "which": "which@2.0.2" - } - }, - "css-functions-list@3.2.2": { - "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", - "dependencies": {} - }, - "css-select@5.1.0": { - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dependencies": { - "boolbase": "boolbase@1.0.0", - "css-what": "css-what@6.1.0", - "domhandler": "domhandler@5.0.3", - "domutils": "domutils@3.1.0", - "nth-check": "nth-check@2.1.1" - } - }, - "css-tree@2.2.1": { - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dependencies": { - "mdn-data": "mdn-data@2.0.28", - "source-map-js": "source-map-js@1.2.0" - } - }, - "css-tree@2.3.1": { - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dependencies": { - "mdn-data": "mdn-data@2.0.30", - "source-map-js": "source-map-js@1.2.0" - } - }, - "css-what@6.1.0": { - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dependencies": {} - }, - "cssesc@3.0.0": { - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dependencies": {} - }, - "csso@5.0.5": { - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dependencies": { - "css-tree": "css-tree@2.2.1" - } - }, - "d@1.0.2": { - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "dependencies": { - "es5-ext": "es5-ext@0.10.64", - "type": "type@2.7.3" - } - }, - "data-uri-to-buffer@4.0.1": { - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dependencies": {} - }, - "debug@4.3.6": { - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "dependencies": { - "ms": "ms@2.1.2" - } - }, - "dir-glob@3.0.1": { - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "path-type@4.0.0" - } - }, - "dom-serializer@2.0.0": { - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "domelementtype@2.3.0", - "domhandler": "domhandler@5.0.3", - "entities": "entities@4.5.0" - } - }, - "domelementtype@2.3.0": { - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dependencies": {} - }, - "domhandler@5.0.3": { - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "domelementtype@2.3.0" - } - }, - "domutils@3.1.0": { - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "dom-serializer@2.0.0", - "domelementtype": "domelementtype@2.3.0", - "domhandler": "domhandler@5.0.3" - } - }, - "eastasianwidth@0.2.0": { - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dependencies": {} - }, - "emoji-regex@8.0.0": { - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dependencies": {} - }, - "emoji-regex@9.2.2": { - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dependencies": {} - }, - "entities@4.5.0": { - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dependencies": {} - }, - "env-paths@2.2.1": { - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dependencies": {} - }, - "errno@0.1.8": { - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "prr@1.0.1" - } - }, - "error-ex@1.3.2": { - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "is-arrayish@0.2.1" - } - }, - "es5-ext@0.10.64": { - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dependencies": { - "es6-iterator": "es6-iterator@2.0.3", - "es6-symbol": "es6-symbol@3.1.4", - "esniff": "esniff@2.0.1", - "next-tick": "next-tick@1.1.0" - } - }, - "es6-iterator@2.0.3": { - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64", - "es6-symbol": "es6-symbol@3.1.4" - } - }, - "es6-symbol@3.1.4": { - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "dependencies": { - "d": "d@1.0.2", - "ext": "ext@1.7.0" - } - }, - "es6-weak-map@2.0.3": { - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64", - "es6-iterator": "es6-iterator@2.0.3", - "es6-symbol": "es6-symbol@3.1.4" - } - }, - "escape-string-regexp@1.0.5": { - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dependencies": {} - }, - "esniff@2.0.1": { - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64", - "event-emitter": "event-emitter@0.3.5", - "type": "type@2.7.3" - } - }, - "event-emitter@0.3.5": { - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64" - } - }, - "ext@1.7.0": { - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "type@2.7.3" - } - }, - "fast-deep-equal@3.1.3": { - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dependencies": {} - }, - "fast-glob@3.3.2": { - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dependencies": { - "@nodelib/fs.stat": "@nodelib/fs.stat@2.0.5", - "@nodelib/fs.walk": "@nodelib/fs.walk@1.2.8", - "glob-parent": "glob-parent@5.1.2", - "merge2": "merge2@1.4.1", - "micromatch": "micromatch@4.0.7" - } - }, - "fast-uri@3.0.1": { - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dependencies": {} - }, - "fastest-levenshtein@1.0.16": { - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dependencies": {} - }, - "fastq@1.17.1": { - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "reusify@1.0.4" - } - }, - "fetch-blob@3.2.0": { - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dependencies": { - "node-domexception": "node-domexception@1.0.0", - "web-streams-polyfill": "web-streams-polyfill@3.3.3" - } - }, - "file-entry-cache@9.0.0": { - "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==", - "dependencies": { - "flat-cache": "flat-cache@5.0.0" - } - }, - "fill-range@7.1.1": { - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dependencies": { - "to-regex-range": "to-regex-range@5.0.1" - } - }, - "flat-cache@5.0.0": { - "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", - "dependencies": { - "flatted": "flatted@3.3.1", - "keyv": "keyv@4.5.4" - } - }, - "flatted@3.3.1": { - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dependencies": {} - }, - "foreground-child@3.2.1": { - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", - "dependencies": { - "cross-spawn": "cross-spawn@7.0.3", - "signal-exit": "signal-exit@4.1.0" - } - }, - "formdata-polyfill@4.0.10": { - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "fetch-blob@3.2.0" - } - }, - "glob-parent@5.1.2": { - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "is-glob@4.0.3" - } - }, - "glob@10.4.5": { - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dependencies": { - "foreground-child": "foreground-child@3.2.1", - "jackspeak": "jackspeak@3.4.3", - "minimatch": "minimatch@9.0.5", - "minipass": "minipass@7.1.2", - "package-json-from-dist": "package-json-from-dist@1.0.0", - "path-scurry": "path-scurry@1.11.1" - } - }, - "global-modules@2.0.0": { - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "global-prefix@3.0.0" - } - }, - "global-prefix@3.0.0": { - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "ini@1.3.8", - "kind-of": "kind-of@6.0.3", - "which": "which@1.3.1" - } - }, - "globby@11.1.0": { - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "array-union@2.1.0", - "dir-glob": "dir-glob@3.0.1", - "fast-glob": "fast-glob@3.3.2", - "ignore": "ignore@5.3.1", - "merge2": "merge2@1.4.1", - "slash": "slash@3.0.0" - } - }, - "globjoin@0.1.4": { - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dependencies": {} - }, - "graceful-fs@4.2.11": { - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dependencies": {} - }, - "handlebars@4.7.8": { - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dependencies": { - "minimist": "minimist@1.2.8", - "neo-async": "neo-async@2.6.2", - "source-map": "source-map@0.6.1", - "uglify-js": "uglify-js@3.19.0", - "wordwrap": "wordwrap@1.0.0" - } - }, - "has-flag@3.0.0": { - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dependencies": {} - }, - "has-flag@4.0.0": { - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dependencies": {} - }, - "html-tags@3.3.1": { - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dependencies": {} - }, - "iconv-lite@0.6.3": { - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": "safer-buffer@2.1.2" - } - }, - "ignore@5.3.1": { - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dependencies": {} - }, - "image-size@0.5.5": { - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dependencies": {} - }, - "import-fresh@3.3.0": { - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "parent-module@1.0.1", - "resolve-from": "resolve-from@4.0.0" - } - }, - "imurmurhash@0.1.4": { - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dependencies": {} - }, - "ini@1.3.8": { - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dependencies": {} - }, - "is-arrayish@0.2.1": { - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dependencies": {} - }, - "is-extglob@2.1.1": { - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dependencies": {} - }, - "is-fullwidth-code-point@3.0.0": { - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dependencies": {} - }, - "is-glob@4.0.3": { - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "is-extglob@2.1.1" - } - }, - "is-number@7.0.0": { - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dependencies": {} - }, - "is-plain-object@5.0.0": { - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dependencies": {} - }, - "is-promise@2.2.2": { - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dependencies": {} - }, - "is-what@3.14.1": { - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dependencies": {} - }, - "isexe@2.0.0": { - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dependencies": {} - }, - "jackspeak@3.4.3": { - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dependencies": { - "@isaacs/cliui": "@isaacs/cliui@8.0.2", - "@pkgjs/parseargs": "@pkgjs/parseargs@0.11.0" - } - }, - "js-tokens@4.0.0": { - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dependencies": {} - }, - "js-yaml@4.1.0": { - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "argparse@2.0.1" - } - }, - "json-buffer@3.0.1": { - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dependencies": {} - }, - "json-parse-even-better-errors@2.3.1": { - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dependencies": {} - }, - "json-schema-to-typescript@15.0.0": { - "integrity": "sha512-gOX3cJB4eL1ztMc3WUh569ubRcKnr8MnYk++6+/WaaN4bufGHSR6EcbUbvLZgirPQOfvni5SSGkRx0pYloYU8A==", - "dependencies": { - "@apidevtools/json-schema-ref-parser": "@apidevtools/json-schema-ref-parser@11.6.4", - "@types/json-schema": "@types/json-schema@7.0.15", - "@types/lodash": "@types/lodash@4.17.7", - "cli-color": "cli-color@2.0.4", - "glob": "glob@10.4.5", - "is-glob": "is-glob@4.0.3", - "js-yaml": "js-yaml@4.1.0", - "lodash": "lodash@4.17.21", - "minimist": "minimist@1.2.8", - "mkdirp": "mkdirp@3.0.1", - "node-fetch": "node-fetch@3.3.2", - "prettier": "prettier@3.3.3" - } - }, - "json-schema-traverse@1.0.0": { - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dependencies": {} - }, - "keyv@4.5.4": { - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "json-buffer@3.0.1" - } - }, - "kind-of@6.0.3": { - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dependencies": {} - }, - "known-css-properties@0.34.0": { - "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", - "dependencies": {} - }, - "less@4.2.0": { - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", - "dependencies": { - "copy-anything": "copy-anything@2.0.6", - "errno": "errno@0.1.8", - "graceful-fs": "graceful-fs@4.2.11", - "image-size": "image-size@0.5.5", - "make-dir": "make-dir@2.1.0", - "mime": "mime@1.6.0", - "needle": "needle@3.3.1", - "parse-node-version": "parse-node-version@1.0.1", - "source-map": "source-map@0.6.1", - "tslib": "tslib@2.6.3" - } - }, - "lines-and-columns@1.2.4": { - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dependencies": {} - }, - "lodash.truncate@4.4.2": { - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dependencies": {} - }, - "lodash@4.17.21": { - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dependencies": {} - }, - "lru-cache@10.4.3": { - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dependencies": {} - }, - "lru-queue@0.1.0": { - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "dependencies": { - "es5-ext": "es5-ext@0.10.64" - } - }, - "make-dir@2.1.0": { - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "pify@4.0.1", - "semver": "semver@5.7.2" - } - }, - "mathml-tag-names@2.1.3": { - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dependencies": {} - }, - "mdn-data@2.0.28": { - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dependencies": {} - }, - "mdn-data@2.0.30": { - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dependencies": {} - }, - "memoizee@0.4.17": { - "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", - "dependencies": { - "d": "d@1.0.2", - "es5-ext": "es5-ext@0.10.64", - "es6-weak-map": "es6-weak-map@2.0.3", - "event-emitter": "event-emitter@0.3.5", - "is-promise": "is-promise@2.2.2", - "lru-queue": "lru-queue@0.1.0", - "next-tick": "next-tick@1.1.0", - "timers-ext": "timers-ext@0.1.8" - } - }, - "meow@13.2.0": { - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dependencies": {} - }, - "merge2@1.4.1": { - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dependencies": {} - }, - "micromatch@4.0.7": { - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dependencies": { - "braces": "braces@3.0.3", - "picomatch": "picomatch@2.3.1" - } - }, - "mime@1.6.0": { - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dependencies": {} - }, - "minimatch@9.0.5": { - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dependencies": { - "brace-expansion": "brace-expansion@2.0.1" - } - }, - "minimist@1.2.8": { - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dependencies": {} - }, - "minipass@7.1.2": { - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dependencies": {} - }, - "mkdirp@3.0.1": { - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dependencies": {} - }, - "ms@2.1.2": { - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dependencies": {} - }, - "nanoid@3.3.7": { - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dependencies": {} - }, - "needle@3.3.1": { - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dependencies": { - "iconv-lite": "iconv-lite@0.6.3", - "sax": "sax@1.4.1" - } - }, - "neo-async@2.6.2": { - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dependencies": {} - }, - "next-tick@1.1.0": { - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dependencies": {} - }, - "node-domexception@1.0.0": { - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dependencies": {} - }, - "node-fetch@3.3.2": { - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dependencies": { - "data-uri-to-buffer": "data-uri-to-buffer@4.0.1", - "fetch-blob": "fetch-blob@3.2.0", - "formdata-polyfill": "formdata-polyfill@4.0.10" - } - }, - "normalize-path@3.0.0": { - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dependencies": {} - }, - "nth-check@2.1.1": { - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "boolbase@1.0.0" - } - }, - "package-json-from-dist@1.0.0": { - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dependencies": {} - }, - "parent-module@1.0.1": { - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "callsites@3.1.0" - } - }, - "parse-json@5.2.0": { - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "@babel/code-frame@7.24.7", - "error-ex": "error-ex@1.3.2", - "json-parse-even-better-errors": "json-parse-even-better-errors@2.3.1", - "lines-and-columns": "lines-and-columns@1.2.4" - } - }, - "parse-node-version@1.0.1": { - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dependencies": {} - }, - "path-key@3.1.1": { - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dependencies": {} - }, - "path-scurry@1.11.1": { - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dependencies": { - "lru-cache": "lru-cache@10.4.3", - "minipass": "minipass@7.1.2" - } - }, - "path-type@4.0.0": { - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dependencies": {} - }, - "picocolors@1.0.1": { - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dependencies": {} - }, - "picomatch@2.3.1": { - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dependencies": {} - }, - "pify@4.0.1": { - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dependencies": {} - }, - "postcss-less@6.0.0_postcss@8.4.39": { - "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", - "dependencies": { - "postcss": "postcss@8.4.39" - } - }, - "postcss-resolve-nested-selector@0.1.4": { - "integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==", - "dependencies": {} - }, - "postcss-safe-parser@7.0.0_postcss@8.4.40": { - "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", - "dependencies": { - "postcss": "postcss@8.4.40" - } - }, - "postcss-selector-parser@6.1.1": { - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", - "dependencies": { - "cssesc": "cssesc@3.0.0", - "util-deprecate": "util-deprecate@1.0.2" - } - }, - "postcss-value-parser@4.2.0": { - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dependencies": {} - }, - "postcss@8.4.39": { - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", - "dependencies": { - "nanoid": "nanoid@3.3.7", - "picocolors": "picocolors@1.0.1", - "source-map-js": "source-map-js@1.2.0" - } - }, - "postcss@8.4.40": { - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", - "dependencies": { - "nanoid": "nanoid@3.3.7", - "picocolors": "picocolors@1.0.1", - "source-map-js": "source-map-js@1.2.0" - } - }, - "prettier@3.2.4": { - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", - "dependencies": {} - }, - "prettier@3.3.3": { - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dependencies": {} - }, - "prr@1.0.1": { - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dependencies": {} - }, - "queue-microtask@1.2.3": { - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dependencies": {} - }, - "require-from-string@2.0.2": { - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dependencies": {} - }, - "resolve-from@4.0.0": { - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dependencies": {} - }, - "resolve-from@5.0.0": { - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dependencies": {} - }, - "reusify@1.0.4": { - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dependencies": {} - }, - "run-parallel@1.2.0": { - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dependencies": { - "queue-microtask": "queue-microtask@1.2.3" - } - }, - "safer-buffer@2.1.2": { - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dependencies": {} - }, - "sax@1.4.1": { - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dependencies": {} - }, - "semver@5.7.2": { - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dependencies": {} - }, - "shebang-command@2.0.0": { - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "shebang-regex@3.0.0" - } - }, - "shebang-regex@3.0.0": { - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dependencies": {} - }, - "signal-exit@4.1.0": { - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dependencies": {} - }, - "slash@3.0.0": { - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dependencies": {} - }, - "slice-ansi@4.0.0": { - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dependencies": { - "ansi-styles": "ansi-styles@4.3.0", - "astral-regex": "astral-regex@2.0.0", - "is-fullwidth-code-point": "is-fullwidth-code-point@3.0.0" - } - }, - "source-map-js@1.2.0": { - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dependencies": {} - }, - "source-map@0.6.1": { - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dependencies": {} - }, - "string-width@4.2.3": { - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "emoji-regex@8.0.0", - "is-fullwidth-code-point": "is-fullwidth-code-point@3.0.0", - "strip-ansi": "strip-ansi@6.0.1" - } - }, - "string-width@5.1.2": { - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "eastasianwidth@0.2.0", - "emoji-regex": "emoji-regex@9.2.2", - "strip-ansi": "strip-ansi@7.1.0" - } - }, - "strip-ansi@6.0.1": { - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "ansi-regex@5.0.1" - } - }, - "strip-ansi@7.1.0": { - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "ansi-regex@6.0.1" - } - }, - "stylelint-config-recommended@14.0.1_stylelint@16.8.1__@csstools+css-tokenizer@2.4.1__@csstools+css-parser-algorithms@2.7.1___@csstools+css-tokenizer@2.4.1__postcss-selector-parser@6.1.1__postcss@8.4.40": { - "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", - "dependencies": { - "stylelint": "stylelint@16.8.1_@csstools+css-tokenizer@2.4.1_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_postcss-selector-parser@6.1.1_postcss@8.4.40" - } - }, - "stylelint-config-standard@36.0.1_stylelint@16.8.1__@csstools+css-tokenizer@2.4.1__@csstools+css-parser-algorithms@2.7.1___@csstools+css-tokenizer@2.4.1__postcss-selector-parser@6.1.1__postcss@8.4.40": { - "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", - "dependencies": { - "stylelint": "stylelint@16.8.1_@csstools+css-tokenizer@2.4.1_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_postcss-selector-parser@6.1.1_postcss@8.4.40", - "stylelint-config-recommended": "stylelint-config-recommended@14.0.1_stylelint@16.8.1__@csstools+css-tokenizer@2.4.1__@csstools+css-parser-algorithms@2.7.1___@csstools+css-tokenizer@2.4.1__postcss-selector-parser@6.1.1__postcss@8.4.40" - } - }, - "stylelint@16.8.1_@csstools+css-tokenizer@2.4.1_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_postcss-selector-parser@6.1.1_postcss@8.4.40": { - "integrity": "sha512-O8aDyfdODSDNz/B3gW2HQ+8kv8pfhSu7ZR7xskQ93+vI6FhKKGUJMQ03Ydu+w3OvXXE0/u4hWU4hCPNOyld+OA==", - "dependencies": { - "@csstools/css-parser-algorithms": "@csstools/css-parser-algorithms@2.7.1_@csstools+css-tokenizer@2.4.1", - "@csstools/css-tokenizer": "@csstools/css-tokenizer@2.4.1", - "@csstools/media-query-list-parser": "@csstools/media-query-list-parser@2.1.13_@csstools+css-parser-algorithms@2.7.1__@csstools+css-tokenizer@2.4.1_@csstools+css-tokenizer@2.4.1", - "@csstools/selector-specificity": "@csstools/selector-specificity@3.1.1_postcss-selector-parser@6.1.1", - "@dual-bundle/import-meta-resolve": "@dual-bundle/import-meta-resolve@4.1.0", - "balanced-match": "balanced-match@2.0.0", - "colord": "colord@2.9.3", - "cosmiconfig": "cosmiconfig@9.0.0", - "css-functions-list": "css-functions-list@3.2.2", - "css-tree": "css-tree@2.3.1", - "debug": "debug@4.3.6", - "fast-glob": "fast-glob@3.3.2", - "fastest-levenshtein": "fastest-levenshtein@1.0.16", - "file-entry-cache": "file-entry-cache@9.0.0", - "global-modules": "global-modules@2.0.0", - "globby": "globby@11.1.0", - "globjoin": "globjoin@0.1.4", - "html-tags": "html-tags@3.3.1", - "ignore": "ignore@5.3.1", - "imurmurhash": "imurmurhash@0.1.4", - "is-plain-object": "is-plain-object@5.0.0", - "known-css-properties": "known-css-properties@0.34.0", - "mathml-tag-names": "mathml-tag-names@2.1.3", - "meow": "meow@13.2.0", - "micromatch": "micromatch@4.0.7", - "normalize-path": "normalize-path@3.0.0", - "picocolors": "picocolors@1.0.1", - "postcss": "postcss@8.4.40", - "postcss-resolve-nested-selector": "postcss-resolve-nested-selector@0.1.4", - "postcss-safe-parser": "postcss-safe-parser@7.0.0_postcss@8.4.40", - "postcss-selector-parser": "postcss-selector-parser@6.1.1", - "postcss-value-parser": "postcss-value-parser@4.2.0", - "resolve-from": "resolve-from@5.0.0", - "string-width": "string-width@4.2.3", - "strip-ansi": "strip-ansi@7.1.0", - "supports-hyperlinks": "supports-hyperlinks@3.0.0", - "svg-tags": "svg-tags@1.0.0", - "table": "table@6.8.2", - "write-file-atomic": "write-file-atomic@5.0.1" - } - }, - "supports-color@5.5.0": { - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "has-flag@3.0.0" - } - }, - "supports-color@7.2.0": { - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "has-flag@4.0.0" - } - }, - "supports-hyperlinks@3.0.0": { - "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", - "dependencies": { - "has-flag": "has-flag@4.0.0", - "supports-color": "supports-color@7.2.0" - } - }, - "svg-tags@1.0.0": { - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dependencies": {} - }, - "svgo@3.3.2": { - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dependencies": { - "@trysound/sax": "@trysound/sax@0.2.0", - "commander": "commander@7.2.0", - "css-select": "css-select@5.1.0", - "css-tree": "css-tree@2.3.1", - "css-what": "css-what@6.1.0", - "csso": "csso@5.0.5", - "picocolors": "picocolors@1.0.1" - } - }, - "table@6.8.2": { - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", - "dependencies": { - "ajv": "ajv@8.17.1", - "lodash.truncate": "lodash.truncate@4.4.2", - "slice-ansi": "slice-ansi@4.0.0", - "string-width": "string-width@4.2.3", - "strip-ansi": "strip-ansi@6.0.1" - } - }, - "timers-ext@0.1.8": { - "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", - "dependencies": { - "es5-ext": "es5-ext@0.10.64", - "next-tick": "next-tick@1.1.0" - } - }, - "to-regex-range@5.0.1": { - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "is-number@7.0.0" - } - }, - "tslib@2.6.3": { - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dependencies": {} - }, - "tunnel@0.0.6": { - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dependencies": {} - }, - "type-fest@4.23.0": { - "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==", - "dependencies": {} - }, - "type@2.7.3": { - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dependencies": {} - }, - "uglify-js@3.19.0": { - "integrity": "sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q==", - "dependencies": {} - }, - "undici@5.28.4": { - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dependencies": { - "@fastify/busboy": "@fastify/busboy@2.1.1" - } - }, - "universal-user-agent@7.0.2": { - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "dependencies": {} - }, - "usercss-meta@0.12.0": { - "integrity": "sha512-zKrXCKdpeIwtVe87omxGo9URf+7mbozduMZEg79dmT4KB3XJwfIkEi/Uk0PcTwR/nZLtAK1+k7isgbGB/g6E7Q==", - "dependencies": {} - }, - "util-deprecate@1.0.2": { - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dependencies": {} - }, - "uuid@8.3.2": { - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dependencies": {} - }, - "web-streams-polyfill@3.3.3": { - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "dependencies": {} - }, - "which@1.3.1": { - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "isexe@2.0.0" - } - }, - "which@2.0.2": { - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "isexe@2.0.0" - } - }, - "wordwrap@1.0.0": { - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dependencies": {} - }, - "wrap-ansi@7.0.0": { - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "ansi-styles@4.3.0", - "string-width": "string-width@4.2.3", - "strip-ansi": "strip-ansi@6.0.1" - } - }, - "wrap-ansi@8.1.0": { - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "ansi-styles@6.2.1", - "string-width": "string-width@5.1.2", - "strip-ansi": "strip-ansi@7.1.0" - } - }, - "write-file-atomic@5.0.1": { - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dependencies": { - "imurmurhash": "imurmurhash@0.1.4", - "signal-exit": "signal-exit@4.1.0" - } - } + "version": "5", + "specifiers": { + "jsr:@std/assert@^1.0.17": "1.0.19", + "jsr:@std/assert@^1.0.9": "1.0.19", + "jsr:@std/async@^1.1.0": "1.2.0", + "jsr:@std/async@^1.2.0": "1.2.0", + "jsr:@std/cli@^1.0.28": "1.0.28", + "jsr:@std/cli@^1.0.8": "1.0.28", + "jsr:@std/data-structures@^1.0.10": "1.0.10", + "jsr:@std/encoding@^1.0.10": "1.0.10", + "jsr:@std/fmt@^1.0.2": "1.0.9", + "jsr:@std/fmt@^1.0.9": "1.0.9", + "jsr:@std/fs@^1.0.22": "1.0.23", + "jsr:@std/fs@^1.0.23": "1.0.23", + "jsr:@std/fs@^1.0.6": "1.0.23", + "jsr:@std/html@^1.0.5": "1.0.5", + "jsr:@std/http@^1.0.25": "1.0.25", + "jsr:@std/internal@^1.0.12": "1.0.12", + "jsr:@std/internal@^1.0.5": "1.0.5", + "jsr:@std/media-types@^1.1.0": "1.1.0", + "jsr:@std/net@^1.0.6": "1.0.6", + "jsr:@std/path@^1.0.8": "1.1.4", + "jsr:@std/path@^1.1.4": "1.1.4", + "jsr:@std/streams@^1.0.17": "1.0.17", + "jsr:@std/testing@*": "1.0.17", + "jsr:@std/testing@^1.0.17": "1.0.17", + "jsr:@std/yaml@^1.0.5": "1.0.5", + "npm:@actions/core@1.11.1": "1.11.1", + "npm:@catppuccin/palette@^1.7.1": "1.7.1", + "npm:@octokit/rest@^21.0.2": "21.0.2_@octokit+core@6.1.2", + "npm:@types/less@*": "3.0.7", + "npm:@types/node@*": "22.5.4", + "npm:ajv@8.17.1": "8.17.1", + "npm:ajv@8.18.0": "8.18.0", + "npm:handlebars@4.7.8": "4.7.8", + "npm:json-schema-to-typescript@^15.0.3": "15.0.3", + "npm:less@4.2.2": "4.2.2", + "npm:postcss-less@6.0.0": "6.0.0_postcss@8.4.49", + "npm:postcss-value-parser@4.2.0": "4.2.0", + "npm:stylelint-config-recommended@14.0.1": "14.0.1_stylelint@16.12.0__@csstools+css-tokenizer@3.0.3__@csstools+css-parser-algorithms@3.0.4___@csstools+css-tokenizer@3.0.3__postcss-selector-parser@7.0.0__postcss@8.4.49", + "npm:stylelint-config-standard@36.0.1": "36.0.1_stylelint@16.12.0__@csstools+css-tokenizer@3.0.3__@csstools+css-parser-algorithms@3.0.4___@csstools+css-tokenizer@3.0.3__postcss-selector-parser@7.0.0__postcss@8.4.49", + "npm:stylelint@*": "16.12.0_@csstools+css-tokenizer@3.0.3_@csstools+css-parser-algorithms@3.0.4__@csstools+css-tokenizer@3.0.3_postcss-selector-parser@7.0.0_postcss@8.4.49", + "npm:stylelint@^16.12.0": "16.12.0_@csstools+css-tokenizer@3.0.3_@csstools+css-parser-algorithms@3.0.4__@csstools+css-tokenizer@3.0.3_postcss-selector-parser@7.0.0_postcss@8.4.49", + "npm:svgo@4.0.0": "4.0.0", + "npm:type-fest@^4.30.2": "4.30.2", + "npm:usercss-meta@0.12.0": "0.12.0" + }, + "jsr": { + "@std/assert@1.0.9": { + "integrity": "a9f0c611a869cc791b26f523eec54c7e187aab7932c2c8e8bea0622d13680dcd", + "dependencies": [ + "jsr:@std/internal@^1.0.5" + ] + }, + "@std/assert@1.0.19": { + "integrity": "eaada96ee120cb980bc47e040f82814d786fe8162ecc53c91d8df60b8755991e", + "dependencies": [ + "jsr:@std/internal@^1.0.12" + ] + }, + "@std/async@1.2.0": { + "integrity": "c059c6f6d95ca7cc012ae8e8d7164d1697113d54b0b679e4372b354b11c2dee5" + }, + "@std/cli@1.0.8": { + "integrity": "3762d8dc9a373715c08d871c38d45e637b25266f013a1d0bbe560bca409de94e" + }, + "@std/cli@1.0.28": { + "integrity": "74ef9b976db59ca6b23a5283469c9072be6276853807a83ec6c7ce412135c70a", + "dependencies": [ + "jsr:@std/fmt@^1.0.9", + "jsr:@std/internal@^1.0.12" + ] + }, + "@std/data-structures@1.0.10": { + "integrity": "f574f86b0e07c69b9edc555fcc814b57d29258bad39fd5a34ba8a80ecf033cfe" + }, + "@std/encoding@1.0.10": { + "integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1" + }, + "@std/fmt@1.0.3": { + "integrity": "97765c16aa32245ff4e2204ecf7d8562496a3cb8592340a80e7e554e0bb9149f" + }, + "@std/fmt@1.0.9": { + "integrity": "2487343e8899fb2be5d0e3d35013e54477ada198854e52dd05ed0422eddcabe0" + }, + "@std/fs@1.0.6": { + "integrity": "42b56e1e41b75583a21d5a37f6a6a27de9f510bcd36c0c85791d685ca0b85fa2", + "dependencies": [ + "jsr:@std/path@^1.0.8" + ] + }, + "@std/fs@1.0.23": { + "integrity": "3ecbae4ce4fee03b180fa710caff36bb5adb66631c46a6460aaad49515565a37", + "dependencies": [ + "jsr:@std/internal@^1.0.12", + "jsr:@std/path@^1.1.4" + ] + }, + "@std/html@1.0.5": { + "integrity": "4e2d693f474cae8c16a920fa5e15a3b72267b94b84667f11a50c6dd1cb18d35e" + }, + "@std/http@1.0.25": { + "integrity": "577b4252290af1097132812b339fffdd55fb0f4aeb98ff11bdbf67998aa17193", + "dependencies": [ + "jsr:@std/cli@^1.0.28", + "jsr:@std/encoding", + "jsr:@std/fmt@^1.0.9", + "jsr:@std/fs@^1.0.23", + "jsr:@std/html", + "jsr:@std/media-types", + "jsr:@std/net", + "jsr:@std/path@^1.1.4", + "jsr:@std/streams" + ] + }, + "@std/internal@1.0.5": { + "integrity": "54a546004f769c1ac9e025abd15a76b6671ddc9687e2313b67376125650dc7ba" + }, + "@std/internal@1.0.12": { + "integrity": "972a634fd5bc34b242024402972cd5143eac68d8dffaca5eaa4dba30ce17b027" + }, + "@std/media-types@1.1.0": { + "integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4" + }, + "@std/net@1.0.6": { + "integrity": "110735f93e95bb9feb95790a8b1d1bf69ec0dc74f3f97a00a76ea5efea25500c" + }, + "@std/path@1.0.8": { + "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" + }, + "@std/path@1.1.4": { + "integrity": "1d2d43f39efb1b42f0b1882a25486647cb851481862dc7313390b2bb044314b5", + "dependencies": [ + "jsr:@std/internal@^1.0.12" + ] + }, + "@std/streams@1.0.17": { + "integrity": "7859f3d9deed83cf4b41f19223d4a67661b3d3819e9fc117698f493bf5992140" + }, + "@std/testing@1.0.17": { + "integrity": "87bdc2700fa98249d48a17cd72413352d3d3680dcfbdb64947fd0982d6bbf681", + "dependencies": [ + "jsr:@std/assert@^1.0.17", + "jsr:@std/async@^1.1.0", + "jsr:@std/data-structures", + "jsr:@std/fs@^1.0.22", + "jsr:@std/internal@^1.0.12", + "jsr:@std/path@^1.1.4" + ] + }, + "@std/yaml@1.0.5": { + "integrity": "71ba3d334305ee2149391931508b2c293a8490f94a337eef3a09cade1a2a2742" + } + }, + "npm": { + "@actions/core@1.11.1": { + "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "dependencies": [ + "@actions/exec", + "@actions/http-client" + ] + }, + "@actions/exec@1.1.1": { + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "dependencies": [ + "@actions/io" + ] + }, + "@actions/http-client@2.2.3": { + "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "dependencies": [ + "tunnel", + "undici" + ] + }, + "@actions/io@1.1.3": { + "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" + }, + "@apidevtools/json-schema-ref-parser@11.7.3": { + "integrity": "sha512-WApSdLdXEBb/1FUPca2lteASewEfpjEYJ8oXZP+0gExK5qSfsEKBKcA+WjY6Q4wvXwyv0+W6Kvc372pSceib9w==", + "dependencies": [ + "@jsdevtools/ono", + "@types/json-schema", + "js-yaml" + ] + }, + "@babel/code-frame@7.26.2": { + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dependencies": [ + "@babel/helper-validator-identifier", + "js-tokens", + "picocolors" + ] + }, + "@babel/helper-validator-identifier@7.25.9": { + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" + }, + "@catppuccin/palette@1.7.1": { + "integrity": "sha512-aRc1tbzrevOTV7nFTT9SRdF26w/MIwT4Jwt4fDMc9itRZUDXCuEDBLyz4TQMlqO9ZP8mf5Hu4Jr6D03NLFc6Gw==" + }, + "@csstools/css-parser-algorithms@3.0.4_@csstools+css-tokenizer@3.0.3": { + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "dependencies": [ + "@csstools/css-tokenizer" + ] + }, + "@csstools/css-tokenizer@3.0.3": { + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==" + }, + "@csstools/media-query-list-parser@4.0.2_@csstools+css-parser-algorithms@3.0.4__@csstools+css-tokenizer@3.0.3_@csstools+css-tokenizer@3.0.3": { + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "dependencies": [ + "@csstools/css-parser-algorithms", + "@csstools/css-tokenizer" + ] + }, + "@csstools/selector-specificity@5.0.0_postcss-selector-parser@7.0.0": { + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dependencies": [ + "postcss-selector-parser" + ] + }, + "@dual-bundle/import-meta-resolve@4.1.0": { + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==" + }, + "@fastify/busboy@2.1.1": { + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==" + }, + "@jsdevtools/ono@7.1.3": { + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + }, + "@nodelib/fs.scandir@2.1.5": { + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": [ + "@nodelib/fs.stat", + "run-parallel" + ] + }, + "@nodelib/fs.stat@2.0.5": { + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk@1.2.8": { + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": [ + "@nodelib/fs.scandir", + "fastq" + ] + }, + "@octokit/auth-token@5.1.1": { + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==" + }, + "@octokit/core@6.1.2": { + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dependencies": [ + "@octokit/auth-token", + "@octokit/graphql", + "@octokit/request", + "@octokit/request-error", + "@octokit/types", + "before-after-hook", + "universal-user-agent" + ] + }, + "@octokit/endpoint@10.1.1": { + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "dependencies": [ + "@octokit/types", + "universal-user-agent" + ] + }, + "@octokit/graphql@8.1.1": { + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": [ + "@octokit/request", + "@octokit/types", + "universal-user-agent" + ] + }, + "@octokit/openapi-types@22.2.0": { + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + }, + "@octokit/plugin-paginate-rest@11.3.6_@octokit+core@6.1.2": { + "integrity": "sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==", + "dependencies": [ + "@octokit/core", + "@octokit/types" + ] + }, + "@octokit/plugin-request-log@5.3.1_@octokit+core@6.1.2": { + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "dependencies": [ + "@octokit/core" + ] + }, + "@octokit/plugin-rest-endpoint-methods@13.2.6_@octokit+core@6.1.2": { + "integrity": "sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==", + "dependencies": [ + "@octokit/core", + "@octokit/types" + ] + }, + "@octokit/request-error@6.1.5": { + "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==", + "dependencies": [ + "@octokit/types" + ] + }, + "@octokit/request@9.1.3": { + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "dependencies": [ + "@octokit/endpoint", + "@octokit/request-error", + "@octokit/types", + "universal-user-agent" + ] + }, + "@octokit/rest@21.0.2_@octokit+core@6.1.2": { + "integrity": "sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ==", + "dependencies": [ + "@octokit/core", + "@octokit/plugin-paginate-rest", + "@octokit/plugin-request-log", + "@octokit/plugin-rest-endpoint-methods" + ] + }, + "@octokit/types@13.6.2": { + "integrity": "sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==", + "dependencies": [ + "@octokit/openapi-types" + ] + }, + "@types/json-schema@7.0.15": { + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/less@3.0.7": { + "integrity": "sha512-+SD1DrM8EwJsilPFSR1IMMGWOTg5sO1waewoJ1k3BHCvU07zQThy8t2wTfxvHz//R0uK3koAUl9WbWwal0H+YA==" + }, + "@types/lodash@4.17.13": { + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==" + }, + "@types/node@22.5.4": { + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", + "dependencies": [ + "undici-types" + ] + }, + "ajv@8.17.1": { + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": [ + "fast-deep-equal", + "fast-uri", + "json-schema-traverse", + "require-from-string" + ] + }, + "ajv@8.18.0": { + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dependencies": [ + "fast-deep-equal", + "fast-uri", + "json-schema-traverse", + "require-from-string" + ] + }, + "ansi-regex@5.0.1": { + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles@4.3.0": { + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": [ + "color-convert" + ] + }, + "argparse@2.0.1": { + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "array-union@2.1.0": { + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "astral-regex@2.0.0": { + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "balanced-match@2.0.0": { + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==" + }, + "before-after-hook@3.0.2": { + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "boolbase@1.0.0": { + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "braces@3.0.3": { + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": [ + "fill-range" + ] + }, + "callsites@3.1.0": { + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "color-convert@2.0.1": { + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": [ + "color-name" + ] + }, + "color-name@1.1.4": { + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colord@2.9.3": { + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "commander@11.1.0": { + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==" + }, + "copy-anything@2.0.6": { + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dependencies": [ + "is-what" + ] + }, + "cosmiconfig@9.0.0": { + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dependencies": [ + "env-paths", + "import-fresh", + "js-yaml", + "parse-json" + ] + }, + "css-functions-list@3.2.3": { + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==" + }, + "css-select@5.1.0": { + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": [ + "boolbase", + "css-what", + "domhandler", + "domutils", + "nth-check" + ] + }, + "css-tree@2.2.1": { + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dependencies": [ + "mdn-data@2.0.28", + "source-map-js" + ] + }, + "css-tree@3.1.0": { + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dependencies": [ + "mdn-data@2.12.2", + "source-map-js" + ] + }, + "css-what@6.1.0": { + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssesc@3.0.0": { + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": true + }, + "csso@5.0.5": { + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dependencies": [ + "css-tree@2.2.1" + ] + }, + "debug@4.4.0": { + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": [ + "ms" + ] + }, + "dir-glob@3.0.1": { + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": [ + "path-type" + ] + }, + "dom-serializer@2.0.0": { + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": [ + "domelementtype", + "domhandler", + "entities" + ] + }, + "domelementtype@2.3.0": { + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler@5.0.3": { + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": [ + "domelementtype" + ] + }, + "domutils@3.2.2": { + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dependencies": [ + "dom-serializer", + "domelementtype", + "domhandler" + ] + }, + "emoji-regex@8.0.0": { + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "entities@4.5.0": { + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "env-paths@2.2.1": { + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "errno@0.1.8": { + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dependencies": [ + "prr" + ], + "bin": true + }, + "error-ex@1.3.2": { + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": [ + "is-arrayish" + ] + }, + "fast-deep-equal@3.1.3": { + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob@3.3.2": { + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": [ + "@nodelib/fs.stat", + "@nodelib/fs.walk", + "glob-parent", + "merge2", + "micromatch" + ] + }, + "fast-uri@3.0.3": { + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" + }, + "fastest-levenshtein@1.0.16": { + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" + }, + "fastq@1.17.1": { + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": [ + "reusify" + ] + }, + "fdir@6.4.2_picomatch@4.0.2": { + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "dependencies": [ + "picomatch@4.0.2" + ], + "optionalPeers": [ + "picomatch@4.0.2" + ] + }, + "file-entry-cache@9.1.0": { + "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==", + "dependencies": [ + "flat-cache" + ] + }, + "fill-range@7.1.1": { + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": [ + "to-regex-range" + ] + }, + "flat-cache@5.0.0": { + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dependencies": [ + "flatted", + "keyv" + ] + }, + "flatted@3.3.2": { + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" + }, + "glob-parent@5.1.2": { + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": [ + "is-glob" + ] + }, + "global-modules@2.0.0": { + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": [ + "global-prefix" + ] + }, + "global-prefix@3.0.0": { + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": [ + "ini", + "kind-of", + "which" + ] + }, + "globby@11.1.0": { + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": [ + "array-union", + "dir-glob", + "fast-glob", + "ignore@5.3.2", + "merge2", + "slash" + ] + }, + "globjoin@0.1.4": { + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==" + }, + "graceful-fs@4.2.11": { + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "handlebars@4.7.8": { + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dependencies": [ + "minimist", + "neo-async", + "source-map", + "wordwrap" + ], + "optionalDependencies": [ + "uglify-js" + ], + "bin": true + }, + "has-flag@4.0.0": { + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "html-tags@3.3.1": { + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==" + }, + "iconv-lite@0.6.3": { + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": [ + "safer-buffer" + ] + }, + "ignore@5.3.2": { + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" + }, + "ignore@6.0.2": { + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==" + }, + "image-size@0.5.5": { + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "bin": true + }, + "import-fresh@3.3.0": { + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": [ + "parent-module", + "resolve-from@4.0.0" + ] + }, + "imurmurhash@0.1.4": { + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "ini@1.3.8": { + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "is-arrayish@0.2.1": { + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-extglob@2.1.1": { + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point@3.0.0": { + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob@4.0.3": { + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": [ + "is-extglob" + ] + }, + "is-number@7.0.0": { + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-object@5.0.0": { + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-what@3.14.1": { + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + }, + "isexe@2.0.0": { + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "js-tokens@4.0.0": { + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml@4.1.0": { + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": [ + "argparse" + ], + "bin": true + }, + "json-buffer@3.0.1": { + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-parse-even-better-errors@2.3.1": { + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-to-typescript@15.0.3": { + "integrity": "sha512-iOKdzTUWEVM4nlxpFudFsWyUiu/Jakkga4OZPEt7CGoSEsAsUgdOZqR6pcgx2STBek9Gm4hcarJpXSzIvZ/hKA==", + "dependencies": [ + "@apidevtools/json-schema-ref-parser", + "@types/json-schema", + "@types/lodash", + "is-glob", + "js-yaml", + "lodash", + "minimist", + "prettier", + "tinyglobby" + ], + "bin": true + }, + "json-schema-traverse@1.0.0": { + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "keyv@4.5.4": { + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": [ + "json-buffer" + ] + }, + "kind-of@6.0.3": { + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "known-css-properties@0.35.0": { + "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==" + }, + "less@4.2.2": { + "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", + "dependencies": [ + "copy-anything", + "parse-node-version", + "tslib" + ], + "optionalDependencies": [ + "errno", + "graceful-fs", + "image-size", + "make-dir", + "mime", + "needle", + "source-map" + ], + "bin": true + }, + "lines-and-columns@1.2.4": { + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "lodash.truncate@4.4.2": { + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + }, + "lodash@4.17.21": { + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "make-dir@2.1.0": { + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": [ + "pify", + "semver" + ] + }, + "mathml-tag-names@2.1.3": { + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==" + }, + "mdn-data@2.0.28": { + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + }, + "mdn-data@2.12.2": { + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==" + }, + "meow@13.2.0": { + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==" + }, + "merge2@1.4.1": { + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch@4.0.8": { + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": [ + "braces", + "picomatch@2.3.1" + ] + }, + "mime@1.6.0": { + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": true + }, + "minimist@1.2.8": { + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "ms@2.1.3": { + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "nanoid@3.3.8": { + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "bin": true + }, + "needle@3.3.1": { + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dependencies": [ + "iconv-lite", + "sax" + ], + "bin": true + }, + "neo-async@2.6.2": { + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "normalize-path@3.0.0": { + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "nth-check@2.1.1": { + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": [ + "boolbase" + ] + }, + "parent-module@1.0.1": { + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": [ + "callsites" + ] + }, + "parse-json@5.2.0": { + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": [ + "@babel/code-frame", + "error-ex", + "json-parse-even-better-errors", + "lines-and-columns" + ] + }, + "parse-node-version@1.0.1": { + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + }, + "path-type@4.0.0": { + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors@1.1.1": { + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch@2.3.1": { + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "picomatch@4.0.2": { + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" + }, + "pify@4.0.1": { + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "postcss-less@6.0.0_postcss@8.4.49": { + "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", + "dependencies": [ + "postcss" + ] + }, + "postcss-resolve-nested-selector@0.1.6": { + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==" + }, + "postcss-safe-parser@7.0.1_postcss@8.4.49": { + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dependencies": [ + "postcss" + ] + }, + "postcss-selector-parser@7.0.0": { + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": [ + "cssesc", + "util-deprecate" + ] + }, + "postcss-value-parser@4.2.0": { + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "postcss@8.4.49": { + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dependencies": [ + "nanoid", + "picocolors", + "source-map-js" + ] + }, + "prettier@3.4.2": { + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "bin": true + }, + "prr@1.0.1": { + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" + }, + "queue-microtask@1.2.3": { + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "require-from-string@2.0.2": { + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve-from@4.0.0": { + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-from@5.0.0": { + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "reusify@1.0.4": { + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "run-parallel@1.2.0": { + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": [ + "queue-microtask" + ] + }, + "safer-buffer@2.1.2": { + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax@1.4.1": { + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "semver@5.7.2": { + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": true + }, + "signal-exit@4.1.0": { + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "slash@3.0.0": { + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi@4.0.0": { + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": [ + "ansi-styles", + "astral-regex", + "is-fullwidth-code-point" + ] + }, + "source-map-js@1.2.1": { + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "source-map@0.6.1": { + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "string-width@4.2.3": { + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": [ + "emoji-regex", + "is-fullwidth-code-point", + "strip-ansi" + ] + }, + "strip-ansi@6.0.1": { + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": [ + "ansi-regex" + ] + }, + "stylelint-config-recommended@14.0.1_stylelint@16.12.0__@csstools+css-tokenizer@3.0.3__@csstools+css-parser-algorithms@3.0.4___@csstools+css-tokenizer@3.0.3__postcss-selector-parser@7.0.0__postcss@8.4.49": { + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "dependencies": [ + "stylelint" + ] + }, + "stylelint-config-standard@36.0.1_stylelint@16.12.0__@csstools+css-tokenizer@3.0.3__@csstools+css-parser-algorithms@3.0.4___@csstools+css-tokenizer@3.0.3__postcss-selector-parser@7.0.0__postcss@8.4.49": { + "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", + "dependencies": [ + "stylelint", + "stylelint-config-recommended" + ] + }, + "stylelint@16.12.0_@csstools+css-tokenizer@3.0.3_@csstools+css-parser-algorithms@3.0.4__@csstools+css-tokenizer@3.0.3_postcss-selector-parser@7.0.0_postcss@8.4.49": { + "integrity": "sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==", + "dependencies": [ + "@csstools/css-parser-algorithms", + "@csstools/css-tokenizer", + "@csstools/media-query-list-parser", + "@csstools/selector-specificity", + "@dual-bundle/import-meta-resolve", + "balanced-match", + "colord", + "cosmiconfig", + "css-functions-list", + "css-tree@3.1.0", + "debug", + "fast-glob", + "fastest-levenshtein", + "file-entry-cache", + "global-modules", + "globby", + "globjoin", + "html-tags", + "ignore@6.0.2", + "imurmurhash", + "is-plain-object", + "known-css-properties", + "mathml-tag-names", + "meow", + "micromatch", + "normalize-path", + "picocolors", + "postcss", + "postcss-resolve-nested-selector", + "postcss-safe-parser", + "postcss-selector-parser", + "postcss-value-parser", + "resolve-from@5.0.0", + "string-width", + "supports-hyperlinks", + "svg-tags", + "table", + "write-file-atomic" + ], + "bin": true + }, + "supports-color@7.2.0": { + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": [ + "has-flag" + ] + }, + "supports-hyperlinks@3.1.0": { + "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "dependencies": [ + "has-flag", + "supports-color" + ] + }, + "svg-tags@1.0.0": { + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==" + }, + "svgo@4.0.0": { + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", + "dependencies": [ + "commander", + "css-select", + "css-tree@3.1.0", + "css-what", + "csso", + "picocolors", + "sax" + ], + "bin": true + }, + "table@6.9.0": { + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dependencies": [ + "ajv@8.17.1", + "lodash.truncate", + "slice-ansi", + "string-width", + "strip-ansi" + ] + }, + "tinyglobby@0.2.10_picomatch@4.0.2": { + "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "dependencies": [ + "fdir", + "picomatch@4.0.2" + ] + }, + "to-regex-range@5.0.1": { + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": [ + "is-number" + ] + }, + "tslib@2.8.1": { + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "tunnel@0.0.6": { + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "type-fest@4.30.2": { + "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==" + }, + "uglify-js@3.19.3": { + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "bin": true + }, + "undici-types@6.19.8": { + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "undici@5.28.4": { + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": [ + "@fastify/busboy" + ] + }, + "universal-user-agent@7.0.2": { + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "usercss-meta@0.12.0": { + "integrity": "sha512-zKrXCKdpeIwtVe87omxGo9URf+7mbozduMZEg79dmT4KB3XJwfIkEi/Uk0PcTwR/nZLtAK1+k7isgbGB/g6E7Q==" + }, + "util-deprecate@1.0.2": { + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "which@1.3.1": { + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": [ + "isexe" + ], + "bin": true + }, + "wordwrap@1.0.0": { + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "write-file-atomic@5.0.1": { + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dependencies": [ + "imurmurhash", + "signal-exit" + ] } }, + "redirects": { + "https://github.com/openstyles/stylus/raw/8fe35a4b90d85fb911bd7aa1deab4e4733c31150/src/js/sections-util.js": "https://raw.githubusercontent.com/openstyles/stylus/8fe35a4b90d85fb911bd7aa1deab4e4733c31150/src/js/sections-util.js" + }, "remote": { - "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f2666c2b04337f0a8632713de0889d9a7d332d/resources/ports.schema.json": "39ce3bcd2dabd033010684df7caa82cc69c25584174eba0922e6435dce53f06a" + "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f82739e687cfd19d168be355367fdbbcc8e029/resources/categories.schema.json": "9b2190cadcc0e8efa8219bfe67dd16fd003a6ad5fd7c8ae9e6ecfa72d51e4a2f", + "https://raw.githubusercontent.com/openstyles/stylus/8fe35a4b90d85fb911bd7aa1deab4e4733c31150/src/js/sections-util.js": "387e164ad40bc76048dccaafce6a032ac745616e7fc29f1873d7da33f5739502" }, "workspace": { "dependencies": [ - "jsr:@std/assert@^1.0.2", - "jsr:@std/cli@^1.0.2", - "jsr:@std/fmt@^0.225.6", - "jsr:@std/fs@^1.0.1", - "jsr:@std/path@^1.0.2", - "jsr:@std/yaml@^1.0.1", - "npm:@actions/core@1.10.1", - "npm:@catppuccin/palette@1.2.0", - "npm:@octokit/rest@21.0.1", - "npm:ajv@8.17.1", + "jsr:@std/assert@^1.0.9", + "jsr:@std/async@^1.2.0", + "jsr:@std/cli@^1.0.8", + "jsr:@std/fmt@^1.0.2", + "jsr:@std/fs@^1.0.6", + "jsr:@std/http@^1.0.25", + "jsr:@std/path@^1.0.8", + "jsr:@std/testing@^1.0.17", + "jsr:@std/yaml@^1.0.5", + "npm:@actions/core@1.11.1", + "npm:@catppuccin/palette@^1.7.1", + "npm:@octokit/rest@^21.0.2", + "npm:ajv@8.18.0", "npm:handlebars@4.7.8", - "npm:json-schema-to-typescript@15.0.0", - "npm:less@4.2.0", + "npm:json-schema-to-typescript@^15.0.3", + "npm:less@4.2.2", "npm:postcss-less@6.0.0", "npm:postcss-value-parser@4.2.0", "npm:stylelint-config-recommended@14.0.1", "npm:stylelint-config-standard@36.0.1", - "npm:stylelint@16.8.1", - "npm:svgo@3.3.2", - "npm:type-fest@4.23.0", + "npm:stylelint@^16.12.0", + "npm:svgo@4.0.0", + "npm:type-fest@^4.30.2", "npm:usercss-meta@0.12.0" ] } diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000000..bffa11f019 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,21 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index e86a7361d8..0000000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,69 +0,0 @@ -# Contributing! - -๐ŸŽ‰ First off, thanks for taking the time to contribute! ๐ŸŽ‰ - -## Guidelines - -The following is a set of guidelines for contributing to this repository. Use -your best judgment, and feel free to propose changes to this document in a pull -request. - -> [!IMPORTANT] -> For new userstyles, make sure to see [userstyle-creation.md](./userstyle-creation.md) after reading this. - -## Development environment - -This repositories uses [Deno](https://deno.com/) extensively for linting and automation. We recommend setting up Deno locally to improve your workflow โ€” see ["Installation" - Deno Docs](https://docs.deno.com/runtime/manual/getting_started/installation). With Deno installed locally, you can run the lint script using `deno task lint` (and `deno task lint:fix` to automatically apply fixes) and the formatting script using `deno task format`. - -When editing a userstyle, we suggest setting up live reloading so your local changes can be automatically reloaded through Stylus. See ["How can I see my changes in real time?"](./tips-and-tricks.md#how-can-i-see-my-changes-in-real-time). - -## Recommendations - -### Assessing websites - -Some websites are, unfortunately, simply not meant for userstyles. For example, websites that have auto-generated classes (`aeN WR beA nH oy8Mbf`, `cfb2a888`, etc.) lead to unreadable and unmaintainable userstyles โ€” they break quickly and are difficult for contributors besides the maintainer to update/maintain. For those reasons we recommend not attempting to theme such sites. - -### Root variables - -While writing a userstyle, you may have come across [custom properties / CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/--*), typically wrapped in a `:root` selector. We refer to these variables as "root variables", and they can be thought of as global variables used all across a website. For Catppuccin userstyles, we prefer that these variables are themed (if they exist) rather than individual elements. As the website hopefully uses these variables themselves, it saves yourself a lot of work in theming and maintaining the userstyle. - -### Opinionated changes - -When writing or updating a userstyle, it is important to keep in mind that different users have different preferences. To avoid lengthy discussion over user interface aesthetics, we have a set of rules for what a userstyle may include; importantly, **changes to font, layout, padding, margin, display, and in general anything besides color tweaks are prohibited.** - -### General recommendations - -- Create a [topic branch](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows#_topic_branch) on your fork for your specific PR. -- Catppuccin uses the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) - standard for creating explicit and meaningful commit messages. This repository - requires pull request _titles_ to be in the conventional commit format, - however we do not require it for individual commits within a pull request. -- Update the version in the `==UserStyle==` header of the `catppuccin.user.css` - file. This is to enable version control of the style. -- If it's your first time contributing to a project then you should look to the - popular [first-contributions](https://github.com/firstcontributions/first-contributions) - repository on GitHub. This will give you hands-on experience with the features - of GitHub required to make a contribution. As always, feel free to join our [Discord](https://discord.com/servers/catppuccin-907385605422448742) to ask - any questions and clarify your understanding, we are more than happy to help! -- Changes to docs may need to use [marksman](https://github.com/artempyanykh/marksman) to generate the table of contents. - -## Pull request review process - -It's better to have a draft pull request than no pull request at all. Having a draft lets others know that a userstyle is being worked on, and gives the opportunity for people to try it out ahead of time (if they really want it themed!). - -```mermaid -graph TD; - A[New userstyle]; - B[Other improvements]; - A --> C[Review by userstyles staff]; - B --> D[Review by maintainer]; - C --> E{Feedback}; - D --> F{Feedback}; - E -->|Changes made| E; - F -->|Changes made| F; - E -->|Approved by userstyles staff| K; - F -->|Approved by maintainer or userstyles staff| L[Merged by maintainer]; - K[Waiting period*] --> M[Merged by userstyles staff]; -``` - -\*A waiting period is usually started if a website is particularly complex or for any other reason could not be thoroughly/completely tested. Waiting periods typically last between 1 and 2 days. diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs new file mode 100644 index 0000000000..67a981986d --- /dev/null +++ b/docs/astro.config.mjs @@ -0,0 +1,79 @@ +import { defineConfig } from "astro/config"; +import starlight from "@astrojs/starlight"; +import catppuccin from "@catppuccin/starlight"; +import starlightLinksValidator from "starlight-links-validator"; +import starlightImageZoom from "starlight-image-zoom"; +import starlightGitHubAlerts from "starlight-github-alerts"; +import starlightAutoSidebar from "starlight-auto-sidebar"; +import mermaid from "astro-mermaid"; +import { remarkHeadingId } from "remark-custom-heading-id"; + +export default defineConfig({ + site: "https://userstyles.catppuccin.com", + markdown: { + remarkPlugins: [remarkHeadingId], + }, + integrations: [ + mermaid(), + starlight({ + title: "Catppuccin Userstyles", + favicon: "/favicon.png", + logo: { + dark: "/public/pepperjack-dark.png", + light: "/public/pepperjack-light.png", + }, + social: [ + { + icon: "github", + label: "GitHub", + href: "https://github.com/catppuccin/userstyles", + }, + ], + editLink: { + baseUrl: "https://github.com/catppuccin/userstyles/edit/main/docs", + }, + expressiveCode: { + themes: ["catppuccin-mocha", "catppuccin-latte"], + styleOverrides: { + frames: { + tooltipSuccessBackground: "var(--green)", + tooltipSuccessForeground: "var(--base)", + }, + textMarkers: { + insBackground: + "color-mix(in oklab, var(--sl-color-green-high) 25%, var(--sl-color-gray-6));", + insBorderColor: "var(--sl-color-gray-5)", + delBackground: + "color-mix(in oklab, var(--sl-color-red-high) 25%, var(--sl-color-gray-6));", + delBorderColor: "var(--sl-color-gray-5)", + }, + codeBackground: "var(--sl-color-gray-6)", + }, + }, + sidebar: [ + { + label: "Getting started", + autogenerate: { directory: "getting-started" }, + }, + { + label: "Contributing", + collapsed: true, + autogenerate: { directory: "contributing" }, + }, + ], + plugins: [ + catppuccin(), + starlightLinksValidator(), + starlightGitHubAlerts(), + starlightImageZoom(), + starlightAutoSidebar(), + ], + }), + ], + redirects: { + "/contributing/standard-library/": + "/contributing/reference/libraries/standard/", + "/reference/browsers/": + "/getting-started/faq/#what-version-of-my-browser-am-i-using", + }, +}); diff --git a/docs/deno.json b/docs/deno.json new file mode 100644 index 0000000000..6f04c6ab83 --- /dev/null +++ b/docs/deno.json @@ -0,0 +1,7 @@ +{ + "fmt": { + "indentWidth": 2, + "proseWrap": "never", + "exclude": ["pnpm-lock.yaml"] + } +} diff --git a/docs/how-to-write-a-userstyle.md b/docs/how-to-write-a-userstyle.md deleted file mode 100644 index bf36c8a072..0000000000 --- a/docs/how-to-write-a-userstyle.md +++ /dev/null @@ -1,245 +0,0 @@ -

-

๐Ÿ“– How to write a userstyle

-

- -

- Beginner-friendly guide for creating a userstyle! -

- -  - -### Table of Contents - - - -- [Prerequisites](#prerequisites) -- [Usercss Metadata](#usercss-metadata) -- [`@-moz-document`](#-moz-document) -- [Applying the theme](#applying-the-theme) -- [The `#catppuccin` mixin](#the-catppuccin-mixin) -- [Putting it all together](#putting-it-all-together) - - - -### Prerequisites - -- [Stylus](https://github.com/openstyles/stylus) ([Firefox](https://addons.mozilla.org/en-GB/firefox/addon/styl-us/) / [Chrome](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne) - extension). -- A website to theme! - -Assuming you have completed steps 1-4 of [Creating Userstyles](./userstyle-creation.md#creating-userstyles), you should have a new `catppuccin.user.css` file under the `styles//` directory. Follow along in that `catppuccin.user.css` file as we write an example userstyle for [example.org](http://example.org/). - -### Usercss Metadata - -Start by filling out the "metadata block" at the very top of the template. Replace `` with the name of the website you are porting, and please ensure it is capitalized when needed. For `example.org`, it looks like this: - -```less -/* ==UserStyle== -@name example.org Catppuccin -@namespace github.com/catppuccin/userstyles/styles/example.org -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/example.org -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/example.org/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aexample.org -@description Soothing pastel theme for example.org -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire*", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ -``` - -The rest of the metadata block details the preprocessor and the options of the userstyle. This won't need to be changed. For more information, see ["Usercss Metadata" - Stylus Wiki](https://github.com/openstyles/stylus/wiki/Writing-UserCSS#usercss-metadata). - -### `@-moz-document` - -To tell Stylus which website(s) to apply this userstyle on, replace `` with the domain of your port. For `example.org`, it looks like this: - -```less -@-moz-document domain('example.org') { -``` - -> [!NOTE] -> While `domain()` works for most cases, you may need to use [`regexp()`](https://github.com/openstyles/stylus/wiki/Writing-styles#regexp) for websites with more complex URLs. For example: -> -> ```less -> @-moz-document regexp('http://example.(com|net|org|edu)/') { -> ``` - -### Applying the theme - -This section of the template is about applying the user's light/dark flavors. Read the comments for this section in the template thoroughly and decide which of the two options works best for your port. `example.org` doesn't have a light/dark mode toggle, so we'll apply it based on the user's preferences. - - -```less -@media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } -} -@media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } -} -``` - -> [!TIP] -> If `example.org` _did_ use a toggle for changing the theme, we suggest using inspect element to try to observe what changes occur when the toggle is adjusted. Typically websites will have a class or attribute on the root `` element. Some examples from our userstyles include `[theme="dark"]`, `.dark`, `.theme-dark`, etc. - -### The `#catppuccin` mixin - -> [!TIP] -> For more on how Less mixins work, see ["Mixins" - lesscss.org](https://lesscss.org/features/#mixins-feature) and ["A Comprehensive Introduction to Less: Mixins" - SitePoint](https://www.sitepoint.com/a-comprehensive-introduction-to-less-mixins/). - -We'll refer to this next section of the template as the "`#catppuccin` mixin". You can ignore the first half of this section with all of the `@: @catppuccin[@@lookup][@];` lines and skip to the comment where it says `// Start styling your website here:`. As the comment suggests, you will write the CSS rules for your port here. Here is what it looks like for our `example.org` port: - - -```less -#catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - /* ... */ - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - - & > div { - color: @text; - background-color: @surface0; - } - } - - a:link, - a:visited { - color: @accent-color; - } - - /* ... */ -} -``` - -### Putting it all together - -Combining all of the previous steps, we have a working userstyle! - -```less -/* ==UserStyle== -@name example.org Catppuccin -@namespace github.com/catppuccin/userstyles/styles/example.org -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/example.org -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/example.org/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aexample.org -@description Soothing pastel theme for example.org -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire*", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('example.org') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - - & > div { - color: @text; - background-color: @surface0; - } - } - - a:link, - a:visited { - color: @accent-color; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less -``` - -| Original | Themed | -| --------------------------------------- | ------------------------------------- | -| ![](./images/example.org-original.webp) | ![](./images/example.org-themed.webp) | - -Complete the rest of the steps in [Creating Userstyles](./userstyle-creation.md#creating-userstyles), and then submit your PR! diff --git a/docs/images/example.org-original.webp b/docs/images/example.org-original.webp deleted file mode 100644 index 4e5da1dae2..0000000000 --- a/docs/images/example.org-original.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f626928a690117a820725b74368dd486d499ca089d32791bcfa0cca77f7bd08a -size 45802 diff --git a/docs/images/example.org-themed.webp b/docs/images/example.org-themed.webp deleted file mode 100644 index d678f6ff89..0000000000 --- a/docs/images/example.org-themed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3f5f77546969b6201f6ae9fd225356aa2fd62953e22c264ddf90b1bd944a830 -size 82836 diff --git a/docs/images/write-new-style-with-usercss.webp b/docs/images/write-new-style-with-usercss.webp deleted file mode 100644 index ed3fefb02b..0000000000 --- a/docs/images/write-new-style-with-usercss.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0d7294023bf1b55eb3471c32295538a0582c671bea1d2ec6bf4063e0a29bc33 -size 4742 diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000000..e982e77052 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,28 @@ +{ + "name": "docs", + "private": true, + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/starlight": "^0.35.2", + "@catppuccin/starlight": "^1.0.2", + "astro": "^5.6.1", + "astro-mermaid": "^1.0.4", + "astro-remote": "^0.3.4", + "mermaid": "^11.10.1", + "remark-custom-heading-id": "^2.0.0", + "sharp": "^0.34.2", + "starlight-auto-sidebar": "^0.2.0", + "starlight-github-alerts": "^0.1.0", + "starlight-image-zoom": "^0.13.0", + "starlight-links-validator": "^0.18.0", + "yaml": "^2.8.1" + } +} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 0000000000..5491195d2b --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,5575 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@astrojs/starlight': + specifier: ^0.35.2 + version: 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + '@catppuccin/starlight': + specifier: ^1.0.2 + version: 1.1.1(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)))(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + astro: + specifier: ^5.6.1 + version: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + astro-mermaid: + specifier: ^1.0.4 + version: 1.0.4(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))(mermaid@11.10.1) + astro-remote: + specifier: ^0.3.4 + version: 0.3.4 + mermaid: + specifier: ^11.10.1 + version: 11.10.1 + remark-custom-heading-id: + specifier: ^2.0.0 + version: 2.0.0 + sharp: + specifier: ^0.34.2 + version: 0.34.3 + starlight-auto-sidebar: + specifier: ^0.2.0 + version: 0.2.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))) + starlight-github-alerts: + specifier: ^0.1.0 + version: 0.1.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))) + starlight-image-zoom: + specifier: ^0.13.0 + version: 0.13.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))) + starlight-links-validator: + specifier: ^0.18.0 + version: 0.18.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))) + yaml: + specifier: ^2.8.1 + version: 2.8.1 + +packages: + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + + '@astrojs/compiler@2.12.2': + resolution: {integrity: sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw==} + + '@astrojs/internal-helpers@0.7.2': + resolution: {integrity: sha512-KCkCqR3Goym79soqEtbtLzJfqhTWMyVaizUi35FLzgGSzBotSw8DB1qwsu7U96ihOJgYhDk2nVPz+3LnXPeX6g==} + + '@astrojs/markdown-remark@6.3.6': + resolution: {integrity: sha512-bwylYktCTsLMVoCOEHbn2GSUA3c5KT/qilekBKA3CBng0bo1TYjNZPr761vxumRk9kJGqTOtU+fgCAp5Vwokug==} + + '@astrojs/mdx@4.3.4': + resolution: {integrity: sha512-Ew3iP+6zuzzJWNEH5Qr1iknrue1heEfgmfuMpuwLaSwqlUiJQ0NDb2oxKosgWU1ROYmVf1H4KCmS6QdMWKyFjw==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + peerDependencies: + astro: ^5.0.0 + + '@astrojs/prism@3.3.0': + resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + + '@astrojs/sitemap@3.5.1': + resolution: {integrity: sha512-uX5z52GLtQTgOe8r3jeGmFRYrFe52mdpLYJzqjvL1cdy5Kg3MLOZEvaZ/OCH0fSq0t7e50uJQ6oBMZG0ffszBg==} + + '@astrojs/starlight@0.35.2': + resolution: {integrity: sha512-curGghoW4s5pCbW2tINsJPoxEYPan87ptCOv7GZ+S24N3J6AyaOu/OsjZDEMaIpo3ZlObM5DQn+w7iXl3drDhQ==} + peerDependencies: + astro: ^5.5.0 + + '@astrojs/telemetry@3.3.0': + resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/runtime@7.28.3': + resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + + '@braintree/sanitize-url@7.1.1': + resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} + + '@capsizecss/unpack@2.4.0': + resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==} + + '@catppuccin/starlight@1.1.1': + resolution: {integrity: sha512-iyI/gdGfqREetGti3O11l7iMLCmt0LRSbIis8ySlZo8hqb749KyMmisO/9kqBvk2oFKw9hGNDbutcNxKSI2spg==} + peerDependencies: + '@astrojs/starlight': '>=0.34' + astro: ^5.0.0 + + '@chevrotain/cst-dts-gen@11.0.3': + resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} + + '@chevrotain/gast@11.0.3': + resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} + + '@chevrotain/regexp-to-ast@11.0.3': + resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} + + '@chevrotain/types@11.0.3': + resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} + + '@chevrotain/utils@11.0.3': + resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + + '@ctrl/tinycolor@4.1.0': + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + engines: {node: '>=14'} + + '@emnapi/runtime@1.5.0': + resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@expressive-code/core@0.41.3': + resolution: {integrity: sha512-9qzohqU7O0+JwMEEgQhnBPOw5DtsQRBXhW++5fvEywsuX44vCGGof1SL5OvPElvNgaWZ4pFZAFSlkNOkGyLwSQ==} + + '@expressive-code/plugin-frames@0.41.3': + resolution: {integrity: sha512-rFQtmf/3N2CK3Cq/uERweMTYZnBu+CwxBdHuOftEmfA9iBE7gTVvwpbh82P9ZxkPLvc40UMhYt7uNuAZexycRQ==} + + '@expressive-code/plugin-shiki@0.41.3': + resolution: {integrity: sha512-RlTARoopzhFJIOVHLGvuXJ8DCEme/hjV+ZnRJBIxzxsKVpGPW4Oshqg9xGhWTYdHstTsxO663s0cdBLzZj9TQA==} + + '@expressive-code/plugin-text-markers@0.41.3': + resolution: {integrity: sha512-SN8tkIzDpA0HLAscEYD2IVrfLiid6qEdE9QLlGVSxO1KEw7qYvjpbNBQjUjMr5/jvTJ7ys6zysU2vLPHE0sb2g==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-arm64@0.34.3': + resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-darwin-x64@0.34.3': + resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.2.0': + resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.2.0': + resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm64@1.2.0': + resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.2.0': + resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.2.0': + resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.2.0': + resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.2.0': + resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.2.0': + resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm64@0.34.3': + resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.34.3': + resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.34.3': + resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.34.3': + resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.34.3': + resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-arm64@0.34.3': + resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.34.3': + resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-wasm32@0.34.3': + resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.34.3': + resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-ia32@0.34.3': + resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@img/sharp-win32-x64@0.34.3': + resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + + '@mermaid-js/parser@0.6.2': + resolution: {integrity: sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==} + + '@oslojs/encoding@1.1.0': + resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + + '@pagefind/darwin-arm64@1.3.0': + resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==} + cpu: [arm64] + os: [darwin] + + '@pagefind/darwin-x64@1.3.0': + resolution: {integrity: sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==} + cpu: [x64] + os: [darwin] + + '@pagefind/default-ui@1.3.0': + resolution: {integrity: sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==} + + '@pagefind/linux-arm64@1.3.0': + resolution: {integrity: sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==} + cpu: [arm64] + os: [linux] + + '@pagefind/linux-x64@1.3.0': + resolution: {integrity: sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==} + cpu: [x64] + os: [linux] + + '@pagefind/windows-x64@1.3.0': + resolution: {integrity: sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==} + cpu: [x64] + os: [win32] + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.50.1': + resolution: {integrity: sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.50.1': + resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.50.1': + resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.50.1': + resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.50.1': + resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.50.1': + resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.50.1': + resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.50.1': + resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.50.1': + resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-gnu@4.50.1': + resolution: {integrity: sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.50.1': + resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.50.1': + resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.50.1': + resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.50.1': + resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.50.1': + resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openharmony-arm64@4.50.1': + resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.50.1': + resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.50.1': + resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.50.1': + resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==} + cpu: [x64] + os: [win32] + + '@shikijs/core@3.12.2': + resolution: {integrity: sha512-L1Safnhra3tX/oJK5kYHaWmLEBJi1irASwewzY3taX5ibyXyMkkSDZlq01qigjryOBwrXSdFgTiZ3ryzSNeu7Q==} + + '@shikijs/engine-javascript@3.12.2': + resolution: {integrity: sha512-Nm3/azSsaVS7hk6EwtHEnTythjQfwvrO5tKqMlaH9TwG1P+PNaR8M0EAKZ+GaH2DFwvcr4iSfTveyxMIvXEHMw==} + + '@shikijs/engine-oniguruma@3.12.2': + resolution: {integrity: sha512-hozwnFHsLvujK4/CPVHNo3Bcg2EsnG8krI/ZQ2FlBlCRpPZW4XAEQmEwqegJsypsTAN9ehu2tEYe30lYKSZW/w==} + + '@shikijs/langs@3.12.2': + resolution: {integrity: sha512-bVx5PfuZHDSHoBal+KzJZGheFuyH4qwwcwG/n+MsWno5cTlKmaNtTsGzJpHYQ8YPbB5BdEdKU1rga5/6JGY8ww==} + + '@shikijs/themes@3.12.2': + resolution: {integrity: sha512-fTR3QAgnwYpfGczpIbzPjlRnxyONJOerguQv1iwpyQZ9QXX4qy/XFQqXlf17XTsorxnHoJGbH/LXBvwtqDsF5A==} + + '@shikijs/types@3.12.2': + resolution: {integrity: sha512-K5UIBzxCyv0YoxN3LMrKB9zuhp1bV+LgewxuVwHdl4Gz5oePoUFrr9EfgJlGlDeXCU1b/yhdnXeuRvAnz8HN8Q==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.7': + resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/fontkit@2.0.8': + resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==} + + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@24.3.1': + resolution: {integrity: sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==} + + '@types/picomatch@3.0.2': + resolution: {integrity: sha512-n0i8TD3UDB7paoMMxA3Y65vUncFJXjcUf7lQY7YyKGl6031FNjfsLs6pdLFCy2GNFxItPJG8GvvpbZc2skH7WA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@7.1.0: + resolution: {integrity: sha512-YdhtCd19sKRKfAAUsrcC1wzm4JuzJoiX4pOJqIoW2qmKj5WzG/dL8uUJ0361zaXtHqK7gEhOwtAtz7t3Yq3X5g==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + astro-expressive-code@0.41.3: + resolution: {integrity: sha512-u+zHMqo/QNLE2eqYRCrK3+XMlKakv33Bzuz+56V1gs8H0y6TZ0hIi3VNbIxeTn51NLn+mJfUV/A0kMNfE4rANw==} + peerDependencies: + astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 + + astro-mermaid@1.0.4: + resolution: {integrity: sha512-2M4bVjqLpDB2EZ4EfD6Utzs7VEEORmlt5hNZcMK54IcKWzflohKvowCzg79RHoAdu30W8a4aECAExH8mF7wG4w==} + peerDependencies: + astro: ^4.0.0 || ^5.0.0 + mermaid: ^10.0.0 || ^11.0.0 + + astro-remote@0.3.4: + resolution: {integrity: sha512-jL5skNQLA0YBc1R3bVGXyHew3FqGqsT7AgLzWAVeTLzFkwVMUYvs4/lKJSmS7ygcF1GnHnoKG6++8GL9VtWwGQ==} + engines: {node: '>=18.14.1'} + + astro@5.13.6: + resolution: {integrity: sha512-chy1J+AO3d4lui4MjUyqusiW1jilfkviCBDz+c2MoXxhIImF96GqoliX+79fGy6KMsnMh5lUn+qwy3yUBJqZqg==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} + hasBin: true + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + + bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + + blob-to-buffer@1.2.9: + resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@8.0.1: + resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} + engines: {node: '>=18'} + + brotli@1.3.3: + resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} + + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chevrotain-allstar@0.3.1: + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 + + chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + ci-info@4.3.0: + resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} + engines: {node: '>=8'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + crossws@0.3.5: + resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + + css-selector-parser@3.1.3: + resolution: {integrity: sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==} + + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.33.1: + resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.11: + resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} + + dayjs@1.11.18: + resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + + devalue@5.3.2: + resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dfa@1.2.0: + resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dompurify@3.2.6: + resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} + + dset@3.1.4: + resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} + engines: {node: '>=4'} + + emoji-regex@10.5.0: + resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + expressive-code@0.41.3: + resolution: {integrity: sha512-YLnD62jfgBZYrXIPQcJ0a51Afv9h8VlWqEGK9uU2T5nL/5rb8SnA86+7+mgCZe5D34Tff5RNEA5hjNVJYHzrFg==} + + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + flattie@1.1.1: + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} + engines: {node: '>=8'} + + fontace@0.3.0: + resolution: {integrity: sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==} + + fontkit@2.0.4: + resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + get-east-asian-width@1.3.1: + resolution: {integrity: sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==} + engines: {node: '>=18'} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + h3@1.15.4: + resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} + + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + + has-flag@5.0.1: + resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==} + engines: {node: '>=12'} + + hast-util-embedded@3.0.0: + resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} + + hast-util-format@1.1.0: + resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==} + + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-is-body-ok-link@3.0.1: + resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-minify-whitespace@1.0.1: + resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-phrasing@3.0.1: + resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-select@6.0.4: + resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-whitespace-sensitive-tag-names@3.0.1: + resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + i18next@23.16.8: + resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + katex@0.16.22: + resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} + hasBin: true + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + langium@3.3.1: + resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} + engines: {node: '>=16.0.0'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + marked-footnote@1.4.0: + resolution: {integrity: sha512-fZTxAhI1TcLEs5UOjCfYfTHpyKGaWQevbxaGTEA68B51l7i87SctPFtHETYqPkEN0ka5opvy4Dy1l/yXVC+hmg==} + peerDependencies: + marked: '>=7.0.0' + + marked-smartypants@1.1.10: + resolution: {integrity: sha512-XGK59M2nhy3Jpa0kdWSXQuKn908VkKbqK1IqF8Rk5QV619OWBs2/rkcg/PVhpKkADlRKJSYe6XqDMZMkZywT4g==} + peerDependencies: + marked: '>=4 <17' + + marked@12.0.2: + resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + engines: {node: '>= 18'} + hasBin: true + + marked@16.2.1: + resolution: {integrity: sha512-r3UrXED9lMlHF97jJByry90cwrZBBvZmjG1L68oYfuPMW+uDTnuMbyJDymCWwbTE+f+3LhpNDKfpR3a3saFyjA==} + engines: {node: '>= 20'} + hasBin: true + + mdast-heading-id@2.0.0: + resolution: {integrity: sha512-JVh0xKqsI3INPzJEqqCiuq3BGde5x6AlBTQAetLQQr9qTiDjX4dCvFhIiGmyPt1rftiHELQPI5obGphIOTXeWQ==} + + mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + + mermaid@11.10.1: + resolution: {integrity: sha512-0PdeADVWURz7VMAX0+MiMcgfxFKY4aweSGsjgFihe3XlMKNqmai/cugMrqTd3WNHM93V+K+AZL6Wu6tB5HmxRw==} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-heading-id@2.0.0: + resolution: {integrity: sha512-TdR5WCmwuCroK8QrfX0/4w9bjj3ayN0GzatxGV/lWQKmM75kNKVZEmdvKZS4MOskARxWXu1WHdIJjMSVMBegow==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} + + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-mock-http@1.0.3: + resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + + oniguruma-to-es@4.3.3: + resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} + + p-limit@6.2.0: + resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} + engines: {node: '>=18'} + + p-queue@8.1.1: + resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} + engines: {node: '>=18'} + + p-timeout@6.1.4: + resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} + engines: {node: '>=14.16'} + + package-manager-detector@1.3.0: + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + + pagefind@1.3.0: + resolution: {integrity: sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==} + hasBin: true + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + + rehype-expressive-code@0.41.3: + resolution: {integrity: sha512-8d9Py4c/V6I/Od2VIXFAdpiO2kc0SV2qTJsRAaqSIcM9aruW4ASLNe2kOEo1inXAAkIhpFzAHTc358HKbvpNUg==} + + rehype-format@5.0.1: + resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==} + + rehype-parse@9.0.1: + resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + rehype-stringify@10.0.1: + resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} + + rehype@13.0.2: + resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} + + remark-custom-heading-id@2.0.0: + resolution: {integrity: sha512-LpR+c4pmuBGG/zhNbebecDnpKyXU4B7bdNu6tXW83T3QWlkwUpHYyUR8uXQ/BERK9HlI5pXGLu7DjkIS07/iVQ==} + + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + restructure@3.0.2: + resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} + + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} + + retext-smartypants@6.2.0: + resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} + + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + + rollup@4.50.1: + resolution: {integrity: sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + sharp@0.34.3: + resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shiki@3.12.2: + resolution: {integrity: sha512-uIrKI+f9IPz1zDT+GMz+0RjzKJiijVr6WDWm9Pe3NNY6QigKCfifCEv9v9R2mDASKKjzjQ2QpFLcxaR3iHSnMA==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@8.0.0: + resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + deprecated: 'SECURITY: Multiple vulnerabilities fixed in 8.0.1 (XML injection, path traversal, command injection, protocol injection). Upgrade immediately: npm install sitemap@8.0.1' + hasBin: true + + smartypants@0.2.2: + resolution: {integrity: sha512-TzobUYoEft/xBtb2voRPryAUIvYguG0V7Tt3de79I1WfXgCwelqVsGuZSnu3GFGRZhXR90AeEYIM+icuB/S06Q==} + hasBin: true + + smol-toml@1.4.2: + resolution: {integrity: sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==} + engines: {node: '>= 18'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + starlight-auto-sidebar@0.2.0: + resolution: {integrity: sha512-iHPAhwnkdkFM84QajJvjKo0twNLg9fU+HrVCxs0QgWAQdYLK9bhM1SxyVPV3O+YBo111mBHryzDA1ChHWUxD1w==} + engines: {node: '>=22.12.0'} + peerDependencies: + '@astrojs/starlight': '>=0.38.0' + + starlight-github-alerts@0.1.0: + resolution: {integrity: sha512-mz+btaGen5ByF1BRCMHnqkzSGXsHfvXfiPGGB9BgeczKUvbDR1PAciLYam0gN0JbZYwZSzmhJzgvcHG6gt4f/Q==} + engines: {node: '>=18.17.1'} + peerDependencies: + '@astrojs/starlight': '>=0.35.0' + + starlight-image-zoom@0.13.0: + resolution: {integrity: sha512-7K/7gshnKooYd4ePy5vtyv1jFoFVNUb8IoXWDcnY69+nxvmLATNrmOzD2M4TJ/aKynPSBSM6j9ia4s/PPy/JGA==} + engines: {node: '>=18'} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + + starlight-links-validator@0.18.0: + resolution: {integrity: sha512-R0gLdrKWdpAEqux3DL2B3QvNJM8Zpys8CQu1BGLD9hc+66nt/Q6aJDkvvkvoCVky9JKmBEnmL4PhFkyz13lK5g==} + engines: {node: '>=18.17.1'} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + + stream-replace-string@2.0.0: + resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + + supports-hyperlinks@4.2.0: + resolution: {integrity: sha512-FWXryrXrsYX2vlTD9WdfgOeN7a2EbuS3MiMaDkFibR0B6IxelCNbFgUJEGLn3eSn+9HX7RuM0ig6Lzr8lccxUA==} + engines: {node: '>=20'} + + terminal-link@5.0.0: + resolution: {integrity: sha512-qFAy10MTMwjzjU8U16YS4YoZD+NQLHzLssFMNqgravjbvIPNiqkGFR4yjhJfmY9R5OFU7+yHxc6y+uGHkKwLRA==} + engines: {node: '>=20'} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + + ultrahtml@1.6.0: + resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + + unicode-properties@1.4.1: + resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unifont@0.5.2: + resolution: {integrity: sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + unstorage@1.17.1: + resolution: {integrity: sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + hasBin: true + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@6.3.6: + resolution: {integrity: sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitefu@1.1.1: + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 + peerDependenciesMeta: + vite: + optional: true + + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} + + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + + xxhash-wasm@1.1.0: + resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} + + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + + yocto-spinner@0.2.3: + resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} + engines: {node: '>=18.19'} + + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} + peerDependencies: + zod: ^3.24.1 + + zod-to-ts@1.2.0: + resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} + peerDependencies: + typescript: ^4.9.4 || ^5.0.2 + zod: ^3 + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + + '@antfu/utils@8.1.1': {} + + '@astrojs/compiler@2.12.2': {} + + '@astrojs/internal-helpers@0.7.2': {} + + '@astrojs/markdown-remark@6.3.6': + dependencies: + '@astrojs/internal-helpers': 0.7.2 + '@astrojs/prism': 3.3.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.3 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.1 + remark-gfm: 4.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + remark-smartypants: 3.0.2 + shiki: 3.12.2 + smol-toml: 1.4.2 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/mdx@4.3.4(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))': + dependencies: + '@astrojs/markdown-remark': 6.3.6 + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + acorn: 8.15.0 + astro: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + es-module-lexer: 1.7.0 + estree-util-visit: 2.0.0 + hast-util-to-html: 9.0.5 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.1 + remark-smartypants: 3.0.2 + source-map: 0.7.6 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/prism@3.3.0': + dependencies: + prismjs: 1.30.0 + + '@astrojs/sitemap@3.5.1': + dependencies: + sitemap: 8.0.0 + stream-replace-string: 2.0.0 + zod: 3.25.76 + + '@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))': + dependencies: + '@astrojs/markdown-remark': 6.3.6 + '@astrojs/mdx': 4.3.4(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + '@astrojs/sitemap': 3.5.1 + '@pagefind/default-ui': 1.3.0 + '@types/hast': 3.0.4 + '@types/js-yaml': 4.0.9 + '@types/mdast': 4.0.4 + astro: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + astro-expressive-code: 0.41.3(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + bcp-47: 2.1.0 + hast-util-from-html: 2.0.3 + hast-util-select: 6.0.4 + hast-util-to-string: 3.0.1 + hastscript: 9.0.1 + i18next: 23.16.8 + js-yaml: 4.1.0 + klona: 2.0.6 + mdast-util-directive: 3.1.0 + mdast-util-to-markdown: 2.1.2 + mdast-util-to-string: 4.0.0 + pagefind: 1.3.0 + rehype: 13.0.2 + rehype-format: 5.0.1 + remark-directive: 3.0.1 + ultrahtml: 1.6.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/telemetry@3.3.0': + dependencies: + ci-info: 4.3.0 + debug: 4.4.1 + dlv: 1.1.3 + dset: 3.1.4 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + + '@babel/runtime@7.28.3': {} + + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@braintree/sanitize-url@7.1.1': {} + + '@capsizecss/unpack@2.4.0': + dependencies: + blob-to-buffer: 1.2.9 + cross-fetch: 3.2.0 + fontkit: 2.0.4 + transitivePeerDependencies: + - encoding + + '@catppuccin/starlight@1.1.1(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)))(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))': + dependencies: + '@astrojs/starlight': 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + astro: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + + '@chevrotain/cst-dts-gen@11.0.3': + dependencies: + '@chevrotain/gast': 11.0.3 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/gast@11.0.3': + dependencies: + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/regexp-to-ast@11.0.3': {} + + '@chevrotain/types@11.0.3': {} + + '@chevrotain/utils@11.0.3': {} + + '@ctrl/tinycolor@4.1.0': {} + + '@emnapi/runtime@1.5.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.25.9': + optional: true + + '@esbuild/android-arm64@0.25.9': + optional: true + + '@esbuild/android-arm@0.25.9': + optional: true + + '@esbuild/android-x64@0.25.9': + optional: true + + '@esbuild/darwin-arm64@0.25.9': + optional: true + + '@esbuild/darwin-x64@0.25.9': + optional: true + + '@esbuild/freebsd-arm64@0.25.9': + optional: true + + '@esbuild/freebsd-x64@0.25.9': + optional: true + + '@esbuild/linux-arm64@0.25.9': + optional: true + + '@esbuild/linux-arm@0.25.9': + optional: true + + '@esbuild/linux-ia32@0.25.9': + optional: true + + '@esbuild/linux-loong64@0.25.9': + optional: true + + '@esbuild/linux-mips64el@0.25.9': + optional: true + + '@esbuild/linux-ppc64@0.25.9': + optional: true + + '@esbuild/linux-riscv64@0.25.9': + optional: true + + '@esbuild/linux-s390x@0.25.9': + optional: true + + '@esbuild/linux-x64@0.25.9': + optional: true + + '@esbuild/netbsd-arm64@0.25.9': + optional: true + + '@esbuild/netbsd-x64@0.25.9': + optional: true + + '@esbuild/openbsd-arm64@0.25.9': + optional: true + + '@esbuild/openbsd-x64@0.25.9': + optional: true + + '@esbuild/openharmony-arm64@0.25.9': + optional: true + + '@esbuild/sunos-x64@0.25.9': + optional: true + + '@esbuild/win32-arm64@0.25.9': + optional: true + + '@esbuild/win32-ia32@0.25.9': + optional: true + + '@esbuild/win32-x64@0.25.9': + optional: true + + '@expressive-code/core@0.41.3': + dependencies: + '@ctrl/tinycolor': 4.1.0 + hast-util-select: 6.0.4 + hast-util-to-html: 9.0.5 + hast-util-to-text: 4.0.2 + hastscript: 9.0.1 + postcss: 8.5.6 + postcss-nested: 6.2.0(postcss@8.5.6) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + + '@expressive-code/plugin-frames@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + + '@expressive-code/plugin-shiki@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + shiki: 3.12.2 + + '@expressive-code/plugin-text-markers@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.1 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.2 + mlly: 1.8.0 + transitivePeerDependencies: + - supports-color + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.0 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.0 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.0': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.2.0': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.2.0': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-arm@1.2.0': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.2.0': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-s390x@1.2.0': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.2.0': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.2.0': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.0 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-arm@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.0 + optional: true + + '@img/sharp-linux-ppc64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.0 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-s390x@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.0 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.0 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.34.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.5.0 + optional: true + + '@img/sharp-wasm32@0.34.3': + dependencies: + '@emnapi/runtime': 1.5.0 + optional: true + + '@img/sharp-win32-arm64@0.34.3': + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-ia32@0.34.3': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.34.3': + optional: true + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - acorn + - supports-color + + '@mermaid-js/parser@0.6.2': + dependencies: + langium: 3.3.1 + + '@oslojs/encoding@1.1.0': {} + + '@pagefind/darwin-arm64@1.3.0': + optional: true + + '@pagefind/darwin-x64@1.3.0': + optional: true + + '@pagefind/default-ui@1.3.0': {} + + '@pagefind/linux-arm64@1.3.0': + optional: true + + '@pagefind/linux-x64@1.3.0': + optional: true + + '@pagefind/windows-x64@1.3.0': + optional: true + + '@rollup/pluginutils@5.3.0(rollup@4.50.1)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.50.1 + + '@rollup/rollup-android-arm-eabi@4.50.1': + optional: true + + '@rollup/rollup-android-arm64@4.50.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.50.1': + optional: true + + '@rollup/rollup-darwin-x64@4.50.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.50.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.50.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.50.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.50.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.50.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.50.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.50.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.50.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.50.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.50.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.50.1': + optional: true + + '@shikijs/core@3.12.2': + dependencies: + '@shikijs/types': 3.12.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@3.12.2': + dependencies: + '@shikijs/types': 3.12.2 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.3 + + '@shikijs/engine-oniguruma@3.12.2': + dependencies: + '@shikijs/types': 3.12.2 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.12.2': + dependencies: + '@shikijs/types': 3.12.2 + + '@shikijs/themes@3.12.2': + dependencies: + '@shikijs/types': 3.12.2 + + '@shikijs/types@3.12.2': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + + '@types/d3-array@3.2.1': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.1 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.3': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.7': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.1 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.7 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + + '@types/estree@1.0.8': {} + + '@types/fontkit@2.0.8': + dependencies: + '@types/node': 24.3.1 + + '@types/geojson@7946.0.16': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/js-yaml@4.0.9': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/ms@2.1.0': {} + + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.3 + + '@types/node@17.0.45': {} + + '@types/node@24.3.1': + dependencies: + undici-types: 7.10.0 + + '@types/picomatch@3.0.2': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@ungap/structured-clone@1.3.0': {} + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@7.1.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@6.2.3: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + aria-query@5.3.2: {} + + array-iterate@2.0.1: {} + + astring@1.9.0: {} + + astro-expressive-code@0.41.3(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)): + dependencies: + astro: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + rehype-expressive-code: 0.41.3 + + astro-mermaid@1.0.4(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))(mermaid@11.10.1): + dependencies: + astro: 5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1) + mdast-util-to-string: 4.0.0 + mermaid: 11.10.1 + unist-util-visit: 5.0.0 + + astro-remote@0.3.4: + dependencies: + entities: 4.5.0 + marked: 12.0.2 + marked-footnote: 1.4.0(marked@12.0.2) + marked-smartypants: 1.1.10(marked@12.0.2) + ultrahtml: 1.6.0 + + astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1): + dependencies: + '@astrojs/compiler': 2.12.2 + '@astrojs/internal-helpers': 0.7.2 + '@astrojs/markdown-remark': 6.3.6 + '@astrojs/telemetry': 3.3.0 + '@capsizecss/unpack': 2.4.0 + '@oslojs/encoding': 1.1.0 + '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + acorn: 8.15.0 + aria-query: 5.3.2 + axobject-query: 4.1.0 + boxen: 8.0.1 + ci-info: 4.3.0 + clsx: 2.1.1 + common-ancestor-path: 1.0.1 + cookie: 1.0.2 + cssesc: 3.0.0 + debug: 4.4.1 + deterministic-object-hash: 2.0.2 + devalue: 5.3.2 + diff: 5.2.0 + dlv: 1.1.3 + dset: 3.1.4 + es-module-lexer: 1.7.0 + esbuild: 0.25.9 + estree-walker: 3.0.3 + flattie: 1.1.1 + fontace: 0.3.0 + github-slugger: 2.0.0 + html-escaper: 3.0.3 + http-cache-semantics: 4.2.0 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.19 + magicast: 0.3.5 + mrmime: 2.0.1 + neotraverse: 0.6.18 + p-limit: 6.2.0 + p-queue: 8.1.1 + package-manager-detector: 1.3.0 + picomatch: 4.0.3 + prompts: 2.4.2 + rehype: 13.0.2 + semver: 7.7.2 + shiki: 3.12.2 + simple-swizzle: 0.2.2 + smol-toml: 1.4.2 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tsconfck: 3.1.6(typescript@5.9.2) + ultrahtml: 1.6.0 + unifont: 0.5.2 + unist-util-visit: 5.0.0 + unstorage: 1.17.1 + vfile: 6.0.3 + vite: 6.3.6(@types/node@24.3.1)(yaml@2.8.1) + vitefu: 1.1.1(vite@6.3.6(@types/node@24.3.1)(yaml@2.8.1)) + xxhash-wasm: 1.1.0 + yargs-parser: 21.1.1 + yocto-spinner: 0.2.3 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76) + optionalDependencies: + sharp: 0.33.5 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@types/node' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - encoding + - idb-keyval + - ioredis + - jiti + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - uploadthing + - yaml + + axobject-query@4.1.0: {} + + bail@2.0.2: {} + + base-64@1.0.0: {} + + base64-js@1.5.1: {} + + bcp-47-match@2.0.3: {} + + bcp-47@2.1.0: + dependencies: + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + + blob-to-buffer@1.2.9: {} + + boolbase@1.0.0: {} + + boxen@8.0.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 8.0.0 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.2 + + brotli@1.3.3: + dependencies: + base64-js: 1.5.1 + + camelcase@8.0.0: {} + + ccount@2.0.1: {} + + chalk@5.6.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chevrotain-allstar@0.3.1(chevrotain@11.0.3): + dependencies: + chevrotain: 11.0.3 + lodash-es: 4.17.21 + + chevrotain@11.0.3: + dependencies: + '@chevrotain/cst-dts-gen': 11.0.3 + '@chevrotain/gast': 11.0.3 + '@chevrotain/regexp-to-ast': 11.0.3 + '@chevrotain/types': 11.0.3 + '@chevrotain/utils': 11.0.3 + lodash-es: 4.17.21 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + ci-info@4.3.0: {} + + cli-boxes@3.0.0: {} + + clone@2.1.2: {} + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + comma-separated-tokens@2.0.3: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-ancestor-path@1.0.1: {} + + confbox@0.1.8: {} + + confbox@0.2.2: {} + + cookie-es@1.2.2: {} + + cookie@1.0.2: {} + + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + crossws@0.3.5: + dependencies: + uncrypto: 0.1.3 + + css-selector-parser@3.1.3: {} + + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + + cssesc@3.0.0: {} + + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.1 + + cytoscape-fcose@2.2.0(cytoscape@3.33.1): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.1 + + cytoscape@3.33.1: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.0: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.11: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.21 + + dayjs@1.11.18: {} + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.2.0: + dependencies: + character-entities: 2.0.2 + + defu@6.1.4: {} + + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 + + dequal@2.0.3: {} + + destr@2.0.5: {} + + detect-libc@2.0.4: {} + + deterministic-object-hash@2.0.2: + dependencies: + base-64: 1.0.0 + + devalue@5.3.2: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dfa@1.2.0: {} + + diff@5.2.0: {} + + direction@2.0.1: {} + + dlv@1.1.3: {} + + dompurify@3.2.6: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + dset@3.1.4: {} + + emoji-regex@10.5.0: {} + + emoji-regex@8.0.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + environment@1.1.0: {} + + es-module-lexer@1.7.0: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + + esbuild@0.25.9: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 + + escape-string-regexp@5.0.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + eventemitter3@5.0.1: {} + + expressive-code@0.41.3: + dependencies: + '@expressive-code/core': 0.41.3 + '@expressive-code/plugin-frames': 0.41.3 + '@expressive-code/plugin-shiki': 0.41.3 + '@expressive-code/plugin-text-markers': 0.41.3 + + exsolve@1.0.7: {} + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + flattie@1.1.1: {} + + fontace@0.3.0: + dependencies: + '@types/fontkit': 2.0.8 + fontkit: 2.0.4 + + fontkit@2.0.4: + dependencies: + '@swc/helpers': 0.5.17 + brotli: 1.3.3 + clone: 2.1.2 + dfa: 1.2.0 + fast-deep-equal: 3.1.3 + restructure: 3.0.2 + tiny-inflate: 1.0.3 + unicode-properties: 1.4.1 + unicode-trie: 2.0.0 + + fsevents@2.3.3: + optional: true + + get-east-asian-width@1.3.1: {} + + github-slugger@2.0.0: {} + + globals@15.15.0: {} + + h3@1.15.4: + dependencies: + cookie-es: 1.2.2 + crossws: 0.3.5 + defu: 6.1.4 + destr: 2.0.5 + iron-webcrypto: 1.2.1 + node-mock-http: 1.0.3 + radix3: 1.1.2 + ufo: 1.6.1 + uncrypto: 0.1.3 + + hachure-fill@0.5.2: {} + + has-flag@5.0.1: {} + + hast-util-embedded@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 + + hast-util-format@1.1.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-minify-whitespace: 1.0.1 + hast-util-phrasing: 3.0.1 + hast-util-whitespace: 3.0.0 + html-whitespace-sensitive-tag-names: 3.0.1 + unist-util-visit-parents: 6.0.1 + + hast-util-from-html@2.0.3: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.3 + parse5: 7.3.0 + vfile: 6.0.3 + vfile-message: 4.0.3 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-has-property@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-body-ok-link@3.0.1: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-minify-whitespace@1.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-whitespace: 3.0.0 + unist-util-is: 6.0.0 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-phrasing@3.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-has-property: 3.0.0 + hast-util-is-body-ok-link: 3.0.1 + hast-util-is-element: 3.0.0 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@6.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.1.3 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.1 + hast-util-whitespace: 3.0.0 + nth-check: 2.1.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.17 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.1: + dependencies: + '@types/hast': 3.0.4 + + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + html-escaper@3.0.3: {} + + html-void-elements@3.0.0: {} + + html-whitespace-sensitive-tag-names@3.0.1: {} + + http-cache-semantics@4.2.0: {} + + i18next@23.16.8: + dependencies: + '@babel/runtime': 7.28.3 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + import-meta-resolve@4.2.0: {} + + inline-style-parser@0.2.4: {} + + internmap@1.0.1: {} + + internmap@2.0.3: {} + + iron-webcrypto@1.2.1: {} + + is-absolute-url@4.0.1: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.3.2: {} + + is-decimal@2.0.1: {} + + is-docker@3.0.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-plain-obj@4.1.0: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + katex@0.16.22: + dependencies: + commander: 8.3.0 + + khroma@2.1.0: {} + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + klona@2.0.6: {} + + kolorist@1.8.0: {} + + langium@3.3.1: + dependencies: + chevrotain: 11.0.3 + chevrotain-allstar: 0.3.1(chevrotain@11.0.3) + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + + lodash-es@4.17.21: {} + + longest-streak@3.1.0: {} + + lru-cache@10.4.3: {} + + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magicast@0.3.5: + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + source-map-js: 1.2.1 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.4: {} + + marked-footnote@1.4.0(marked@12.0.2): + dependencies: + marked: 12.0.2 + + marked-smartypants@1.1.10(marked@12.0.2): + dependencies: + marked: 12.0.2 + smartypants: 0.2.2 + + marked@12.0.2: {} + + marked@16.2.1: {} + + mdast-heading-id@2.0.0: {} + + mdast-util-definitions@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + mdast-util-directive@3.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.12.2: {} + + mermaid@11.10.1: + dependencies: + '@braintree/sanitize-url': 7.1.1 + '@iconify/utils': 2.3.0 + '@mermaid-js/parser': 0.6.2 + '@types/d3': 7.4.3 + cytoscape: 3.33.1 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) + cytoscape-fcose: 2.2.0(cytoscape@3.33.1) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.11 + dayjs: 1.11.18 + dompurify: 3.2.6 + katex: 0.16.22 + khroma: 2.1.0 + lodash-es: 4.17.21 + marked: 16.2.1 + roughjs: 4.6.6 + stylis: 4.3.6 + ts-dedent: 2.2.0 + uuid: 11.1.0 + transitivePeerDependencies: + - supports-color + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-heading-id@2.0.0: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + + mrmime@2.0.1: {} + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + neotraverse@0.6.18: {} + + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + + node-fetch-native@1.6.7: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-mock-http@1.0.3: {} + + normalize-path@3.0.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + ofetch@1.4.1: + dependencies: + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.1 + + ohash@2.0.11: {} + + oniguruma-parser@0.12.1: {} + + oniguruma-to-es@4.3.3: + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.0.1 + regex-recursion: 6.0.2 + + p-limit@6.2.0: + dependencies: + yocto-queue: 1.2.1 + + p-queue@8.1.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.4 + + p-timeout@6.1.4: {} + + package-manager-detector@1.3.0: {} + + pagefind@1.3.0: + optionalDependencies: + '@pagefind/darwin-arm64': 1.3.0 + '@pagefind/darwin-x64': 1.3.0 + '@pagefind/linux-arm64': 1.3.0 + '@pagefind/linux-x64': 1.3.0 + '@pagefind/windows-x64': 1.3.0 + + pako@0.2.9: {} + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.2.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-latin@7.0.0: + dependencies: + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.3 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.3 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + path-data-parser@0.1.0: {} + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + + postcss-nested@6.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prismjs@1.30.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + property-information@6.5.0: {} + + property-information@7.1.0: {} + + quansync@0.2.11: {} + + radix3@1.1.2: {} + + readdirp@4.1.2: {} + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + + rehype-expressive-code@0.41.3: + dependencies: + expressive-code: 0.41.3 + + rehype-format@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-format: 1.1.0 + + rehype-parse@9.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.3 + unified: 11.0.5 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + rehype-stringify@10.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + unified: 11.0.5 + + rehype@13.0.2: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.1 + rehype-stringify: 10.0.1 + unified: 11.0.5 + + remark-custom-heading-id@2.0.0: + dependencies: + mdast-heading-id: 2.0.0 + micromark-heading-id: 2.0.0 + unist-util-visit: 5.0.0 + + remark-directive@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.1.0 + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.0: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-smartypants@3.0.2: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.2.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + restructure@3.0.2: {} + + retext-latin@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 + + retext-smartypants@6.2.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 + + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 + + robust-predicates@3.0.2: {} + + rollup@4.50.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.50.1 + '@rollup/rollup-android-arm64': 4.50.1 + '@rollup/rollup-darwin-arm64': 4.50.1 + '@rollup/rollup-darwin-x64': 4.50.1 + '@rollup/rollup-freebsd-arm64': 4.50.1 + '@rollup/rollup-freebsd-x64': 4.50.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.1 + '@rollup/rollup-linux-arm-musleabihf': 4.50.1 + '@rollup/rollup-linux-arm64-gnu': 4.50.1 + '@rollup/rollup-linux-arm64-musl': 4.50.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.50.1 + '@rollup/rollup-linux-ppc64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-musl': 4.50.1 + '@rollup/rollup-linux-s390x-gnu': 4.50.1 + '@rollup/rollup-linux-x64-gnu': 4.50.1 + '@rollup/rollup-linux-x64-musl': 4.50.1 + '@rollup/rollup-openharmony-arm64': 4.50.1 + '@rollup/rollup-win32-arm64-msvc': 4.50.1 + '@rollup/rollup-win32-ia32-msvc': 4.50.1 + '@rollup/rollup-win32-x64-msvc': 4.50.1 + fsevents: 2.3.3 + + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + + rw@1.3.3: {} + + safer-buffer@2.1.2: {} + + sax@1.4.1: {} + + semver@7.7.2: {} + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + sharp@0.34.3: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.3 + '@img/sharp-darwin-x64': 0.34.3 + '@img/sharp-libvips-darwin-arm64': 1.2.0 + '@img/sharp-libvips-darwin-x64': 1.2.0 + '@img/sharp-libvips-linux-arm': 1.2.0 + '@img/sharp-libvips-linux-arm64': 1.2.0 + '@img/sharp-libvips-linux-ppc64': 1.2.0 + '@img/sharp-libvips-linux-s390x': 1.2.0 + '@img/sharp-libvips-linux-x64': 1.2.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + '@img/sharp-linux-arm': 0.34.3 + '@img/sharp-linux-arm64': 0.34.3 + '@img/sharp-linux-ppc64': 0.34.3 + '@img/sharp-linux-s390x': 0.34.3 + '@img/sharp-linux-x64': 0.34.3 + '@img/sharp-linuxmusl-arm64': 0.34.3 + '@img/sharp-linuxmusl-x64': 0.34.3 + '@img/sharp-wasm32': 0.34.3 + '@img/sharp-win32-arm64': 0.34.3 + '@img/sharp-win32-ia32': 0.34.3 + '@img/sharp-win32-x64': 0.34.3 + + shiki@3.12.2: + dependencies: + '@shikijs/core': 3.12.2 + '@shikijs/engine-javascript': 3.12.2 + '@shikijs/engine-oniguruma': 3.12.2 + '@shikijs/langs': 3.12.2 + '@shikijs/themes': 3.12.2 + '@shikijs/types': 3.12.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + sisteransi@1.0.5: {} + + sitemap@8.0.0: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + smartypants@0.2.2: {} + + smol-toml@1.4.2: {} + + source-map-js@1.2.1: {} + + source-map@0.7.6: {} + + space-separated-tokens@2.0.2: {} + + starlight-auto-sidebar@0.2.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))): + dependencies: + '@astrojs/starlight': 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + github-slugger: 2.0.0 + + starlight-github-alerts@0.1.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))): + dependencies: + '@astrojs/starlight': 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + unist-util-visit: 5.0.0 + + starlight-image-zoom@0.13.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))): + dependencies: + '@astrojs/starlight': 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + mdast-util-mdx-jsx: 3.2.0 + rehype-raw: 7.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + starlight-links-validator@0.18.0(@astrojs/starlight@0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1))): + dependencies: + '@astrojs/starlight': 0.35.2(astro@5.13.6(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(yaml@2.8.1)) + '@types/picomatch': 3.0.2 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.3 + hast-util-has-property: 3.0.0 + is-absolute-url: 4.0.1 + kleur: 4.1.5 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-to-string: 4.0.0 + picomatch: 4.0.3 + terminal-link: 5.0.0 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - supports-color + + stream-replace-string@2.0.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.5.0 + get-east-asian-width: 1.3.1 + strip-ansi: 7.1.2 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + style-to-js@1.1.17: + dependencies: + style-to-object: 1.0.9 + + style-to-object@1.0.9: + dependencies: + inline-style-parser: 0.2.4 + + stylis@4.3.6: {} + + supports-color@10.2.2: {} + + supports-hyperlinks@4.2.0: + dependencies: + has-flag: 5.0.1 + supports-color: 10.2.2 + + terminal-link@5.0.0: + dependencies: + ansi-escapes: 7.1.0 + supports-hyperlinks: 4.2.0 + + tiny-inflate@1.0.3: {} + + tinyexec@0.3.2: {} + + tinyexec@1.0.1: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-dedent@2.2.0: {} + + tsconfck@3.1.6(typescript@5.9.2): + optionalDependencies: + typescript: 5.9.2 + + tslib@2.8.1: {} + + type-fest@4.41.0: {} + + typescript@5.9.2: {} + + ufo@1.6.1: {} + + ultrahtml@1.6.0: {} + + uncrypto@0.1.3: {} + + undici-types@7.10.0: {} + + unicode-properties@1.4.1: + dependencies: + base64-js: 1.5.1 + unicode-trie: 2.0.0 + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unifont@0.5.2: + dependencies: + css-tree: 3.1.0 + ofetch: 1.4.1 + ohash: 2.0.11 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.3 + array-iterate: 2.0.1 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + unstorage@1.17.1: + dependencies: + anymatch: 3.1.3 + chokidar: 4.0.3 + destr: 2.0.5 + h3: 1.15.4 + lru-cache: 10.4.3 + node-fetch-native: 1.6.7 + ofetch: 1.4.1 + ufo: 1.6.1 + + util-deprecate@1.0.2: {} + + uuid@11.1.0: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + vite@6.3.6(@types/node@24.3.1)(yaml@2.8.1): + dependencies: + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.50.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.3.1 + fsevents: 2.3.3 + yaml: 2.8.1 + + vitefu@1.1.1(vite@6.3.6(@types/node@24.3.1)(yaml@2.8.1)): + optionalDependencies: + vite: 6.3.6(@types/node@24.3.1)(yaml@2.8.1) + + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.12: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-languageserver@9.0.1: + dependencies: + vscode-languageserver-protocol: 3.17.5 + + vscode-uri@3.0.8: {} + + web-namespaces@2.0.1: {} + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-pm-runs@1.1.0: {} + + widest-line@5.0.0: + dependencies: + string-width: 7.2.0 + + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + + xxhash-wasm@1.1.0: {} + + yaml@2.8.1: {} + + yargs-parser@21.1.1: {} + + yocto-queue@1.2.1: {} + + yocto-spinner@0.2.3: + dependencies: + yoctocolors: 2.1.2 + + yoctocolors@2.1.2: {} + + zod-to-json-schema@3.24.6(zod@3.25.76): + dependencies: + zod: 3.25.76 + + zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76): + dependencies: + typescript: 5.9.2 + zod: 3.25.76 + + zod@3.25.76: {} + + zwitch@2.0.4: {} diff --git a/docs/pnpm-workspace.yaml b/docs/pnpm-workspace.yaml new file mode 100644 index 0000000000..d0b7dbe229 --- /dev/null +++ b/docs/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +onlyBuiltDependencies: + - esbuild + - sharp diff --git a/docs/public/CNAME b/docs/public/CNAME new file mode 100644 index 0000000000..3fc4112a95 --- /dev/null +++ b/docs/public/CNAME @@ -0,0 +1 @@ +userstyles.catppuccin.com \ No newline at end of file diff --git a/docs/public/favicon.png b/docs/public/favicon.png new file mode 100644 index 0000000000..4491430bb8 Binary files /dev/null and b/docs/public/favicon.png differ diff --git a/docs/public/lib b/docs/public/lib new file mode 120000 index 0000000000..58677ddb4e --- /dev/null +++ b/docs/public/lib @@ -0,0 +1 @@ +../../lib \ No newline at end of file diff --git a/docs/public/pepperjack-dark.png b/docs/public/pepperjack-dark.png new file mode 100644 index 0000000000..7d29e39669 Binary files /dev/null and b/docs/public/pepperjack-dark.png differ diff --git a/docs/public/pepperjack-light.png b/docs/public/pepperjack-light.png new file mode 100644 index 0000000000..13086e386a Binary files /dev/null and b/docs/public/pepperjack-light.png differ diff --git a/docs/src/assets/example.org-original.webp b/docs/src/assets/example.org-original.webp new file mode 100644 index 0000000000..0488779750 Binary files /dev/null and b/docs/src/assets/example.org-original.webp differ diff --git a/docs/src/assets/example.org-themed.webp b/docs/src/assets/example.org-themed.webp new file mode 100644 index 0000000000..1a704fc66e Binary files /dev/null and b/docs/src/assets/example.org-themed.webp differ diff --git a/docs/src/assets/preview.webp b/docs/src/assets/preview.webp new file mode 100644 index 0000000000..8414a34c65 Binary files /dev/null and b/docs/src/assets/preview.webp differ diff --git a/docs/src/content.config.ts b/docs/src/content.config.ts new file mode 100644 index 0000000000..6cb5eac864 --- /dev/null +++ b/docs/src/content.config.ts @@ -0,0 +1,13 @@ +import { defineCollection } from "astro:content"; +import { docsLoader } from "@astrojs/starlight/loaders"; +import { docsSchema } from "@astrojs/starlight/schema"; +import { autoSidebarLoader } from "starlight-auto-sidebar/loader"; +import { autoSidebarSchema } from "starlight-auto-sidebar/schema"; + +export const collections = { + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), + autoSidebar: defineCollection({ + loader: autoSidebarLoader(), + schema: autoSidebarSchema(), + }), +}; diff --git a/docs/src/content/docs/contributing/creating-userstyles.mdx b/docs/src/content/docs/contributing/creating-userstyles.mdx new file mode 100644 index 0000000000..91d7617c5d --- /dev/null +++ b/docs/src/content/docs/contributing/creating-userstyles.mdx @@ -0,0 +1,26 @@ +--- +title: Creating Userstyles +description: Overview of the userstyle creation process. +sidebar: + order: 2 +--- + +import { Steps } from '@astrojs/starlight/components'; + +> [!IMPORTANT] +> Websites should be popular or otherwise commonly known by members of the Catppuccin community; personal or niche sites may not meet the criteria. If you are unsure if a website qualifies, consider creating a [discussion](https://github.com/catppuccin/catppuccin/discussions/new?category=port-requests) before submitting an initial PR. + +To create a userstyle, follow the instructions below. If you are unsure how to theme something, see our [Guides](/contributing/guides/). If you run into any difficulties or have any questions, feel free to join the [Catppuccin Discord server](https://discord.com/servers/catppuccin-907385605422448742) and find us in the #userstyles channel! + + + +1. Fork the `catppuccin/userstyles` repository. +2. Create a new branch under the name `feat/`, (e.g. `feat/nixos-search` instead of NixOS Search). +3. Create a new folder `styles/`. The name must be `lower-kebab-case`. +4. Copy the contents of the [`template`](https://github.com/catppuccin/userstyles/tree/main/template) folder into `styles/`. + - **The template uses [LESS](https://lesscss.org/#overview), a preprocessor for Stylus. Please do not change this as we will only accept userstyles based on the template.** +5. [Write the userstyle](/contributing/tutorials/writing-a-userstyle/). +6. [Edit the `userstyles.yml` file](/contributing/userstylesyml/) and enter the details of your port. +7. Raise a [pull request](https://github.com/catppuccin/userstyles/compare), making sure to read and fill out the template properly. The title of your pull request should follow the format of `feat(): init`. + + diff --git a/docs/src/content/docs/contributing/guides/_meta.yml b/docs/src/content/docs/contributing/guides/_meta.yml new file mode 100644 index 0000000000..01a0a67f19 --- /dev/null +++ b/docs/src/content/docs/contributing/guides/_meta.yml @@ -0,0 +1,2 @@ +label: How can I theme ...? +order: 5 diff --git a/docs/src/content/docs/contributing/guides/images-and-svgs.md b/docs/src/content/docs/contributing/guides/images-and-svgs.md new file mode 100644 index 0000000000..87225f1f1e --- /dev/null +++ b/docs/src/content/docs/contributing/guides/images-and-svgs.md @@ -0,0 +1,116 @@ +--- +title: Images and SVGs +description: Guide for theming images and SVGs in userstyles. +sidebar: + order: 2 +--- + +## Monochrome `` elements + +If you encounter an `` element with single colored contents, the easiest way to theme it is to apply a CSS color filter. The `@-filter` filters can be used to theme Catppuccin colours. + +For example: + +```css +img.twitter-icon { + filter: @blue-filter; +} +``` + +## SVGs as `background-image`s + +Websites will sometimes use the `background-image` CSS property to apply an SVG, often for icons. The value of the `background-image` is usually either a URL to an external SVG resource, such as `url("https://example.org/assets/xyz.svg")`, or an inlined SVG [data URL](https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Schemes/data), like `url("data:image/svg+xml,%3Csvg%3E...%3C/svg%3E");`. + +### External SVG URL + +Below is an example of what a rule for an external SVG URL could look like. + +```css +.xyz { + background-image: url("https://example.org/assets/xyz.svg"); +} +``` + +To obtain the contents of this remote SVG resource, you can either: + +- Visit the URL of the SVG, right click and select **View Page Source**, and copy its contents from the resulting page. +- Run `curl "https://example.org/assets/xyz.svg"` and copy the contents from the terminal output. + +> [!TIP] +> On macOS, copy the SVG contents after `curl`-ing automatically with `| pbcopy`: `curl "https://example.org/assets/xyz.svg" | pbcopy`. + +### Inlined SVG data URL + +Below is an example of what a rule for an inlined SVG data URL could look like. + +```css +.xyz { + background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill%3D%22red%22%20d%3D%22%22/%3E%3C/svg%3E"); +} +``` + +The text after `data:image/svg+xml,` is URL encoded. To get the contents of the SVG, the string needs to be URL decoded. + +There are two ways to do this: + +- Using the JavaScript built-in function `decodeURIComponent`. You can run `node -e 'console.log(decodeURIComponent("..."))'`, with the URL encoded SVG contents placed between the double quotes in place of `...`. +- Use an online tool such as [urldecoder.io](https://www.urldecoder.io/). + +--- + +Once you have obtained the SVG contents, paste them in between the single quotes of `escape('')` in the following template: + + +```less +.xyz { + @svg: escape(''); + background-image: url("data:image/svg+xml,@{svg}"); +} +``` + +> [!NOTE] +> Ensure `escape()` uses single quotes, not double quotes, before pasting the SVG contents โ€” `escape('')`, not `escape("")`. + +> [!WARNING] +> The error `Invalid % without number` appears until an interpolated color is added in the SVG contents. This is covered in the following section. + +Now, replace any colors in the SVG with their respective Catppuccin variants. For example, take the following SVG icon for Twitter: + +```xml + +``` + +There is only one color used, `fill="#1D9BF0"`. That hex code is a shade of blue, so we can replace it with the `@blue` color using the `fill="@{}"` syntax ([variable interpolation](https://lesscss.org/features/#variables-feature-variable-interpolation)). + +```less +.twitter-icon { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); +} +``` + +## External SVGs through `` elements + +Theming an external SVG referenced from an `` element is similar. However, the `content` property is used instead of `background-image` to replace the image. + +As with the previous tip for `background-image`, only the SVG inside of the `escape('')` needs to be updated. + +```less +img.xyz { + @svg: escape("..."); + content: url("data:image/svg+xml,@{svg}"); +} +``` + +Again, following the example of theming a Twitter logo: + +```less +img.twitter-icon { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); +} +``` diff --git a/docs/src/content/docs/contributing/guides/index.md b/docs/src/content/docs/contributing/guides/index.md new file mode 100644 index 0000000000..2d6cc8797c --- /dev/null +++ b/docs/src/content/docs/contributing/guides/index.md @@ -0,0 +1,9 @@ +--- +title: How can I theme ...? +description: Guides for common userstyle theming techniques. +sidebar: + order: 1 + label: Overview +--- + +In this guide section, you can find out how to [theme images and SVGs](/contributing/guides/images-and-svgs/), [theme syntax highlighting](/contributing/guides/syntax-highlighting/), and [obtain raw color values](/contributing/guides/raw-color-values/). diff --git a/docs/src/content/docs/contributing/guides/raw-color-values.md b/docs/src/content/docs/contributing/guides/raw-color-values.md new file mode 100644 index 0000000000..2b4e9a616a --- /dev/null +++ b/docs/src/content/docs/contributing/guides/raw-color-values.md @@ -0,0 +1,14 @@ +--- +title: Raw color values +description: Guide for obtaining raw color values of palette colors in RGB or HSL formats. +sidebar: + order: 4 +--- + +## Obtaining RGB values + +See [`#lib.rgbify()`](/contributing/reference/libraries/standard/v/v1#librgbify). + +## Obtaining HSL values + +See [`#lib.hslify()`](/contributing/reference/libraries/standard/v/v1#libhslify). diff --git a/docs/src/content/docs/contributing/guides/syntax-highlighting.md b/docs/src/content/docs/contributing/guides/syntax-highlighting.md new file mode 100644 index 0000000000..c33c5ceafe --- /dev/null +++ b/docs/src/content/docs/contributing/guides/syntax-highlighting.md @@ -0,0 +1,52 @@ +--- +title: Syntax Highlighting +description: Guide for theming syntax highlighting in userstyles. +sidebar: + order: 3 +--- + +If a website uses [highlight.js](https://highlightjs.org/), [Pygments](https://pygments.org/), [Prism.js](https://prismjs.com/), or [Chroma](https://github.com/alecthomas/chroma) for syntax highlighting, follow the steps for the syntax higlighter in use below. First though, you'll need to add the following line near the top of the `#catppuccin` mixin, under `#lib.palette();`/`#lib.defaults();`, to include the necessary CSS variables: + +```css +#lib.css-variables(); +``` + +## highlight.js + +After including the CSS variables with the mixin specified above, add the following line at the top of the userstyle, beneath the `@-moz-document` line. + +```css +@import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); +``` + +## Pygments + +After including the CSS variables with the mixin specified above, add the following line at the top of the userstyle, beneath the `@-moz-document` line. + +```css +@import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); +``` + +## Prism.js + +After including the CSS variables with the mixin specified above, add the following line at the top of the userstyle, beneath the `@-moz-document` line. + +```css +@import url("https://prismjs.catppuccin.com/variables.important.css"); +``` + +## Chroma + +After including the CSS variables with the mixin specified above, add the following lines at the top of the userstyle, beneath the `@-moz-document` line. + +```css +@import (css) + url("https://chroma.catppuccin.com/@{lightFlavor}-chroma-style.css") + (prefers-color-scheme: light); +@import (css) + url("https://chroma.catppuccin.com/@{darkFlavor}-chroma-style.css") + (prefers-color-scheme: dark); +``` + +> [!IMPORTANT] +> The above snippet for Chroma only works properly for userstyles that use browser/system media queries to apply the `#catppuccin` mixin. If a userstyle targets a specific attribute/element on the website to apply the mixin, this will not work all of the time. diff --git a/docs/src/content/docs/contributing/index.md b/docs/src/content/docs/contributing/index.md new file mode 100644 index 0000000000..bc6ec9715c --- /dev/null +++ b/docs/src/content/docs/contributing/index.md @@ -0,0 +1,65 @@ +--- +title: Contributing +description: Contribution guidelines for the Catppuccin Userstyles project. +sidebar: + label: Overview + order: 1 +--- + +If it is your first time contributing to a project on GitHub, please see the popular [first-contributions](https://github.com/firstcontributions/first-contributions) repository. This will give you hands-on experience with the features of GitHub required to make a contribution. As always, feel free to join our [Discord](https://discord.com/servers/catppuccin-907385605422448742) to ask any questions and clarify your understanding, we are more than happy to help! + +## Development environment + +This repository uses [Deno](https://deno.com/) extensively for linting, formatting, and automation. It is highly recommended to set up Deno locally to improve your workflow โ€” see ["Installation" - Deno Docs](https://docs.deno.com/runtime/manual/getting_started/installation). + +With Deno installed locally, you can lint all userstyles with `deno task lint`, and if any issues are found, `deno task lint:fix` to automatically apply fixes in some cases. For quicker linting, specify the userstyle to lint with `deno task lint my-userstyle` (or equivalently using the relative path/autocomplete, `deno task lint styles/my-userstyle`). + +It's helpful to maintainers to run formatting with `deno fmt` before opening a pull request, though not strictly necessary. + +> [!IMPORTANT] +> `deno task lint` is not to be confused with Deno's built-in linter, `deno lint`. `deno lint` only checks our TypeScript files in `scripts/`, whereas `deno task lint` is the custom Deno task for linting userstyles that you should be using. + +To edit and/or create userstyles, [set up live reloading](/contributing/tips-and-tricks/hot-reloading/) so that local changes (edits made from your editor of choice) can be automatically reloaded through Stylus. + +## Versioning + +You may notice that userstyles contain a line in the format of `@version 2000.01.01` in the UserCSS metadata section at the top. **This line should not be edited by hand**. We use an automated versioning system that updates the version value (based on [Calendar Versioning](https://calver.org/)) when a change is made to a userstyle, after merging the pull request. + +## Authoring userstyles + +### Assessing websites + +Some websites are, unfortunately, not ideal for userstyles. Websites with auto-generated classes โ€” think `aeN WR beA nH oy8Mbf`, `cfb2a888`, and so on โ€” lead to unreadable and unmaintainable userstyles that break quickly and are difficult to update/maintain. Such userstyles, if created, will also take longer to review and merge. + +On the other hand, if a website uses CSS variables โ€” see below โ€” it is a great candidate for userstyling. + +### CSS variables + +While writing a userstyle, you may come across [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) (or "custom properties"). We prefer that these variables are used if present, rather than theming individual elements. As the website typically uses these variables itself, it saves a lot of work in theming and maintaining the userstyle. + +### Opinionated changes + +When writing or updating a userstyle, it is important to keep in mind that different users have different preferences. To avoid lengthy discussion over user interface aesthetics, we have a set of rules for what a userstyle may include; importantly, **changes to font, layout, padding, margin, display, and in general anything besides color tweaks are prohibited.** + +### Pull requests + +- Create a [topic branch](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows#_topic_branch) on your fork for your specific PR. +- Catppuccin uses the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard for creating explicit and meaningful commit messages. This repository requires pull request _titles_ to be in the conventional commit format, however we do not require it for individual commits within a pull request. +- It's better to have a draft pull request than no pull request at all. Having a draft lets others know that a userstyle is being worked on, and gives the opportunity for people to try it out ahead of time (if they really want it themed!). + +### Contribution review process + +```mermaid +graph TD; + A[New userstyle]; + B[Other improvements]; + A --> C[Review by userstyles staff]; + B --> D[Review by maintainer]; + C --> E{Feedback}; + D --> F{Feedback}; + E -->|Changes made| E; + F -->|Changes made| F; + E -->|Approved by userstyles staff| K; + F -->|Approved by maintainer or userstyles staff| L[Merged by maintainer]; + K[Review period] --> M[Merged by userstyles staff]; +``` diff --git a/docs/src/content/docs/contributing/reference/_meta.yml b/docs/src/content/docs/contributing/reference/_meta.yml new file mode 100644 index 0000000000..7d9f637733 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/_meta.yml @@ -0,0 +1,2 @@ +label: Reference +order: 7 diff --git a/docs/src/content/docs/contributing/reference/libraries/_meta.yml b/docs/src/content/docs/contributing/reference/libraries/_meta.yml new file mode 100644 index 0000000000..fc171f4dcc --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/_meta.yml @@ -0,0 +1 @@ +label: Libraries diff --git a/docs/src/content/docs/contributing/reference/libraries/modules/_meta.yml b/docs/src/content/docs/contributing/reference/libraries/modules/_meta.yml new file mode 100644 index 0000000000..13f8cf4d33 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/modules/_meta.yml @@ -0,0 +1,4 @@ +label: Modules +badge: + text: Beta + variant: caution diff --git a/docs/src/content/docs/contributing/reference/libraries/modules/index.md b/docs/src/content/docs/contributing/reference/libraries/modules/index.md new file mode 100644 index 0000000000..dfb2425132 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/modules/index.md @@ -0,0 +1,28 @@ +--- +title: Library Modules +description: Reference for library modules. +sidebar: + label: Overview +--- + +Library modules consist of collections of mixins which target design systems or commonly used libraries. + +They follow a standard structure and should be built to be modular and reusable across several userstyles. + +## Structure + +The [standard library](/contributing/reference/libraries/standard/) is a good reference as to how libraries can be structured. + +All libraries are in lib/ with subdirectories per library name, and versioned files (e.g., `v1.less`, `v2.less`, etc). + +They must have a top level mixin in the format `#__libraryname`. All constants and variables should be under a nested `.base` mixin. The nested mixin is used like `#__libraryname.base()` after all other standard library statements. + +Other mixins and constants may be included, but they must be under the top level mixin for scoping purposes. + +## Creation + +Identify what your library module will achieve. Are you targeting a design system, framework, or a library? + +If a design system or framework, is it specific to one userstyle or reusable across multiple? What are the popularity metrics of it? Is the increased maintenance workload worth the benefit it provides in DRY (Don't Repeat Yourself)? + +If the target is a web library, check if there is an [existing port](http://catppuccin.com/ports) for it. The methods outlined in [Syntax Highlighting](/contributing/guides/syntax-highlighting/) may be used to import the theme for the library in question. Some ports may need changes upstreamed to work for userstyles purposes; in these cases, please coordinate with userstyles staff to determine the most suitable approach. diff --git a/docs/src/content/docs/contributing/reference/libraries/standard/_meta.yml b/docs/src/content/docs/contributing/reference/libraries/standard/_meta.yml new file mode 100644 index 0000000000..01f8bc3a01 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/standard/_meta.yml @@ -0,0 +1,2 @@ +label: Standard Library +order: 1 diff --git a/docs/src/content/docs/contributing/reference/libraries/standard/index.mdx b/docs/src/content/docs/contributing/reference/libraries/standard/index.mdx new file mode 100644 index 0000000000..429a996804 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/standard/index.mdx @@ -0,0 +1,36 @@ +--- +title: Overview +description: Reference to using the standard library. +sidebar: + order: 1 +--- + +import { Badge } from '@astrojs/starlight/components'; + + +| Version | Documentation | Source Code | +| -------------------------------------------------------------------------------- | -------------------------------------------------- | -------------- | +| v1 | [/v/v1](/contributing/reference/libraries/standard/v/v1/) | [`lib/std/v1.less`](https://github.com/catppuccin/userstyles/blob/main/lib/std/v1.less) | + +--- + +The standard library is a collection of mixins to deduplicate and simplify code in userstyles. It is imported in every userstyle, alongside with other [library modules](/contributing/reference/libraries/modules/) if applicable. + +## Importing + +```less +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; +``` + +## Changelog + +### v1 + +v1 is the first versioned release of the standard library. To migrate from "v0", update your standard library import URLs at the top of the userstyle: + +```diff +-@import "https://userstyles.catppuccin.com/lib/lib.less"; ++@import "https://userstyles.catppuccin.com/lib/std/v1.less"; +``` + +This release contains no API changes and is safe to upgrade to for all userstyles. diff --git a/docs/src/content/docs/contributing/reference/libraries/standard/v/_meta.yml b/docs/src/content/docs/contributing/reference/libraries/standard/v/_meta.yml new file mode 100644 index 0000000000..cf36cd23e6 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/standard/v/_meta.yml @@ -0,0 +1 @@ +label: Versions diff --git a/docs/src/content/docs/contributing/reference/libraries/standard/v/v1.mdx b/docs/src/content/docs/contributing/reference/libraries/standard/v/v1.mdx new file mode 100644 index 0000000000..7ab1f3b430 --- /dev/null +++ b/docs/src/content/docs/contributing/reference/libraries/standard/v/v1.mdx @@ -0,0 +1,50 @@ +--- +title: v1 +description: Reference to using the v1 version of the standard library. +sidebar: + badge: + text: Latest + variant: success +--- + +## Usage + +```less +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; +``` + +## API + +The standard library exposes a `#lib` namespace. + +### `#lib.palette()` + +The standard library palette mixin provides Less variable definitions for hex colors and CSS filters from the palette. Call the mixin at the top of the `#catppuccin` mixin to inject the variables into the userstyle context. This is used in all userstyles. + +### `#lib.defaults()` + +The standard library defaults mixin provides a set of default styles for text selection and native/input elements. This is generally applied in all userstyles, with some exceptions. + +### `#lib.rgbify()` + +The standard library `rgbify` mixin is a utility mixin for extracting the color in `r, g, b` format from a palette variable. + +#### Examples + +```less +--my-variable-rgb: #lib.rgbify(@base) []; // -> 30, 30, 46 +``` + +### `#lib.hslify()` + +The standard library `hslify` mixin is a utility mixin for extracting the color in `h, s, l` format from a palette variable. + +#### Examples + +```less +--my-variable-hsl: #lib.hslify(@base) []; // -> 240, 21.052631578947366%, 14.901960784313726% +``` + +### `#lib.css-variables()` + +The standard library CSS variables mixin provides the palette variables in [CSS variable/custom property](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_cascading_variables/Using_CSS_custom_properties) form. This is commonly used alongside [syntax highlighting imports](/contributing/guides/syntax-highlighting/). diff --git a/docs/src/content/docs/contributing/tips-and-tricks/_meta.yml b/docs/src/content/docs/contributing/tips-and-tricks/_meta.yml new file mode 100644 index 0000000000..c564d795c6 --- /dev/null +++ b/docs/src/content/docs/contributing/tips-and-tricks/_meta.yml @@ -0,0 +1,2 @@ +label: Tips and Tricks +order: 6 diff --git a/docs/src/content/docs/contributing/tips-and-tricks/hot-reloading.md b/docs/src/content/docs/contributing/tips-and-tricks/hot-reloading.md new file mode 100644 index 0000000000..98453d503c --- /dev/null +++ b/docs/src/content/docs/contributing/tips-and-tricks/hot-reloading.md @@ -0,0 +1,8 @@ +--- +title: Using hot reloading in Stylus +description: See changes from your IDE in real time with Stylus's "Live reloading" feature. +sidebar: + order: 2 +--- + +See ["Initial installation and live reload" - Stylus Wiki](https://github.com/openstyles/stylus/wiki/Writing-UserCSS#live-reload-on-the-fly-previewingwhen-developing-styles-locally-in-another-editoride). diff --git a/docs/src/content/docs/contributing/tips-and-tricks/inspect-hard-to-grab-elements.md b/docs/src/content/docs/contributing/tips-and-tricks/inspect-hard-to-grab-elements.md new file mode 100644 index 0000000000..0c04936695 --- /dev/null +++ b/docs/src/content/docs/contributing/tips-and-tricks/inspect-hard-to-grab-elements.md @@ -0,0 +1,18 @@ +--- +title: Inspect hard to grab elements +description: Useful tip for inspecting elements that are hard to debug. +sidebar: + order: 1 +--- + +Paste the following snippet into your browser console, then trigger the event. Adjust the delay (in milliseconds) as needed. + +```js +setTimeout(function () { + debugger; +}, 3000); +``` + +![](https://i0.wp.com/css-tricks.com/wp-content/uploads/2017/02/debugger.gif?ssl=1) + +GIF via ["Set a Timed Debugger To Web Inspect Hard-To-Grab Elements" - CSS Tricks](https://css-tricks.com/set-timed-debugger-web-inspect-hard-grab-elements/). diff --git a/docs/src/content/docs/contributing/tutorials/_meta.yml b/docs/src/content/docs/contributing/tutorials/_meta.yml new file mode 100644 index 0000000000..64aa9ab7d2 --- /dev/null +++ b/docs/src/content/docs/contributing/tutorials/_meta.yml @@ -0,0 +1,2 @@ +label: Tutorials +order: 4 diff --git a/docs/src/content/docs/contributing/tutorials/writing-a-userstyle.md b/docs/src/content/docs/contributing/tutorials/writing-a-userstyle.md new file mode 100644 index 0000000000..458308b98a --- /dev/null +++ b/docs/src/content/docs/contributing/tutorials/writing-a-userstyle.md @@ -0,0 +1,167 @@ +--- +title: Writing a userstyle +description: Beginner-friendly walkthrough of creating a userstyle! +sidebar: + order: 1 +--- + +## Prerequisites + +- [Stylus](https://github.com/openstyles/stylus) ([Firefox](https://addons.mozilla.org/en-GB/firefox/addon/styl-us/) / [Chrome](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne) extension). +- A website to theme! + +Assuming you have completed steps 1-4 of [Creating Userstyles](/contributing/creating-userstyles/), you should have a new `catppuccin.user.less` file under the `styles//` directory. Follow along in that `catppuccin.user.less` file as we write an example userstyle for [example.org](http://example.org/). + +## Usercss Metadata + +Start by filling out the "metadata block" at the very top of the template. Replace `` with the name of the website you are porting, and please ensure it is capitalized when needed. For `example.org`, it looks like this: + +```less +/* ==UserStyle== +@name example.org Catppuccin +@namespace github.com/catppuccin/userstyles/styles/example.org +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/example.org +@version 2000.01.01 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/example.org/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aexample.org +@description Soothing pastel theme for example.org +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire*", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ +``` + +The rest of the metadata block details the preprocessor and the options of the userstyle. This won't need to be changed. For more information, see ["Usercss Metadata" - Stylus Wiki](https://github.com/openstyles/stylus/wiki/Writing-UserCSS#usercss-metadata). + +## `@-moz-document` + +To tell Stylus which website(s) to apply this userstyle on, replace `` with the domain of your port. For `example.org`, it looks like this: + +```less +@-moz-document domain("example.org") { +``` + +> [!NOTE] +> While `domain()` works for most cases, you may need to use [`regexp()`](https://github.com/openstyles/stylus/wiki/Writing-styles#regexp) for websites with more complex URLs. For example: +> +> ```less +> @-moz-document regexp("http://example.(com|net|org|edu)/") { +> ``` + +## Applying the theme + +This section of the template is about applying the user's light/dark flavors. Read the comments for this section in the template thoroughly and decide which of the two options works best for your port. `example.org` doesn't have a light/dark mode toggle, so we'll apply it based on the user's preferences. + +```less +:root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } +} +``` + +> [!TIP] +> If `example.org` _did_ use a toggle for changing the theme, we suggest using inspect element to try to observe what changes occur when the toggle is adjusted. Typically websites will have a class or attribute on the root `` element. Some examples from our userstyles include `[theme="dark"]`, `.dark`, `.theme-dark`, etc. + +## The `#catppuccin` mixin + +> [!TIP] +> For more on how Less mixins work, see ["Mixins" - lesscss.org](https://lesscss.org/features/#mixins-feature) and ["A Comprehensive Introduction to Less: Mixins" - SitePoint](https://www.sitepoint.com/a-comprehensive-introduction-to-less-mixins/). + +We'll refer to this next section of the template as the "`#catppuccin` mixin". The first part contains a series of mixin calls to include the Catppuccin palette and style defaults from the standard library: + +```less +#lib.palette(); +#lib.defaults(); +``` + +Following that, you will write the CSS rules for your port. Here is what it looks like for our `example.org` port: + +```less +#catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + + & > div { + color: @text; + background-color: @surface0; + } + } + + a:link, + a:visited { + color: @accent; + } + + /* ... */ +} +``` + +## Putting it all together + +Combining all of the previous steps, we have a working userstyle! + +```less +/* ==UserStyle== +@name example.org Catppuccin +@namespace github.com/catppuccin/userstyles/styles/example.org +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/example.org +@version 2000.01.01 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/example.org/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aexample.org +@description Soothing pastel theme for example.org +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire*", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@-moz-document domain("example.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + + & > div { + color: @text; + background-color: @surface0; + } + } + + a:link, + a:visited { + color: @accent; + } + } +} +``` + +| Original | Themed | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![Screenshot of the default example.com page.](../../../../assets/example.org-original.webp) | ![Combined screenshots of the example.com page, with the page seen using the Catppuccin palette. Images for flavors Latte, Frappรฉ, Macchiato and Mocha are displayed left to right.](../../../../assets/example.org-themed.webp) | + +Complete the rest of the steps in [Creating Userstyles](/contributing/creating-userstyles/), and then submit your PR! diff --git a/docs/src/content/docs/contributing/userstylesyml.mdx b/docs/src/content/docs/contributing/userstylesyml.mdx new file mode 100644 index 0000000000..d51a482a16 --- /dev/null +++ b/docs/src/content/docs/contributing/userstylesyml.mdx @@ -0,0 +1,100 @@ +--- +title: userstyles.yml +description: Guide for adding and removing userstyles and maintainers. +sidebar: + order: 3 +--- + +import { Steps } from "@astrojs/starlight/components"; + +The [`userstyles.yml`](https://github.com/catppuccin/userstyles/tree/main/scripts/userstyles.yml) file is responsible for tracking all userstyle and maintainer metadata. + +> [!TIP] +> The [`userstyles.schema.json`](https://github.com/catppuccin/userstyles/tree/main/scripts/userstyles.schema.json) file is the schema specification for `userstyles.yml`. Please refer to it for clarification. + +## Adding a new userstyle + + + +1. [Add yourself as a maintainer](#adding-yourself-as-a-maintainer). +2. Locate the `userstyles` section of `userstyles.yml` and add an entry for the new userstyle to the list in alphabetical order. + + You should make changes to everything wrapped in `<>` and remove the `<>` characters. If you need help with any of the fields, refer to other ports in the `userstyles.yml` file. If you would like extra guidance, you can ask for help in the pull request comments or join the [Catppuccin Discord server](https://discord.com/servers/catppuccin-907385605422448742). + + **Required Fields:** + + ```yaml + : + name: + link: + # Up to 3 categories are allowed, and having at least one is required. + # The first category is considered the "primary" category and impacts where the userstyle is listed on the website. + categories: [] + color: + current-maintainers: [*] + ``` + + **Optional Fields:** + + The `note` field allows for additional information about the userstyle to be included on the README. + + The `icon` field allows for specifying an icon from [Simple Icons](https://simpleicons.org/) for the userstyle. The icon's "slug" - which can be found by hovering over the icon's title and clicking the copy button - should be used. + + The `past-maintainers` field contains a list of maintainers who have maintained the port in the past. We encourage all maintainers to add/remove themselves from this list as they see fit. + + + +## Adding yourself as a maintainer + + + +1. Add a new entry to the end of the `collaborators` array in the `userstyles.yml` file. The entry should be made under your GitHub username. The following example shows a new entry for a user with the GitHub username "Pepperjack". + + ```yaml + collaborators: + - &Pepperjack Pepperjack + ``` + +2. Add your username to the `current-maintainers` array of the userstyle you wish to maintain. The following example shows the user "Pepperjack" added to the `example.org` userstyle. + + ```yaml del={7} ins={8} + userstyles: + example.org: + name: example.org + link: https://example.org + categories: [productivity] + color: text + current-maintainers: [] + current-maintainers: [*Pepperjack] + ``` + + If the change is accepted, you will receive an invitation to the `catppuccin` organization, and become a member of the [`userstyles-maintainers` team](https://github.com/orgs/catppuccin/teams/userstyles-maintainers). + + As a maintainer you will be expected to: + + - Review and merge PRs for the userstyle you maintain. + - Keep the userstyle up to date with the latest changes. If you no longer wish to maintain a userstyle, see [Removing yourself as a maintainer](#removing-yourself-as-a-maintainer). + - Follow our code of conduct and guidelines. + + + +## Removing yourself as a maintainer + +Remove your username from the `current-maintainers` array and add it to the `past-maintainers` array of the userstyle(s) you no longer want to maintain. + +The following example shows the user "Pepperjack" removed from the `example.org` userstyle: + +```yaml del={7} ins={8-9} +userstyles: + example.org: + name: example.org + link: https://example.org + categories: [productivity] + color: text + current-maintainers: [*Pepperjack] + current-maintainers: [] + past-maintainers: [*Pepperjack] +``` + +> [!NOTE] +> If you would prefer to not be listed as a past maintainer at all, you can remove yourself from `collaborators` array entirely. Upon removal, you will also be removed from the `userstyles-maintainers` GitHub team. diff --git a/docs/browsers.md b/docs/src/content/docs/getting-started/faq.md similarity index 55% rename from docs/browsers.md rename to docs/src/content/docs/getting-started/faq.md index f70a85ee7b..33f7e1f609 100644 --- a/docs/browsers.md +++ b/docs/src/content/docs/getting-started/faq.md @@ -1,7 +1,19 @@ -# Browsers +--- +title: FAQ +description: Answers to frequently asked questions about Catppuccin Userstyles. +sidebar: + order: 3 +--- -> [!NOTE] -> If you see a popular browser that hasn't been added, please create a pull request to do so! +## This userstyle is broken! + +Sorry to hear that! Please [open an issue](https://github.com/catppuccin/userstyles/issues/new?template=userstyle.yml). + +## Can I request a userstyle? + +To request a website to be themed, please create a [Port Request](https://github.com/catppuccin/catppuccin/discussions/new?category=port-requests) discussion on [catppuccin/catppuccin](https://github.com/catppuccin/catppuccin). + +## What version of my browser am I using? **To find your browser's version:** @@ -16,7 +28,3 @@ | Opera (GX) | `opera://about/` | | Microsoft Edge | `edge://version/` | | Arc | `arc://version/` | - -## Common issues - -If you are running into any compatibility issues with your browser, please feel free to open an issue! diff --git a/docs/src/content/docs/getting-started/introduction.mdx b/docs/src/content/docs/getting-started/introduction.mdx new file mode 100644 index 0000000000..413777d4cb --- /dev/null +++ b/docs/src/content/docs/getting-started/introduction.mdx @@ -0,0 +1,47 @@ +--- +title: Introduction +description: Introduction to Catppuccin Userstyles. +sidebar: + order: 1 +--- + +A curated collection of soothing pastel themes for your favorite websites and web applications. + +![Combined preview screenshot of four different websites with userstyles applied. In order of appearance, npm is shown in Latte, Wikipedia is shown in Frappรฉ, Chess.com is shown in Macchiato, and GitHub is shown in Mocha.](../../../assets/preview.webp) + +## Getting started + +To get started using the catppuccin/userstyles collection, see [Usage](/getting-started/usage/). + +To get started contributing to catppuccin/userstyles, see [Contributing](/contributing/) and [Creating Userstyles](/contributing/creating-userstyles/). + +## Userstyles + +> [!NOTE] +> Userstyles labeled with the "โค๏ธโ€๐Ÿฉน" emoji lack maintainers, and may not work as intended. Contributions are still welcome and encouraged! + +import AnchorHeading from '@astrojs/starlight/components/AnchorHeading.astro'; +import { ports } from "../../../lib/ports"; +import { categories, sortedCategories, categoryMap } from "../../../lib/categories"; + +{sortedCategories.map((cat) => { + const category = categories[cat]; + return ( + <> + {category.emoji}{' '}{category.name} +

{category.description}

+ + + ); +})} diff --git a/docs/src/content/docs/getting-started/usage.mdx b/docs/src/content/docs/getting-started/usage.mdx new file mode 100644 index 0000000000..d9aa58d26e --- /dev/null +++ b/docs/src/content/docs/getting-started/usage.mdx @@ -0,0 +1,50 @@ +--- +title: Usage +description: Guide for how to use Catppuccin Userstyles. +sidebar: + order: 2 +--- + +import { Steps } from '@astrojs/starlight/components'; + +For both of the below installation methods, you will need the Stylus browser extension installed. Install [Stylus](https://github.com/openstyles/stylus) for [Chrome](https://chromewebstore.google.com/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne) or [Firefox](https://addons.mozilla.org/en-GB/firefox/addon/styl-us/). If you use Chrome, make sure to enable "Allow access to file URLs" in the Chrome extension settings for Stylus (visit `chrome://extensions/?id=clngdbkpkpeebahjckkjfobafhncgmne`). + +> [!TIP] +> If you use [Dark Reader](https://darkreader.org/), make sure to disable the extension on websites with Catppuccin userstyles installed to avoid conflicts. + +## All Userstyles + + + +1. Download the compiled Stylus export file, containing our recommended Stylus settings and all userstyles preloaded: [`import.json` (download)](https://github.com/catppuccin/userstyles/releases/download/all-userstyles-export/import.json). + - Alternatively, if you want to further customize the `import.json` file - such as setting it so that all userstyles have the accent color `peach`, or the dark flavor is always `frappe` - you can download a customized Stylus export file from [@uncenter](https://github.com/uncenter)'s "[Catppuccin Userstyles Customizer](https://catppuccin-userstyles-customizer.uncenter.dev/)" instead. +2. Open the Stylus "manage" page. +3. On the sidebar panel, click the **Import** button in the **Backup** section, and select the downloaded file from step 1. + + + +## Individual Userstyles + + + +1. Enable CSP Patching from Stylus's **Settings** > **Advanced**. +2. Install your choice of [available userstyles](/getting-started/introduction/#userstyles) by clicking the **Stylus Install** badge in each README. + + + +# Configuration + +All userstyles come with three default configuration options; the light flavor, the dark flavor, and the accent color. Some userstyles may offer additional site-specific options as well. + +## Decentralized/self-hosted applications + +For decentralized or self-hosted applications, you can apply a theme to one or multiple instances across updates by following the instructions below. + + + +1. Open the Stylus "Manage" page. +2. Click on the userstyle's name in the list. +3. Click on **Style settings** in the left panel. +4. Enter the URL patterns for your instance(s) in the text box labeled **Custom included sites**. For example, to apply a userstyle to `example.org`, you would add a line with `https://example.org/*` to the textbox. The trailing asterisk applies it to all pages on the domain - without it, only the root page is themed. + + diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx new file mode 100644 index 0000000000..732a5c99ef --- /dev/null +++ b/docs/src/content/docs/index.mdx @@ -0,0 +1,18 @@ +--- +title: Catppuccin Userstyles +description: A curated collection of soothing pastel themes for your favorite websites and web applications. +template: splash +hero: + tagline: A curated collection of soothing pastel themes for your favorite websites and web applications. + image: + dark: /public/pepperjack-dark.png + light: /public/pepperjack-light.png + actions: + - text: Get Started + link: /getting-started/introduction + icon: right-arrow + - text: Contribute + link: /contributing/ + icon: right-arrow + variant: secondary +--- diff --git a/docs/src/lib/categories.ts b/docs/src/lib/categories.ts new file mode 100644 index 0000000000..183dcaece0 --- /dev/null +++ b/docs/src/lib/categories.ts @@ -0,0 +1,39 @@ +import YAML from "yaml"; +import { type PortEntry, ports } from "./ports.ts"; + +export type Category = { + key: string; + name: string; + description: string; + emoji: string; +}; + +const CATEGORIES_URL = + "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f82739e687cfd19d168be355367fdbbcc8e029/resources/categories.yml"; + +const content = await fetch( + CATEGORIES_URL, +).then((res) => res.text()); +const parsed = YAML.parse(content) as Category[]; + +// Turn into a lookup table by key +export const categories = Object.fromEntries(parsed.map((c) => [c.key, c])); + +// Group ports by category +export const categoryMap: Record = ports.reduce( + (acc, port) => { + for (const cat of port.categories) { + if (!acc[cat]) acc[cat] = []; + acc[cat].push(port); + } + return acc; + }, + {} as Record, +); + +// Sort categories by name +export const sortedCategories = Object.keys(categoryMap).sort((a, b) => { + const aName = categories[a]?.name ?? a; + const bName = categories[b]?.name ?? b; + return aName.localeCompare(bName); +}); diff --git a/docs/src/lib/ports.ts b/docs/src/lib/ports.ts new file mode 100644 index 0000000000..07345262a8 --- /dev/null +++ b/docs/src/lib/ports.ts @@ -0,0 +1,51 @@ +// deno-lint-ignore-file no-explicit-any + +import fs from "fs"; +import path from "path"; +import YAML from "yaml"; + +export type Collaborator = string; + +export type PortEntry = { + slug: string; + name: string; + link: string; + categories: string[]; + icon?: string; + color: string; + note?: string; + currentMaintainers?: Collaborator[]; + pastMaintainers?: Collaborator[]; + supports?: Record; +}; + +const file = fs.readFileSync( + path.resolve("../scripts/userstyles.yml"), + "utf-8", +); +const parsed = YAML.parse(file) as { + collaborators: Collaborator[]; + userstyles: Record; +}; + +// TODO: Use proper types from scripts lib once possible. + +// Normalize keys (camelCase) +function normalizePort(slug: string, data: any): PortEntry { + return { + slug, + name: data.name, + link: data.link, + categories: data.categories ?? [], + icon: data.icon, + color: data.color, + note: data.note, + currentMaintainers: data["current-maintainers"] ?? [], + pastMaintainers: data["past-maintainers"] ?? [], + supports: data.supports, + }; +} + +export const ports: PortEntry[] = Object.entries(parsed.userstyles).map( + ([slug, data]) => normalizePort(slug, data), +); diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md deleted file mode 100644 index d58475fed0..0000000000 --- a/docs/tips-and-tricks.md +++ /dev/null @@ -1,250 +0,0 @@ -

-

๐Ÿ“– Tips and tricks for writing a userstyle

-

- -  - -### Table of Contents - - - -- [How can I see my changes in real time?](#how-can-i-see-my-changes-in-real-time) -- [How can I hide sensitive information in preview screenshots?](#how-can-i-hide-sensitive-information-in-preview-screenshots) -- [How do I convert preview images to WebP?](#how-do-i-convert-preview-images-to-webp) - - [Installation](#installation) - - [Usage](#usage) -- [How do I theme images and SVGs?](#how-do-i-theme-images-and-svgs) - - [SVG background images](#svg-background-images) - - [`` elements](#img-elements) -- [How do I set a variable to RGB values?](#how-do-i-set-a-variable-to-rgb-values) -- [How can I inspect hard-to-grab elements?](#how-can-i-inspect-hard-to-grab-elements) -- [How do I theme code blocks / syntax highlighting?](#how-do-i-theme-code-blocks--syntax-highlighting) - - -### How can I see my changes in real time? - -See ["Initial installation and live reload" - Stylus Wiki](https://github.com/openstyles/stylus/wiki/Writing-UserCSS#initial-installation-and-live-reload). - -  - -### How can I hide sensitive information in preview screenshots? - -When taking screenshots of userstyles, you may want to hide sensitive information (such as your username, email, etc.). - -You may use the [Flow Circular](https://fonts.google.com/specimen/Flow+Circular) font to redact details by obscuring any text on the page. - -Use this snippet at the top of your userstyle to import and use the font: - -```less -@import url("https://fonts.googleapis.com/css2?family=Flow+Circular&display=swap"); - -* { - font-family: "Flow Circular", cursive; -} -``` - -  - -### How do I convert preview images to WebP? - -The Catppuccin project prefers to use the [WebP image format](https://en.wikipedia.org/wiki/WebP) for the asset preview images. We recommend using Google's [`cwebp`](https://developers.google.com/speed/webp/docs/cwebp) conversion utility to convert images to WebP. - -#### Installation - -| Method | Instructions | -| ------------------------------------- | -------------------------------------------------------------------------------------- | -| [Homebrew](https://brew.sh/) | `brew install webp` [[view cask]](https://formulae.brew.sh/formula/webp) | -| [MacPorts](https://www.macports.org/) | `sudo port install webp` [[view port]](https://ports.macports.org/port/webp/) | -| Binaries | See https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html. | - -#### Usage - -> [!TIP] -> See [the full documentation on `cwebp`](https://developers.google.com/speed/webp/docs/cwebp) for further reference. - -``` -cwebp -lossless old-image.png -o new-image.webp -``` - -The command above is converting the input image `old-image.png` to the output file `new-image-webp`, with a lossless quality conversion. - -  - -### How do I theme images and SVGs? - -#### SVGs as `background-image`s - -Websites will sometimes use the `background-image` CSS property to apply an SVG, often for icons. We will refer to these as "external SVGs" throughout the rest of this guide, as the SVGs are usually at a different URL and linked to with [`url()`](https://developer.mozilla.org/en-US/docs/Web/CSS/url). Below is an example of what a rule for an external SVG could look like. - -```css -.xyz { - background-image: url("https://example.org/assets/xyz.svg"); -} -``` - -The easiest way to theme external SVGs is to visit the URL of the SVG and paste its contents in between the single quotes of the `escape('')` section of the following template: - -```less -.xyz { - @svg: escape("..."); - background-image: url("data:image/svg+xml,@{svg}"); -} -``` - -> [!NOTE] -> The `Invalid % without number` error may appear if you have not done the following step. Make sure to add/replace an interpolated color in the SVG contents (as is detailed below) for this error to go away. - -Now, replace any colors in the SVG with their respective Catppuccin variants. For example, take the following SVG icon for Twitter: - -```xml - -``` - -There is only one color used, `fill="#1D9BF0"`. That hex code is a shade of blue, so we can replace it with the `@blue` color using the `fill="@{}"` syntax ([variable interpolation](https://lesscss.org/features/#variables-feature-variable-interpolation)). - -```less -.twitter-icon { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); -} -``` - -#### `` elements - -Theming an inline image is similar, but `content` is used instead of `background-image` to cover up the original image with our new one. As with the previous tip for `background-image`, you only need to update the SVG inside of the `escape('')` (see above for details). - -```less -img.xyz { - @svg: escape("..."); - content: url("data:image/svg+xml,@{svg}"); -} -``` - -Again, following the example of theming a Twitter logo: - -```less -img.twitter-icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); -} -``` - -  - -### How do I set a variable to RGB values? - -You can use the following snippet to get the raw RGB values from a color. - -```less -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - ---ctp-base: #rgbify(@base) []; // -> 30, 30, 46 -``` - -  - -### How can I inspect hard-to-grab elements? - -Paste the following snippet into your browser console, then trigger the event. Adjust the delay (in milliseconds) as needed. - -```js -setTimeout(function () { - debugger; -}, 3000); -``` - -![](https://i0.wp.com/css-tricks.com/wp-content/uploads/2017/02/debugger.gif?ssl=1) - -GIF via ["Set a Timed Debugger To Web Inspect Hard-To-Grab Elements" - CSS Tricks](https://css-tricks.com/set-timed-debugger-web-inspect-hard-grab-elements/). - -  - -### How do I theme code blocks / syntax highlighting? - -If a website uses [highlight.js](https://highlightjs.org/) or [Pygments](https://pygments.org/) for syntax highlighting, follow the steps for the syntax higlighter in use below. - -#### highlight.js - -Add the following line at the top of the userstyle, beneath the `@-moz-document` line. - -```css -@import url("https://unpkg.com/@catppuccin/highlightjs@0.2.2/css/catppuccin.variables.important.css"); -``` - -Then add the following lines beneath the color definition section (`@: @catppuccin[@@lookup][@];`) in the `#catppuccin` mixin: - -```css ---ctp-rosewater: #rgbify(@rosewater) []; ---ctp-flamingo: #rgbify(@flamingo) []; ---ctp-pink: #rgbify(@pink) []; ---ctp-mauve: #rgbify(@mauve) []; ---ctp-red: #rgbify(@red) []; ---ctp-maroon: #rgbify(@maroon) []; ---ctp-peach: #rgbify(@peach) []; ---ctp-yellow: #rgbify(@yellow) []; ---ctp-green: #rgbify(@green) []; ---ctp-teal: #rgbify(@teal) []; ---ctp-sky: #rgbify(@sky) []; ---ctp-sapphire: #rgbify(@sapphire) []; ---ctp-blue: #rgbify(@blue) []; ---ctp-lavender: #rgbify(@lavender) []; ---ctp-text: #rgbify(@text) []; ---ctp-subtext1: #rgbify(@subtext1) []; ---ctp-subtext0: #rgbify(@subtext0) []; ---ctp-overlay2: #rgbify(@overlay2) []; ---ctp-overlay1: #rgbify(@overlay1) []; ---ctp-overlay0: #rgbify(@overlay0) []; ---ctp-surface2: #rgbify(@surface2) []; ---ctp-surface1: #rgbify(@surface1) []; ---ctp-surface0: #rgbify(@surface0) []; ---ctp-base: #rgbify(@base) []; ---ctp-mantle: #rgbify(@mantle) []; ---ctp-crust: #rgbify(@crust) []; -``` - -Finally, add the [`#rbgify` mixin](#how-do-i-set-a-variable-to-rgb-values) above the `@catppuccin` color palette at the bottom of the userstyle. - -#### Pygments - -Add the following line at the top of the userstyle, beneath the `@-moz-document` line. - -```css -@import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); -``` - -You'll also need to add the following lines beneath the color definition section (`@: @catppuccin[@@lookup][@];`) in the `#catppuccin` mixin: - -```css ---ctp-rosewater: @rosewater; ---ctp-flamingo: @flamingo; ---ctp-pink: @pink; ---ctp-mauve: @mauve; ---ctp-red: @red; ---ctp-maroon: @maroon; ---ctp-peach: @peach; ---ctp-yellow: @yellow; ---ctp-green: @green; ---ctp-teal: @teal; ---ctp-sky: @sky; ---ctp-sapphire: @sapphire; ---ctp-blue: @blue; ---ctp-lavender: @lavender; ---ctp-text: @text; ---ctp-subtext1: @subtext1; ---ctp-subtext0: @subtext0; ---ctp-overlay2: @overlay2; ---ctp-overlay1: @overlay1; ---ctp-overlay0: @overlay0; ---ctp-surface2: @surface2; ---ctp-surface1: @surface1; ---ctp-surface0: @surface0; ---ctp-base: @base; ---ctp-mantle: @mantle; ---ctp-crust: @crust; -``` diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000000..8bf91d3bb9 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +} diff --git a/docs/userstyle-creation.md b/docs/userstyle-creation.md deleted file mode 100644 index e83148b7e3..0000000000 --- a/docs/userstyle-creation.md +++ /dev/null @@ -1,53 +0,0 @@ -

-

๐ŸŽจ Userstyle Creation

-

- -

- Guidelines for requesting and creating userstyles. -

- -  - -### Table of Contents - - - -- [Requesting userstyles](#requesting-userstyles) -- [Creating userstyles](#creating-userstyles) - - - -### Requesting userstyles - -To request a website to be themed, please create a [Port Request](https://github.com/catppuccin/catppuccin/discussions/new?category=port-requests) discussion on [catppuccin/catppuccin](https://github.com/catppuccin/catppuccin). While this may seem odd, this ensures to keep all of our requests in one place and makes it easier for all people to request what they want without needing to learn what "Stylus" exactly is. - -**If you have already created a userstyle, please raise a -[Pull Request](https://github.com/catppuccin/userstyles/compare)!** - -  - -### Creating userstyles - -To create a userstyle, follow the instructions below. If you run into any difficulties or have any questions, please check our [Tips and tricks](./tips-and-tricks.md) page first. - -1. Fork this repository. -2. Create a new branch under the name `feat/`, (e.g. - `feat/nixos-search` instead of NixOS Search). -3. Create a new folder `styles/`. The name must be - `lower-kebab-case`. -4. Copy the contents of the [`template`](../template/) folder into - `styles/`. - - **The template uses [LESS](https://lesscss.org/#overview), a - preprocessor for Stylus. Please do not change this as we will only accept - userstyles based on the template.** -5. [Write the userstyle](./how-to-write-a-userstyle.md). -6. Edit the [`userstyles.yml`](../scripts/userstyles.yml) file and put in the details - of your port. **More details given in [`userstylesyml.md`](./userstylesyml.md).** -7. Create your image preview. - - Take a screenshot of the themed website in each flavor, and then convert all four images [to WebP](./tips-and-tricks.md#how-do-i-convert-preview-images-to-webp) (e.g. `mocha.webp`, - `macchiato.webp`, `frappe.webp` & `latte.webp`). - - Use [Catwalk](https://github.com/catppuccin/catwalk) to generate a - composite or grid image of all the images. **This must be saved as - `styles//preview.webp`.** -8. Raise a [pull request](https://github.com/catppuccin/userstyles/compare), - making sure to read and fill out the template properly. The title of your pull request should follow the format of `feat(): init`. diff --git a/docs/userstylesyml.md b/docs/userstylesyml.md deleted file mode 100644 index 364be45d38..0000000000 --- a/docs/userstylesyml.md +++ /dev/null @@ -1,143 +0,0 @@ -

-

๐Ÿ“– userstyles.yml

-

- -

- The userstyles.yml file is responsible for tracking all information about each userstyle. -

- -  - -### Table of Contents - - - -- [Adding a new userstyle](#adding-a-new-userstyle) -- [Adding yourself as a maintainer](#adding-yourself-as-a-maintainer) -- [Removing yourself as a maintainer](#removing-yourself-as-a-maintainer) - - -### Adding a new userstyle - -[`userstyles.schema.json`](../scripts/userstyles.schema.json) is the schema -specification for `userstyles.yml`. The properties in the following instructions are based -on the schema. Please refer to it for clarification. - -1. See [Adding yourself as a maintainer](#adding-yourself-as-a-maintainer). - -2. Locate the `userstyles` section and add your port to the list, following the - existing alphabetical order. - - You should make changes to everything wrapped in `<>` and remove the `<>` - characters. If you need help with any of the fields, refer to - other ports in the `userstyles.yml` file. If you would like extra guidance, - you can ask for help in the pull request or join our - [Discord](https://discord.com/servers/catppuccin-907385605422448742). - - `Required Fields:` - - ```yaml - : - name: - # Up to 3 categories are allowed, and having at least one is required. - # The first category is considered the "primary" category and impacts where the userstyle appears on the README. - categories: [] - color: - readme: - app-link: - current-maintainers: [*] - ``` - - `All Fields:` - - These extra `usage` & `faq` keys will ensure that you can add important - information about the port to the README. - - The `icon` key is best explained the schema specification itself. - - The `past-maintainers` key is a list of people who have maintained the port - in the past. We encourage all maintainers to add/remove themselves from this - list as they see fit. - - Remember that these 5 fields are **optional**. - - ```yaml - : - name: - categories: [, , ] - color: - icon: # OPTIONAL - readme: - app-link: "" - usage: |+ # OPTIONAL - > [!NOTE] - > - faq: # OPTIONAL - - question: - answer: - current-maintainers: [*] - past-maintainers: [*] # OPTIONAL - ``` - -### Adding yourself as a maintainer - -To add yourself as a maintainer, you need to add your GitHub username to the -`collaborators` array in the `userstyles.yml` file. This file is located in the -`scripts` directory. The `collaborators` array, is an array of objects, each -object should contain a `name` and a `url` key. And optionally a `name` key, -which is your preferred name. - -```yaml -collaborators: - - & - name: # OPTIONAL - url: https://github.com/ -``` - -Then you need to add your username to the `current-maintainers` array in for the -userstyle you want to maintain, in this case `youtube`. - -```yaml -userstyles: - youtube: - name: YouTube - categories: [entertainment, social_networking, photo_and_video] - icon: youtube - color: red - readme: - app-link: "https://youtube.com" - current-maintainers: [*isabelroses, *your-username] - past-maintainers: [*elkrien] -``` - -If the change is accepted, you will receive an invitation to the `catppuccin` organization, -and become a member of the [`userstyles-maintainers` team](https://github.com/orgs/catppuccin/teams/userstyles-maintainers). -As a maintainer you will be expected to: - -- Review and merge PRs for the userstyle you maintain. -- Keep the userstyle up to date with the latest changes. If you no longer wish to maintain a userstyle, see [Removing yourself as a maintainer](#removing-yourself-as-a-maintainer). -- Follow our code of conduct and guidelines. - -### Removing yourself as a maintainer - -To remove yourself as a maintainer, you will need to move your username from the -`current-maintainers` array to the `past-maintainers` array for each of the userstyles you no longer wish to maintain. In the example for YouTube below, the user `elkrien` has been moved from the `current-maintainers` array to the `past-maintainers` array. - -```diff -userstyles: - youtube: - name: YouTube - categories: [entertainment, social_networking, photo_and_video] - icon: youtube - color: red - readme: - app-link: "https://youtube.com" -- current-maintainers: [*isabelroses, *elkrien] -- past-maintainers: [] -+ current-maintainers: [*isabelroses] -+ past-maintainers: [*elkrien] - -If you would not like to be listed as a past maintainer, you can remove yourself from -`collaborators` array entirely. Upon removal, you will also be removed from the -`userstyles-maintainers` team. -``` diff --git a/flake.lock b/flake.lock index 867fba3576..1680966605 100644 --- a/flake.lock +++ b/flake.lock @@ -2,18 +2,15 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", - "type": "github" + "lastModified": 315532800, + "narHash": "sha256-gVTEpnfY0A1e9++s9s6t26RMTQvRoWexvUGxYhbnzHg=", + "rev": "e4b09e47ace7d87de083786b404bf232eb6c89d8", + "type": "tarball", + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre809757.e4b09e47ace7/nixexprs.tar.xz?rev=e4b09e47ace7d87de083786b404bf232eb6c89d8" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" } }, "root": { diff --git a/flake.nix b/flake.nix index e0ac402d28..9c249bf74c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { description = "Catppuccin userstyles"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + inputs.nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; outputs = { nixpkgs, ... }: diff --git a/lib/lib.less b/lib/lib.less new file mode 100644 index 0000000000..dab95f6028 --- /dev/null +++ b/lib/lib.less @@ -0,0 +1,2 @@ +// Standard library has migrated to a versioned syntax, see https://userstyles.catppuccin.com/contributing/reference/libraries/standard/#v1 for migration details and the latest documentation. +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; diff --git a/lib/std/v1.less b/lib/std/v1.less new file mode 100644 index 0000000000..63a5021d4e --- /dev/null +++ b/lib/std/v1.less @@ -0,0 +1,129 @@ +/* deno-fmt-ignore */ +@catppuccin: { + @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; + @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; + @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; + @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; +}; + +/* deno-fmt-ignore */ +@catppuccin-filters: { + @latte: { @rosewater: brightness(0) saturate(100%) invert(62%) sepia(42%) saturate(525%) hue-rotate(322deg) brightness(94%) contrast(82%); @flamingo: brightness(0) saturate(100%) invert(54%) sepia(48%) saturate(532%) hue-rotate(311deg) brightness(95%) contrast(82%); @pink: brightness(0) saturate(100%) invert(55%) sepia(54%) saturate(548%) hue-rotate(266deg) brightness(100%) contrast(83%); @mauve: brightness(0) saturate(100%) invert(26%) sepia(31%) saturate(3766%) hue-rotate(247deg) brightness(114%) contrast(114%); @red: brightness(0) saturate(100%) invert(28%) sepia(41%) saturate(3765%) hue-rotate(329deg) brightness(79%) contrast(110%); @maroon: brightness(0) saturate(100%) invert(51%) sepia(51%) saturate(3760%) hue-rotate(322deg) brightness(86%) contrast(111%); @peach: brightness(0) saturate(100%) invert(33%) sepia(99%) saturate(2022%) hue-rotate(4deg) brightness(118%) contrast(103%); @yellow: brightness(0) saturate(100%) invert(49%) sepia(94%) saturate(2020%) hue-rotate(0deg) brightness(120%) contrast(75%); @green: brightness(0) saturate(100%) invert(60%) sepia(63%) saturate(538%) hue-rotate(63deg) brightness(76%) contrast(90%); @teal: brightness(0) saturate(100%) invert(39%) sepia(67%) saturate(1026%) hue-rotate(144deg) brightness(95%) contrast(93%); @sky: brightness(0) saturate(100%) invert(53%) sepia(44%) saturate(3749%) hue-rotate(164deg) brightness(95%) contrast(97%); @sapphire: brightness(0) saturate(100%) invert(41%) sepia(70%) saturate(1021%) hue-rotate(151deg) brightness(103%) contrast(78%); @blue: brightness(0) saturate(100%) invert(30%) sepia(36%) saturate(3759%) hue-rotate(209deg) brightness(103%) contrast(110%); @lavender: brightness(0) saturate(100%) invert(48%) sepia(34%) saturate(3762%) hue-rotate(213deg) brightness(108%) contrast(110%); @text: brightness(0) saturate(100%) invert(43%) sepia(43%) saturate(515%) hue-rotate(196deg) brightness(49%) contrast(68%); @subtext1: brightness(0) saturate(100%) invert(63%) sepia(28%) saturate(515%) hue-rotate(196deg) brightness(48%) contrast(67%); @subtext0: brightness(0) saturate(100%) invert(65%) sepia(15%) saturate(535%) hue-rotate(195deg) brightness(63%) contrast(82%); @overlay2: brightness(0) saturate(100%) invert(63%) sepia(20%) saturate(521%) hue-rotate(195deg) brightness(76%) contrast(47%); @overlay1: brightness(0) saturate(100%) invert(72%) sepia(10%) saturate(534%) hue-rotate(195deg) brightness(81%) contrast(70%); @overlay0: brightness(0) saturate(100%) invert(82%) sepia(25%) saturate(510%) hue-rotate(196deg) brightness(92%) contrast(45%); @surface2: brightness(0) saturate(100%) invert(84%) sepia(6%) saturate(528%) hue-rotate(189deg) brightness(88%) contrast(76%); @surface1: brightness(0) saturate(100%) invert(93%) sepia(24%) saturate(506%) hue-rotate(182deg) brightness(86%) contrast(83%); @surface0: brightness(0) saturate(100%) invert(94%) sepia(22%) saturate(523%) hue-rotate(179deg) brightness(96%) contrast(76%); @base: brightness(0) saturate(100%) invert(91%) sepia(37%) saturate(521%) hue-rotate(181deg) brightness(106%) contrast(94%); @mantle: brightness(0) saturate(100%) invert(89%) sepia(26%) saturate(508%) hue-rotate(188deg) brightness(107%) contrast(90%); @crust: brightness(0) saturate(100%) invert(84%) sepia(32%) saturate(502%) hue-rotate(192deg) brightness(111%) contrast(84%); }; + @frappe: { @rosewater: brightness(0) saturate(100%) invert(80%) sepia(22%) saturate(510%) hue-rotate(315deg) brightness(113%) contrast(91%); @flamingo: brightness(0) saturate(100%) invert(78%) sepia(26%) saturate(512%) hue-rotate(311deg) brightness(106%) contrast(86%); @pink: brightness(0) saturate(100%) invert(80%) sepia(22%) saturate(532%) hue-rotate(277deg) brightness(100%) contrast(91%); @mauve: brightness(0) saturate(100%) invert(69%) sepia(37%) saturate(513%) hue-rotate(224deg) brightness(95%) contrast(90%); @red: brightness(0) saturate(100%) invert(58%) sepia(41%) saturate(524%) hue-rotate(310deg) brightness(97%) contrast(85%); @maroon: brightness(0) saturate(100%) invert(67%) sepia(34%) saturate(522%) hue-rotate(309deg) brightness(100%) contrast(83%); @peach: brightness(0) saturate(100%) invert(64%) sepia(32%) saturate(511%) hue-rotate(336deg) brightness(100%) contrast(97%); @yellow: brightness(0) saturate(100%) invert(78%) sepia(25%) saturate(512%) hue-rotate(359deg) brightness(107%) contrast(79%); @green: brightness(0) saturate(100%) invert(84%) sepia(25%) saturate(547%) hue-rotate(49deg) brightness(93%) contrast(82%); @teal: brightness(0) saturate(100%) invert(82%) sepia(21%) saturate(545%) hue-rotate(122deg) brightness(90%) contrast(81%); @sky: brightness(0) saturate(100%) invert(87%) sepia(24%) saturate(513%) hue-rotate(149deg) brightness(92%) contrast(85%); @sapphire: brightness(0) saturate(100%) invert(76%) sepia(32%) saturate(529%) hue-rotate(166deg) brightness(93%) contrast(85%); @blue: brightness(0) saturate(100%) invert(65%) sepia(33%) saturate(518%) hue-rotate(185deg) brightness(96%) contrast(94%); @lavender: brightness(0) saturate(100%) invert(75%) sepia(33%) saturate(509%) hue-rotate(201deg) brightness(96%) contrast(97%); @text: brightness(0) saturate(100%) invert(83%) sepia(29%) saturate(508%) hue-rotate(192deg) brightness(97%) contrast(98%); @subtext1: brightness(0) saturate(100%) invert(81%) sepia(13%) saturate(517%) hue-rotate(190deg) brightness(95%) contrast(85%); @subtext0: brightness(0) saturate(100%) invert(78%) sepia(16%) saturate(515%) hue-rotate(191deg) brightness(95%) contrast(68%); @overlay2: brightness(0) saturate(100%) invert(70%) sepia(17%) saturate(520%) hue-rotate(191deg) brightness(91%) contrast(70%); @overlay1: brightness(0) saturate(100%) invert(73%) sepia(19%) saturate(514%) hue-rotate(189deg) brightness(75%) contrast(69%); @overlay0: brightness(0) saturate(100%) invert(57%) sepia(28%) saturate(505%) hue-rotate(192deg) brightness(75%) contrast(57%); @surface2: brightness(0) saturate(100%) invert(55%) sepia(26%) saturate(532%) hue-rotate(191deg) brightness(62%) contrast(64%); @surface1: brightness(0) saturate(100%) invert(39%) sepia(39%) saturate(506%) hue-rotate(190deg) brightness(59%) contrast(63%); @surface0: brightness(0) saturate(100%) invert(11%) sepia(65%) saturate(1032%) hue-rotate(204deg) brightness(86%) contrast(58%); @base: brightness(0) saturate(100%) invert(11%) sepia(75%) saturate(1023%) hue-rotate(204deg) brightness(60%) contrast(70%); @mantle: brightness(0) saturate(100%) invert(47%) sepia(27%) saturate(530%) hue-rotate(194deg) brightness(31%) contrast(94%); @crust: brightness(0) saturate(100%) invert(30%) sepia(27%) saturate(523%) hue-rotate(194deg) brightness(43%) contrast(96%); }; + @macchiato: { @rosewater: brightness(0) saturate(100%) invert(83%) sepia(22%) saturate(509%) hue-rotate(314deg) brightness(113%) contrast(91%); @flamingo: brightness(0) saturate(100%) invert(78%) sepia(22%) saturate(512%) hue-rotate(311deg) brightness(109%) contrast(88%); @pink: brightness(0) saturate(100%) invert(75%) sepia(23%) saturate(509%) hue-rotate(279deg) brightness(109%) contrast(91%); @mauve: brightness(0) saturate(100%) invert(61%) sepia(70%) saturate(1021%) hue-rotate(210deg) brightness(109%) contrast(93%); @red: brightness(0) saturate(100%) invert(54%) sepia(37%) saturate(528%) hue-rotate(301deg) brightness(110%) contrast(87%); @maroon: brightness(0) saturate(100%) invert(66%) sepia(32%) saturate(496%) hue-rotate(306deg) brightness(99%) contrast(89%); @peach: brightness(0) saturate(100%) invert(69%) sepia(34%) saturate(532%) hue-rotate(335deg) brightness(101%) contrast(91%); @yellow: brightness(0) saturate(100%) invert(87%) sepia(19%) saturate(527%) hue-rotate(0deg) brightness(96%) contrast(93%); @green: brightness(0) saturate(100%) invert(86%) sepia(26%) saturate(541%) hue-rotate(53deg) brightness(100%) contrast(75%); @teal: brightness(0) saturate(100%) invert(85%) sepia(22%) saturate(544%) hue-rotate(117deg) brightness(96%) contrast(78%); @sky: brightness(0) saturate(100%) invert(84%) sepia(28%) saturate(526%) hue-rotate(147deg) brightness(98%) contrast(81%); @sapphire: brightness(0) saturate(100%) invert(75%) sepia(42%) saturate(530%) hue-rotate(168deg) brightness(93%) contrast(91%); @blue: brightness(0) saturate(100%) invert(65%) sepia(33%) saturate(519%) hue-rotate(182deg) brightness(98%) contrast(94%); @lavender: brightness(0) saturate(100%) invert(73%) sepia(33%) saturate(510%) hue-rotate(199deg) brightness(98%) contrast(99%); @text: brightness(0) saturate(100%) invert(73%) sepia(80%) saturate(1008%) hue-rotate(190deg) brightness(120%) contrast(92%); @subtext1: brightness(0) saturate(100%) invert(78%) sepia(12%) saturate(515%) hue-rotate(191deg) brightness(101%) contrast(81%); @subtext0: brightness(0) saturate(100%) invert(78%) sepia(15%) saturate(521%) hue-rotate(190deg) brightness(95%) contrast(70%); @overlay2: brightness(0) saturate(100%) invert(69%) sepia(16%) saturate(521%) hue-rotate(192deg) brightness(90%) contrast(72%); @overlay1: brightness(0) saturate(100%) invert(68%) sepia(16%) saturate(523%) hue-rotate(191deg) brightness(77%) contrast(80%); @overlay0: brightness(0) saturate(100%) invert(68%) sepia(18%) saturate(535%) hue-rotate(194deg) brightness(63%) contrast(78%); @surface2: brightness(0) saturate(100%) invert(52%) sepia(34%) saturate(510%) hue-rotate(193deg) brightness(54%) contrast(61%); @surface1: brightness(0) saturate(100%) invert(46%) sepia(36%) saturate(516%) hue-rotate(194deg) brightness(46%) contrast(72%); @surface0: brightness(0) saturate(100%) invert(41%) sepia(39%) saturate(513%) hue-rotate(194deg) brightness(39%) contrast(82%); @base: brightness(0) saturate(100%) invert(34%) sepia(36%) saturate(527%) hue-rotate(195deg) brightness(38%) contrast(95%); @mantle: brightness(0) saturate(100%) invert(29%) sepia(42%) saturate(541%) hue-rotate(198deg) brightness(30%) contrast(92%); @crust: brightness(0) saturate(100%) invert(27%) sepia(45%) saturate(543%) hue-rotate(200deg) brightness(25%) contrast(93%); }; + @mocha: { @rosewater: brightness(0) saturate(100%) invert(84%) sepia(22%) saturate(508%) hue-rotate(312deg) brightness(113%) contrast(91%); @flamingo: brightness(0) saturate(100%) invert(79%) sepia(23%) saturate(510%) hue-rotate(311deg) brightness(110%) contrast(90%); @pink: brightness(0) saturate(100%) invert(76%) sepia(28%) saturate(508%) hue-rotate(290deg) brightness(112%) contrast(92%); @mauve: brightness(0) saturate(100%) invert(63%) sepia(71%) saturate(1021%) hue-rotate(208deg) brightness(110%) contrast(94%); @red: brightness(0) saturate(100%) invert(61%) sepia(33%) saturate(540%) hue-rotate(293deg) brightness(101%) contrast(90%); @maroon: brightness(0) saturate(100%) invert(70%) sepia(25%) saturate(536%) hue-rotate(301deg) brightness(100%) contrast(84%); @peach: brightness(0) saturate(100%) invert(73%) sepia(36%) saturate(519%) hue-rotate(332deg) brightness(100%) contrast(93%); @yellow: brightness(0) saturate(100%) invert(85%) sepia(27%) saturate(512%) hue-rotate(336deg) brightness(108%) contrast(96%); @green: brightness(0) saturate(100%) invert(86%) sepia(22%) saturate(538%) hue-rotate(63deg) brightness(97%) contrast(88%); @teal: brightness(0) saturate(100%) invert(90%) sepia(24%) saturate(532%) hue-rotate(105deg) brightness(95%) contrast(85%); @sky: brightness(0) saturate(100%) invert(81%) sepia(27%) saturate(522%) hue-rotate(141deg) brightness(99%) contrast(86%); @sapphire: brightness(0) saturate(100%) invert(73%) sepia(43%) saturate(529%) hue-rotate(166deg) brightness(95%) contrast(93%); @blue: brightness(0) saturate(100%) invert(57%) sepia(66%) saturate(1020%) hue-rotate(195deg) brightness(115%) contrast(96%); @lavender: brightness(0) saturate(100%) invert(68%) sepia(33%) saturate(517%) hue-rotate(197deg) brightness(105%) contrast(98%); @text: brightness(0) saturate(100%) invert(75%) sepia(82%) saturate(1008%) hue-rotate(189deg) brightness(120%) contrast(90%); @subtext1: brightness(0) saturate(100%) invert(81%) sepia(11%) saturate(522%) hue-rotate(191deg) brightness(100%) contrast(81%); @subtext0: brightness(0) saturate(100%) invert(79%) sepia(13%) saturate(517%) hue-rotate(191deg) brightness(93%) contrast(71%); @overlay2: brightness(0) saturate(100%) invert(70%) sepia(13%) saturate(523%) hue-rotate(191deg) brightness(88%) contrast(75%); @overlay1: brightness(0) saturate(100%) invert(61%) sepia(17%) saturate(527%) hue-rotate(193deg) brightness(85%) contrast(66%); @overlay0: brightness(0) saturate(100%) invert(67%) sepia(15%) saturate(533%) hue-rotate(193deg) brightness(62%) contrast(82%); @surface2: brightness(0) saturate(100%) invert(58%) sepia(30%) saturate(515%) hue-rotate(196deg) brightness(45%) contrast(62%); @surface1: brightness(0) saturate(100%) invert(44%) sepia(36%) saturate(521%) hue-rotate(198deg) brightness(39%) contrast(70%); @surface0: brightness(0) saturate(100%) invert(10%) sepia(79%) saturate(1035%) hue-rotate(212deg) brightness(62%) contrast(70%); @base: brightness(0) saturate(100%) invert(7%) sepia(23%) saturate(3759%) hue-rotate(219deg) brightness(67%) contrast(84%); @mantle: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(493%) hue-rotate(204deg) brightness(44%) contrast(102%); @crust: brightness(0) saturate(100%) invert(25%) sepia(44%) saturate(549%) hue-rotate(204deg) brightness(18%) contrast(96%); }; +}; + +#lib { + .palette() { + @rosewater: @catppuccin[@@flavor][@rosewater]; + @flamingo: @catppuccin[@@flavor][@flamingo]; + @pink: @catppuccin[@@flavor][@pink]; + @mauve: @catppuccin[@@flavor][@mauve]; + @red: @catppuccin[@@flavor][@red]; + @maroon: @catppuccin[@@flavor][@maroon]; + @peach: @catppuccin[@@flavor][@peach]; + @yellow: @catppuccin[@@flavor][@yellow]; + @green: @catppuccin[@@flavor][@green]; + @teal: @catppuccin[@@flavor][@teal]; + @sky: @catppuccin[@@flavor][@sky]; + @sapphire: @catppuccin[@@flavor][@sapphire]; + @blue: @catppuccin[@@flavor][@blue]; + @lavender: @catppuccin[@@flavor][@lavender]; + @text: @catppuccin[@@flavor][@text]; + @subtext1: @catppuccin[@@flavor][@subtext1]; + @subtext0: @catppuccin[@@flavor][@subtext0]; + @overlay2: @catppuccin[@@flavor][@overlay2]; + @overlay1: @catppuccin[@@flavor][@overlay1]; + @overlay0: @catppuccin[@@flavor][@overlay0]; + @surface2: @catppuccin[@@flavor][@surface2]; + @surface1: @catppuccin[@@flavor][@surface1]; + @surface0: @catppuccin[@@flavor][@surface0]; + @base: @catppuccin[@@flavor][@base]; + @mantle: @catppuccin[@@flavor][@mantle]; + @crust: @catppuccin[@@flavor][@crust]; + @accent: @catppuccin[@@flavor][@@accentColor]; + + @rosewater-filter: @catppuccin-filters[@@flavor][@rosewater]; + @flamingo-filter: @catppuccin-filters[@@flavor][@flamingo]; + @pink-filter: @catppuccin-filters[@@flavor][@pink]; + @mauve-filter: @catppuccin-filters[@@flavor][@mauve]; + @red-filter: @catppuccin-filters[@@flavor][@red]; + @maroon-filter: @catppuccin-filters[@@flavor][@maroon]; + @peach-filter: @catppuccin-filters[@@flavor][@peach]; + @yellow-filter: @catppuccin-filters[@@flavor][@yellow]; + @green-filter: @catppuccin-filters[@@flavor][@green]; + @teal-filter: @catppuccin-filters[@@flavor][@teal]; + @sky-filter: @catppuccin-filters[@@flavor][@sky]; + @sapphire-filter: @catppuccin-filters[@@flavor][@sapphire]; + @blue-filter: @catppuccin-filters[@@flavor][@blue]; + @lavender-filter: @catppuccin-filters[@@flavor][@lavender]; + @text-filter: @catppuccin-filters[@@flavor][@text]; + @subtext1-filter: @catppuccin-filters[@@flavor][@subtext1]; + @subtext0-filter: @catppuccin-filters[@@flavor][@subtext0]; + @overlay2-filter: @catppuccin-filters[@@flavor][@overlay2]; + @overlay1-filter: @catppuccin-filters[@@flavor][@overlay1]; + @overlay0-filter: @catppuccin-filters[@@flavor][@overlay0]; + @surface2-filter: @catppuccin-filters[@@flavor][@surface2]; + @surface1-filter: @catppuccin-filters[@@flavor][@surface1]; + @surface0-filter: @catppuccin-filters[@@flavor][@surface0]; + @base-filter: @catppuccin-filters[@@flavor][@base]; + @mantle-filter: @catppuccin-filters[@@flavor][@mantle]; + @crust-filter: @catppuccin-filters[@@flavor][@crust]; + @accent-filter: @catppuccin-filters[@@flavor][@@accentColor]; + } + + .defaults() { + color-scheme: if(@flavor = latte, light, dark); + + ::selection { + background-color: fade(@accent, 30%); + } + + input, + textarea { + &::placeholder { + color: @subtext0 !important; + } + } + } + + .rgbify(@color) { + @rgb: red(@color), green(@color), blue(@color); + } + + .hslify(@color) { + @raw: e( + %("%s, %s%, %s%", hue(@color), saturation(@color), lightness(@color)) + ); + } + + .css-variables() { + --ctp-rosewater: @rosewater; + --ctp-flamingo: @flamingo; + --ctp-pink: @pink; + --ctp-mauve: @mauve; + --ctp-red: @red; + --ctp-maroon: @maroon; + --ctp-peach: @peach; + --ctp-yellow: @yellow; + --ctp-green: @green; + --ctp-teal: @teal; + --ctp-sky: @sky; + --ctp-sapphire: @sapphire; + --ctp-blue: @blue; + --ctp-lavender: @lavender; + --ctp-text: @text; + --ctp-subtext1: @subtext1; + --ctp-subtext0: @subtext0; + --ctp-overlay2: @overlay2; + --ctp-overlay1: @overlay1; + --ctp-overlay0: @overlay0; + --ctp-surface2: @surface2; + --ctp-surface1: @surface1; + --ctp-surface0: @surface0; + --ctp-base: @base; + --ctp-mantle: @mantle; + --ctp-crust: @crust; + } +} diff --git a/renovate.json b/renovate.json deleted file mode 100644 index b667acb238..0000000000 --- a/renovate.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["local>catppuccin/renovate-config"] -} diff --git a/renovate.json5 b/renovate.json5 new file mode 100644 index 0000000000..ffddb0785a --- /dev/null +++ b/renovate.json5 @@ -0,0 +1,11 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: ["local>catppuccin/renovate-config", "helpers:pinGitHubActionDigests"], + packageRules: [ + // Deno keep releasing minor/patch releases for doc updates so disabling updates to the standard lib + { + matchPackageNames: ["/^@jsr/std__/"], + enabled: false, + }, + ], +} diff --git a/scripts/_prettier.ts b/scripts/_prettier.ts deleted file mode 100644 index f23645d5b2..0000000000 --- a/scripts/_prettier.ts +++ /dev/null @@ -1 +0,0 @@ -import "npm:prettier@3.2.4"; diff --git a/scripts/bump-version/calver.test.ts b/scripts/bump-version/calver.test.ts new file mode 100644 index 0000000000..a193df868e --- /dev/null +++ b/scripts/bump-version/calver.test.ts @@ -0,0 +1,51 @@ +import { CalVer } from "@/bump-version/calver.ts"; + +import { assertEquals } from "@std/assert"; + +Deno.test({ + name: "constructor", + fn() { + const calver = new CalVer("2000.01.01"); + assertEquals(calver.toString(), "2000.01.01"); + }, +}); + +Deno.test({ + name: "incrementWith", + fn() { + const calver = new CalVer("2000.01.01"); + calver.incrementWith(new Date("2000-01-01")); + assertEquals(calver.toString(), "2000.01.01.1"); + calver.incrementWith(new Date("2000-01-01")); + assertEquals(calver.toString(), "2000.01.01.2"); + calver.incrementWith(new Date("2000-01-02")); + assertEquals(calver.toString(), "2000.01.02"); + }, +}); + +Deno.test({ + name: "incrementWith - new year", + fn() { + const calver = new CalVer("2000.12.31"); + calver.incrementWith(new Date("2001-01-01")); + assertEquals(calver.toString(), "2001.01.01"); + }, +}); + +Deno.test({ + name: "incrementWith - new month", + fn() { + const calver = new CalVer("2000.01.31"); + calver.incrementWith(new Date("2000-02-01")); + assertEquals(calver.toString(), "2000.02.01"); + }, +}); + +Deno.test({ + name: "incrementWith - earlier date", + fn() { + const calver = new CalVer("2000.01.01"); + calver.incrementWith(new Date("1999-12-31")); + assertEquals(calver.toString(), "1999.12.31"); + }, +}); diff --git a/scripts/bump-version/calver.ts b/scripts/bump-version/calver.ts new file mode 100644 index 0000000000..209e4bdd38 --- /dev/null +++ b/scripts/bump-version/calver.ts @@ -0,0 +1,37 @@ +export class CalVer { + year: number; + month: number; + day: number; + micro?: number; + + constructor(date: string) { + const [year, month, day, micro] = date.split(".").map((num) => + Number.parseInt(num) + ); + this.year = year; + this.month = month; + this.day = day; + this.micro = micro ?? undefined; + } + + toString() { + return `${this.year}.${this.month.toString().padStart(2, "0")}.${ + this.day.toString().padStart(2, "0") + }${this.micro ? "." + this.micro : ""}`; + } + + incrementWith(date: Date) { + const year = date.getUTCFullYear(); + const month = date.getUTCMonth() + 1; + const day = date.getUTCDate(); + + if (this.year === year && this.month === month && this.day === day) { + this.micro = (this.micro ?? 0) + 1; + } else { + this.year = year; + this.month = month; + this.day = day; + this.micro = undefined; + } + } +} diff --git a/scripts/bump-version/main.ts b/scripts/bump-version/main.ts new file mode 100644 index 0000000000..7c3b038af7 --- /dev/null +++ b/scripts/bump-version/main.ts @@ -0,0 +1,55 @@ +import * as path from "@std/path"; + +import { REPO_ROOT } from "@/constants.ts"; +import { CalVer } from "@/bump-version/calver.ts"; +import { parseArgs } from "@std/cli"; +import { getUserstylesFiles } from "@/utils.ts"; + +const args = parseArgs(Deno.args, { boolean: ["all"] }); + +if (!Deno.env.get("CI") && !args.all) { + throw new Error( + "This script should only be used in CI. Userstyle versions are automatically bumped after pull requests are merged.", + ); +} + +let files = []; + +if (args.all) { + files = getUserstylesFiles(); +} else { + files = args._.filter((val) => typeof val == "string").map((p: string) => + path.join(REPO_ROOT, p) + ); +} + +for ( + const file of files +) { + const content = await Deno.readTextFile(file); + + const metadataMatches = content.match( + /^\/\*\s*==UserStyle==[\s\S]*?==\/UserStyle==\s*\*\//, + ); + if (!metadataMatches) { + throw new Error(`No metadata found in ${file}`); + } + const metadata = metadataMatches[0]; + const post = content.slice(metadata.length); + + const versionMatches = metadata.match(/@version(\s+)(.*)/); + if (!versionMatches) { + throw new Error(`No version found in ${file}`); + } + const whitespace = versionMatches[1]; + + const version = new CalVer(versionMatches[2]); + version.incrementWith(new Date()); + + const newContent = metadata.replace( + /@version\s+.*/, + `@version${whitespace}${version.toString()}`, + ) + post; + + await Deno.writeTextFile(file, newContent); +} diff --git a/scripts/constants.ts b/scripts/constants.ts new file mode 100644 index 0000000000..0189475e68 --- /dev/null +++ b/scripts/constants.ts @@ -0,0 +1,18 @@ +import CATEGORIES_SCHEMA from "@catppuccin/catppuccin/resources/categories.schema.json" with { + type: "json", +}; +import USERSTYLES_SCHEMA from "@/userstyles.schema.json" with { + type: "json", +}; + +import * as path from "@std/path"; + +const ROOT = import.meta.dirname; +if (!ROOT) throw new Error("ROOT was not located."); + +/** + * Absolute path to the repository. + */ +export const REPO_ROOT = path.join(ROOT, ".."); + +export { CATEGORIES_SCHEMA, USERSTYLES_SCHEMA }; diff --git a/scripts/deps.ts b/scripts/deps.ts deleted file mode 100644 index 295b92de45..0000000000 --- a/scripts/deps.ts +++ /dev/null @@ -1,20 +0,0 @@ -import portsSchema from "catppuccin-repo/resources/ports.schema.json" with { - type: "json", -}; -import userStylesSchema from "@/userstyles.schema.json" with { - type: "json", -}; - -import { join } from "@std/path"; - -const ROOT = import.meta.dirname; -if (!ROOT) { - throw new Error("ROOT was not located."); -} - -/** - * absolute path to the repository - */ -export const REPO_ROOT = join(ROOT, ".."); - -export { portsSchema, userStylesSchema }; diff --git a/scripts/generate/labels.ts b/scripts/generate/labels.ts index 56bed9a39f..0d5feac6f1 100644 --- a/scripts/generate/labels.ts +++ b/scripts/generate/labels.ts @@ -1,10 +1,11 @@ -import { join } from "@std/path"; +import type { UserstylesSchema } from "@/types/mod.ts"; +import { REPO_ROOT } from "@/constants.ts"; + +import * as path from "@std/path"; +import * as yaml from "@std/yaml"; -import { REPO_ROOT } from "@/deps.ts"; -import { updateFile } from "@/generate/utils.ts"; -import { UserStylesSchema } from "@/types/mod.ts"; -import { stringify } from "@std/yaml"; import { type ColorName, flavors } from "@catppuccin/palette"; +import { writeWithPreamble } from "@/generate/utils.ts"; /** * Macchiato color definitions as hex values. @@ -15,60 +16,83 @@ const macchiatoHex = flavors.macchiato.colorEntries return acc; }, {} as Record); -const toIssueLabel = (slug: string | number) => `lbl:${slug}`; +const toIssueLabel = (key: string) => `lbl:${key}`; + +const toIssueLabelRegex = (key: string) => `/${toIssueLabel(key)}(,.*)?$/gm`; + +const toPrLabel = (key: string) => `styles/${key}/**/*`; -export const syncIssueLabels = async ( - userstyles: UserStylesSchema.Userstyles, -) => { - updateFile( - join(REPO_ROOT, ".github/issue-labeler.yml"), - stringify( +export async function syncIssueLabels(userstyles: UserstylesSchema.Userstyles) { + // .github/issue-labeler.yml + await writeWithPreamble( + path.join(REPO_ROOT, ".github/issue-labeler.yml"), + yaml.stringify( Object.entries(userstyles) - .reduce((acc, [key]) => { - acc[key.toString()] = [`/${toIssueLabel(key)}(,.*)?$/gm`]; + .reduce((acc, [key, { supports }]) => { + acc[key.toString()] = [toIssueLabelRegex(key)]; + Object.keys(supports ?? {}).forEach((key) => { + acc[key.toString()] = [toIssueLabelRegex(key)]; + }); return acc; }, {} as Record), ), ); - const userstyleIssueContent = Deno.readTextFileSync(join( + // .github/ISSUE_TEMPLATE/userstyle.yml + const userstyleIssueTemplate = Deno.readTextFileSync(path.join( REPO_ROOT, "scripts/generate/templates/userstyle-issue.yml", )); - Deno.writeTextFileSync( - join(REPO_ROOT, ".github/ISSUE_TEMPLATE/userstyle.yml"), - userstyleIssueContent.replace( + await Deno.writeTextFile( + path.join(REPO_ROOT, ".github/ISSUE_TEMPLATE/userstyle.yml"), + userstyleIssueTemplate.replace( `"$LABELS"`, `${ Object.entries(userstyles) - .map(([key]) => `"${toIssueLabel(key)}"`) + .flatMap(([slug, { supports }]) => + [slug, ...Object.keys(supports ?? {})].map((key) => + `"${toIssueLabel(key)}"` + ) + ) + .sort() .join(", ") }`, ), ); // .github/pr-labeler.yml - updateFile( - join(REPO_ROOT, ".github/pr-labeler.yml"), - stringify( + await writeWithPreamble( + path.join(REPO_ROOT, ".github/pr-labeler.yml"), + yaml.stringify( Object.entries(userstyles) - .reduce((acc, [key]) => { - acc[`${key}`] = `styles/${key}/**/*`; + .reduce((acc, [key, { supports }]) => { + acc[key] = toPrLabel(key); + Object.keys(supports ?? {}).forEach((supportedKey) => { + acc[supportedKey] = toPrLabel(key); + }); return acc; }, {} as Record), ), ); // .github/labels.yml - const syncLabelsContent = Object.entries(userstyles) - .map(([slug, style]) => { - return { - name: slug, - description: [style.name].flat().join(", "), - color: style.color ? macchiatoHex[style.color] : macchiatoHex.blue, - }; - }); - const syncLabels = join(REPO_ROOT, ".github/labels.yml"); - // deno-lint-ignore no-explicit-any - await updateFile(syncLabels, stringify(syncLabelsContent as any)); -}; + await writeWithPreamble( + path.join(REPO_ROOT, ".github/labels.yml"), + yaml.stringify( + Object.entries(userstyles).flatMap(([key, style]) => [ + { + name: key, + description: style.name, + color: style.color ? macchiatoHex[style.color] : macchiatoHex.blue, + }, + ...Object.entries(style.supports ?? {}).map(( + [supportedKey, { name }], + ) => ({ + name: supportedKey, + description: name, + color: style.color ? macchiatoHex[style.color] : macchiatoHex.blue, + })), + ]), + ), + ); +} diff --git a/scripts/generate/main.ts b/scripts/generate/main.ts index 48e58f6b81..4038b53da9 100755 --- a/scripts/generate/main.ts +++ b/scripts/generate/main.ts @@ -1,41 +1,23 @@ -#!/usr/bin/env -S deno run -A -import { join } from "@std/path"; -import { portsSchema, REPO_ROOT, userStylesSchema } from "@/deps.ts"; -import type { PortsSchema, UserStylesSchema } from "@/types/mod.ts"; +import * as path from "@std/path"; +import { REPO_ROOT } from "@/constants.ts"; import { syncIssueLabels } from "@/generate/labels.ts"; -import { generateMainReadme } from "@/generate/readme-repo.ts"; import { generateStyleReadmes } from "@/generate/readme-styles.ts"; -import { updateFile } from "@/generate/utils.ts"; -import { validateYaml } from "@/utils.ts"; +import { writeWithPreamble } from "@/generate/utils.ts"; +import { + getAuthenticatedOctokit, + getUserstylesData, + getUserstylesTeamMembers, +} from "@/utils.ts"; -const userstylesYaml = Deno.readTextFileSync( - join(REPO_ROOT, "scripts/userstyles.yml"), -); -const portsYaml = await fetch( - "https://raw.githubusercontent.com/catppuccin/catppuccin/main/resources/ports.yml", -).then((res) => res.text()); - -const [portsData, userstylesData] = await Promise.all([ - await validateYaml( - portsYaml, - portsSchema, - ), - await validateYaml( - userstylesYaml, - userStylesSchema, - ), -]); - -if (!userstylesData.userstyles) { - console.error("No userstyles found"); - Deno.exit(1); +if (!Deno.env.get("CI")) { + throw new Error( + "This script should only be used in CI. Generated READMEs and other health files are automatically updated after pull requests are merged.", + ); } -/** - * Generate the main README.md, listing all ports as a table of contents - */ -await generateMainReadme(userstylesData.userstyles, portsData); +const userstylesData = getUserstylesData(); + /** * Generate README.md files for each style */ @@ -52,24 +34,36 @@ await syncIssueLabels(userstylesData.userstyles); /** * Keep `.github/CODEOWNERS` in sync with the userstyle metadata. */ -const maintainersCodeOwners = () => { +function maintainersCodeOwners() { return Object.entries(userstylesData.userstyles!) .filter(([_, { "current-maintainers": currentMaintainers }]) => currentMaintainers.length > 0 ) .map(([slug, { "current-maintainers": currentMaintainers }]) => { const codeOwners = currentMaintainers - .map((maintainer) => `@${maintainer.url.split("/").pop()}`) + .map((name) => `@${name}`) .join(" "); return `/styles/${slug} ${codeOwners}`; }) .join("\n"); -}; -const userstylesStaffCodeOwners = () => { - const paths = ["/.github/", "/scripts/", "/template/"]; - return paths.map((path) => `${path} @catppuccin/userstyles-staff`).join("\n"); -}; -await updateFile( - join(REPO_ROOT, ".github/CODEOWNERS"), - `${maintainersCodeOwners()}\n\n${userstylesStaffCodeOwners()}`, +} +async function userstylesStaffCodeOwners() { + const paths = ["/.github/", "/scripts/", "/template/", "/lib/"]; + + const octokit = getAuthenticatedOctokit(); + // Set codeowners to include each member of the userstyles-staff team specifically instead of the team as a whole, + // to require individual reviews from each member instead of just one on behalf of the team. + const staffMembers = await getUserstylesTeamMembers( + octokit, + "userstyles-staff", + ); + return paths.map((path) => + `${path} ${staffMembers.map((member) => "@" + member).join(" ")}` + ).join( + "\n", + ); +} +await writeWithPreamble( + path.join(REPO_ROOT, ".github/CODEOWNERS"), + `${maintainersCodeOwners()}\n\n${await userstylesStaffCodeOwners()}`, ); diff --git a/scripts/generate/readme-repo.ts b/scripts/generate/readme-repo.ts deleted file mode 100644 index 652322d2e4..0000000000 --- a/scripts/generate/readme-repo.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { join } from "@std/path"; -import Handlebars from "handlebars"; - -import { REPO_ROOT } from "@/deps.ts"; -import { PortsSchema, UserStylesSchema } from "@/types/mod.ts"; -import { updateFile, updateReadme } from "@/generate/utils.ts"; - -type MappedPorts = { - [k: string]: ( - UserStylesSchema.Userstyle & { path: string } - )[]; -}; - -export const generateMainReadme = async ( - userstyles: UserStylesSchema.Userstyles, - portsData: PortsSchema.PortsSchema, -) => { - if (!portsData.categories) throw ("Ports data is missing categories"); - - const categorized = Object.entries(userstyles) - .reduce((acc, [slug, { categories, ...port }]) => { - // initialize category array if it doesn't exist - // only care about the first (primary) category in the categories array - acc[categories[0]] ??= []; - - acc[categories[0]].push({ path: `styles/${slug}`, categories, ...port }); - - // Sort by name, first array entry if necessary - acc[categories[0]].sort((a, b) => - [a.name].flat()[0].localeCompare([b.name].flat()[0]) - ); - return acc; - }, {} as MappedPorts); - - const portListData = portsData.categories - .filter((category) => categorized[category.key] !== undefined) - .map((category) => { - return { meta: category, ports: categorized[category.key] }; - }); - - const portContent = Handlebars.compile(`{{#each category}} -
-{{emoji}} {{name}} - -{{#each ports}} -- {{#unless maintained}}๐Ÿšง {{/unless}}[{{#each name}}{{ this }}{{#unless @last}}, {{/unless}}{{/each}}]({{ path }}) -{{/each}} - -
-{{/each}}`)({ - category: portListData.map(({ meta, ports }) => { - return { - emoji: meta.emoji, - name: meta.name, - ports: ports.map( - ({ name, path, "current-maintainers": currentMaintainers }) => { - return { - name: [name].flat(), - maintained: currentMaintainers.length > 0, - path, - }; - }, - ), - }; - }), - }); - - const readmePath = join(REPO_ROOT, "README.md"); - await updateFile( - readmePath, - updateReadme({ - readme: Deno.readTextFileSync(readmePath), - section: "userstyles", - newContent: portContent, - }), - false, - ).catch((e) => console.error(e)); -}; diff --git a/scripts/generate/readme-styles.ts b/scripts/generate/readme-styles.ts index a9e384320e..06ea6c4a48 100644 --- a/scripts/generate/readme-styles.ts +++ b/scripts/generate/readme-styles.ts @@ -1,7 +1,9 @@ -import { UserStylesSchema } from "@/types/mod.ts"; -import { join } from "@std/path"; -import { REPO_ROOT } from "@/deps.ts"; +import type { UserstylesSchema } from "@/types/mod.ts"; +import { REPO_ROOT } from "@/constants.ts"; + +import * as path from "@std/path"; import Handlebars from "handlebars"; +import { formatListOfItems } from "@/utils.ts"; // we can have some nice things :) Handlebars.registerHelper( @@ -14,40 +16,36 @@ Handlebars.registerHelper( ); const heading = ( - name: UserStylesSchema.Name, - link: UserStylesSchema.ApplicationLink, + name: UserstylesSchema.Name, + link: UserstylesSchema.Link, + supports: UserstylesSchema.Supports | undefined, ) => { - const [nameArray, linkArray] = [[name].flat(), [link].flat()]; - - if (nameArray.length !== linkArray.length) { - throw new Error( - 'The "name" and "app-link" arrays must have the same length', - ); - } - - return nameArray.map((title, i) => { - return { title, url: linkArray[i] }; - }); + return [{ title: name, url: link }].concat( + Object.values(supports ?? {}).map(({ name, link }) => ({ + title: name, + url: link, + })), + ); }; -const extractName = ( +function getNameWithGitHubUrl( collaborators?: - | UserStylesSchema.CurrentMaintainers - | UserStylesSchema.PastMaintainers, -) => { + | UserstylesSchema.CurrentMaintainers + | UserstylesSchema.PastMaintainers, +) { // no-op when undefined if (!collaborators) return; - // set the name to the github.com/ - return collaborators.map((c) => { - c.name ??= c.url.split("/").pop(); - return c; + // keep name & set the url to the github.com/ + return collaborators.map((name) => { + return { + name, + url: `https://github.com/${name}`, + }; }); -}; +} -export const generateStyleReadmes = ( - userstyles: UserStylesSchema.Userstyles, -) => { - const stylesReadmePath = join( +export function generateStyleReadmes(userstyles: UserstylesSchema.Userstyles) { + const stylesReadmePath = path.join( REPO_ROOT, "scripts/generate/templates/userstyle.md", ); @@ -59,27 +57,33 @@ export const generateStyleReadmes = ( slug, { name, - readme, + link, + note, + supports, "current-maintainers": currentMaintainers, "past-maintainers": pastMaintainers, }, ], ) => { - console.log(`Generating README for ${slug}`); + console.log(`Generating README for styles/${slug}...`); const readmeContent = Handlebars.compile(stylesReadmeContent)({ - heading: heading(name, readme["app-link"]), + heading: heading(name, link, supports), + supportedWebsites: formatListOfItems( + Object.values(supports ?? {}).map(({ name, link }) => + `[${name}](${link})` + ), + ), slug, - usage: readme.usage, - faq: readme.faq, + note, collaborators: { - currentMaintainers: extractName(currentMaintainers), - pastMaintainers: extractName(pastMaintainers), + currentMaintainers: getNameWithGitHubUrl(currentMaintainers), + pastMaintainers: getNameWithGitHubUrl(pastMaintainers), }, }); Deno.writeTextFile( - join(REPO_ROOT, "styles", slug.toString(), "README.md"), + path.join(REPO_ROOT, "styles", slug.toString(), "README.md"), readmeContent, ).catch((e) => console.error(e)); }, ); -}; +} diff --git a/scripts/generate/templates/userstyle-issue.yml b/scripts/generate/templates/userstyle-issue.yml index c13c2f8634..d394a55fc8 100644 --- a/scripts/generate/templates/userstyle-issue.yml +++ b/scripts/generate/templates/userstyle-issue.yml @@ -1,43 +1,63 @@ # THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND. name: Userstyle Issue -description: Report your problems with any of the userstyles here! +description: Report a problem with a userstyle. body: - - type: checkboxes + - id: prerequisites + type: checkboxes attributes: label: Is there an existing issue outlining your problem? description: Please search to see if an issue already exists for your problem. options: - - label: I am using the latest version of the provided userstyle. - required: true - label: I have searched the existing issues and they do not solve my problem. required: true - - type: dropdown + - id: userstyle + type: dropdown attributes: - label: What userstyles are you seeing the problem on? + label: What userstyle are you seeing the problem on? description: "Don't worry about the `lbl:` prefix, it allows issues to be automatically labeled!" - multiple: true + multiple: false options: ["$LABELS"] validations: required: true - - type: textarea + - id: description + type: textarea attributes: - label: Describe your problem. - description: Also tell us, what do you expect to see? + label: Description + description: Describe the problem and what you expect to see instead. placeholder: The navigation bar on the website is highlighted incorrectly... validations: required: true - - type: textarea + - id: screenshots + type: textarea attributes: - label: Attach screenshots. + label: Relevant screenshots description: If applicable, attach screenshots which clearly highlight the issue. - - type: input + - id: browser_version + type: input attributes: - label: What browser(s) are you seeing the problem on? - description: "The browser version is also important, you can find out how to get that info [here](https://github.com/catppuccin/userstyles/blob/main/docs/browsers.md)." + label: Browser version(s) this issue occurs on + description: "To get the browser version, see https://userstyles.catppuccin.com/getting-started/faq/#what-version-of-my-browser-am-i-using." placeholder: Firefox v112.0.2 validations: required: true - - type: textarea + - id: stylus_version + type: input + attributes: + label: Stylus extension version + description: If Stylus is pinned, right-click the extension icon and select "Manage Extension". Otherwise, in the extensions popup, click the settings icon or three dots icon if present and select "Manage Extension". The version is displayed on the resulting page. + placeholder: Stylus 2.3.17 + validations: + required: true + - id: userstyle_version + type: input + attributes: + label: Installed version of the userstyle + description: Versions are listed on Stylus' Manage page. To get the version, click the Stylus extension icon, then in the popup, click Manage. The version is found beside the name of the userstyle. + placeholder: v2025.12.05 + validations: + required: true + - id: additional_comments + type: textarea attributes: label: Any additional comments? description: Add any information that hasn't been covered in the previous sections! diff --git a/scripts/generate/templates/userstyle.md b/scripts/generate/templates/userstyle.md index 7baca4d8fc..c6c8c898b0 100644 --- a/scripts/generate/templates/userstyle.md +++ b/scripts/generate/templates/userstyle.md @@ -10,24 +10,22 @@

- +

-

- -

- -{{#if usage}} ## Usage -{{{ usage }}} -{{/if}} -{{#if faq}} -## ๐Ÿ™‹ FAQ -{{#each faq}} -- Q: {{{ question }}}\ - A: {{{ answer }}} -{{/each}} +{{#if supportedWebsites}} +> [!IMPORTANT] +> This userstyle also applies to {{ supportedWebsites }}. + +{{/if~}} + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +{{#if note}} +> [!NOTE] +> {{{ note }}} {{/if}} {{#if collaborators.currentMaintainers.length}} @@ -36,8 +34,8 @@ - [{{name}}]({{url}}) {{/each}} {{else}} -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! {{/if}} {{#if collaborators.pastMaintainers}} diff --git a/scripts/generate/utils.ts b/scripts/generate/utils.ts index 1293f5b52e..7e451760a1 100644 --- a/scripts/generate/utils.ts +++ b/scripts/generate/utils.ts @@ -1,36 +1,9 @@ -export const updateFile = ( +export function writeWithPreamble( filePath: string, fileContent: string, - comment = true, -) => { - const preamble = comment - ? "# THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND.\n" - : ""; - return Deno.writeTextFile(filePath, preamble + fileContent); -}; - -export const updateReadme = ({ - readme, - section, - newContent, -}: { - readme: string; - section: string; - newContent: string; -}): string => { - const preamble = - ""; - const startMarker = ``; - const endMarker = ``; - const wrapped = `${startMarker}\n${preamble}\n${newContent}\n${endMarker}`; - - if ( - !(readme.includes(startMarker) && readme.includes(endMarker)) - ) { - throw new Error("Markers not found in README.md"); - } - - const pre = readme.split(startMarker)[0]; - const end = readme.split(endMarker)[1]; - return pre + wrapped + end; -}; +) { + return Deno.writeTextFile( + filePath, + "# THIS FILE IS AUTOGENERATED. DO NOT EDIT IT BY HAND.\n" + fileContent, + ); +} diff --git a/scripts/import-styles/main.ts b/scripts/import-styles/main.ts deleted file mode 100644 index b16226b998..0000000000 --- a/scripts/import-styles/main.ts +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env -S deno run -A -import usercssMeta from "usercss-meta"; -import { ensureDir, walk } from "@std/fs"; -import { join } from "@std/path"; - -import { REPO_ROOT } from "@/deps.ts"; - -const stylesheets = walk(join(REPO_ROOT, "styles"), { - includeFiles: true, - includeDirs: false, - includeSymlinks: false, - match: [/\.user.css$/], -}); - -// Recommended settings. -const settings = { - settings: { - updateInterval: 24, - updateOnlyEnabled: true, - patchCsp: true, - }, -}; - -const data: Record[] = [settings]; - -for await (const entry of stylesheets) { - const content = await Deno.readTextFile(entry.path); - const { metadata } = usercssMeta.parse(content); - - data.push({ - enabled: true, - name: metadata.name, - description: metadata.description, - author: metadata.author, - url: metadata.url, - updateUrl: metadata.updateURL, - usercssData: metadata, - sourceCode: content, - }); -} - -await ensureDir("dist"); -Deno.writeTextFile("dist/import.json", JSON.stringify(data)); diff --git a/scripts/lint/file-checker.ts b/scripts/lint/file-checker.ts index 84c8893d66..6b1e751b19 100644 --- a/scripts/lint/file-checker.ts +++ b/scripts/lint/file-checker.ts @@ -1,29 +1,28 @@ -import { exists } from "@std/fs"; -import { join, relative } from "@std/path"; +import { REPO_ROOT } from "@/constants.ts"; + +import * as fs from "@std/fs"; +import * as path from "@std/path"; import core from "@actions/core"; -import { REPO_ROOT } from "@/deps.ts"; -import { log } from "@/lint/logger.ts"; -import * as color from "@std/fmt/colors"; +import { log } from "@/logger.ts"; const requiredFiles = [ - "catppuccin.user.css", - "preview.webp", + "catppuccin.user.less", ]; -export const checkForMissingFiles = async () => { - const stylesRoot = join(REPO_ROOT, "styles"); +export async function checkForMissingFiles() { + const stylesRoot = path.join(REPO_ROOT, "styles"); const missingFiles: string[] = []; for await (const entry of Deno.readDir(stylesRoot)) { if (!entry.isDirectory) continue; - const styleRoot = join(stylesRoot, entry.name); + const styleRoot = path.join(stylesRoot, entry.name); await Promise.all(requiredFiles.map(async (f) => { - const fp = join(styleRoot, f); - const rfp = relative(REPO_ROOT, fp); + const fp = path.join(styleRoot, f); + const rfp = path.relative(REPO_ROOT, fp); - if (!(await exists(fp))) { + if (!(await fs.exists(fp))) { missingFiles.push(rfp); } })); @@ -36,10 +35,10 @@ export const checkForMissingFiles = async () => { .addList(missingFiles) .write(); } else { - missingFiles.map((f) => { - log(color.red(`Missing file:`) + ` ${f}`, { file: f }, "error"); - }); + for (const file of missingFiles) { + log.error(`File does not exist`, { file }); + } } return missingFiles.length === 0; -}; +} diff --git a/scripts/lint/library.ts b/scripts/lint/library.ts new file mode 100644 index 0000000000..e632f86ad1 --- /dev/null +++ b/scripts/lint/library.ts @@ -0,0 +1,51 @@ +import * as path from "@std/path"; +// @ts-types="npm:@types/less"; +import less from "less"; + +import { REPO_ROOT } from "@/constants.ts"; + +const LIB_URL_PREFIX = "https://userstyles.catppuccin.com/lib"; +const LIB_DIRECTORY = path.join(REPO_ROOT, "lib"); + +class InterceptingFileManager extends less.FileManager { + #cache = new Map>(); + + override supports(filename: string) { + return filename.startsWith(LIB_URL_PREFIX); + } + override supportsSync() { + return false; + } + + override async loadFile( + filename: string, + _currentDirectory: string, + _options: Less.LoadFileOptions, + _environment: Less.Environment, + ): Promise { + const relativePath = filename.slice(LIB_URL_PREFIX.length); + const localPath = path.join(LIB_DIRECTORY, relativePath); + + let cached = this.#cache.get(localPath); + if (!cached) { + cached = Deno.readTextFile(localPath).catch(() => { + throw { + type: "File", + message: `${filename} failed: not found at ${localPath}`, + }; + }); + this.#cache.set(localPath, cached); + } + + return { contents: await cached, filename: localPath }; + } +} + +interface LessEnvironment { + addFileManager(fileManager: Less.FileManager): void; +} + +(less as unknown as { environment: LessEnvironment }).environment + .addFileManager( + new InterceptingFileManager(), + ); diff --git a/scripts/lint/logger.ts b/scripts/lint/logger.ts deleted file mode 100644 index bdd9f913c0..0000000000 --- a/scripts/lint/logger.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { sprintf } from "@std/fmt/printf"; -import * as color from "@std/fmt/colors"; -import core from "@actions/core"; - -export type LoggerProps = core.AnnotationProperties & { content?: string }; - -const prettyPrint = ( - message: string, - props: LoggerProps, - severity: "error" | "warning" = "warning", -) => { - const { file, startColumn, startLine } = props; - if (!startLine) return console.log(message); - - const lines = (props.content ?? "").split("\n"); - - const error = [ - color[severity === "error" ? "red" : "yellow"](severity), - message, - ].join(" "); - - const line = lines[startLine - 1].split("").map((char, i) => { - const startCol = (props.startColumn ?? 0) - 1; - const endCol = (props.endColumn ?? Infinity) - 1; - - if (i >= startCol && i <= endCol) { - return color[severity === "error" ? "red" : "yellow"](char); - } else { - return char; - } - }).join(""); - - const pad = startLine.toString().length; - console.log( - [ - color.underline( - sprintf( - "%s%s%s", - file, - startLine ? ":" + startLine : "", - startColumn ? ":" + startColumn : "", - ), - ), - sprintf( - "%*sโ”‚ %s", - pad, - color.dim(String(startLine - 1)), - color.dim(lines[startLine - 2]), - ), - sprintf("%*sโ”‚ %s", pad, color.bold(String(startLine)), line), - sprintf( - "%*sโ”‚ %s", - pad, - color.dim(String(startLine + 1)), - color.dim(lines[startLine]), - ), - sprintf( - "%*sโ•ฐโ”€โ–บ %s", - pad, - "", - error, - ), - undefined, - ].join("\n"), - ); -}; - -export const log = ( - message: string, - props: LoggerProps, - severity: "error" | "warning" = "warning", -) => { - if (Deno.env.has("CI")) { - switch (severity) { - case "error": - core.error(message, props); - break; - case "warning": - core.warning(message, props); - break; - } - } else { - prettyPrint(message, props, severity); - } -}; diff --git a/scripts/lint/main.ts b/scripts/lint/main.ts index 74a7f6a5de..2e6312d4c5 100755 --- a/scripts/lint/main.ts +++ b/scripts/lint/main.ts @@ -1,39 +1,40 @@ -#!/usr/bin/env -S deno run -A -import { walk } from "@std/fs"; +import { REPO_ROOT } from "@/constants.ts"; + import { parseArgs } from "@std/cli"; -import { basename, dirname, join, relative } from "@std/path"; +import * as path from "@std/path"; +import * as color from "@std/fmt/colors"; // @ts-types="npm:@types/less"; import less from "less"; -import { REPO_ROOT } from "@/deps.ts"; import { checkForMissingFiles } from "@/lint/file-checker.ts"; -import { log } from "@/lint/logger.ts"; +import { log } from "@/logger.ts"; import { verifyMetadata } from "@/lint/metadata.ts"; -import { lint } from "@/lint/stylelint.ts"; -import { getUserstylesData } from "@/utils.ts"; +import { runStylelint } from "@/lint/stylelint.ts"; +import { getUserstylesData, getUserstylesFiles } from "@/utils.ts"; import stylelintConfig from "../../.stylelintrc.js"; +import "@/lint/library.ts"; const args = parseArgs(Deno.args, { boolean: ["fix"] }); -const subDir = args._[0]?.toString() ?? ""; -const stylesheets = walk(join(REPO_ROOT, "styles", subDir), { - includeFiles: true, - includeDirs: false, - includeSymlinks: false, - match: [/\.user.css$/], -}); +const userstyle = args._[0]?.toString().match( + /(?styles\/)?(?[a-z0-9_\-.]+)(?\/)?(?catppuccin\.user\.less)?/, +)?.groups?.userstyle; +const stylesheets = userstyle + ? [path.join(REPO_ROOT, "styles", userstyle, "catppuccin.user.less")] + : getUserstylesFiles(); + const { userstyles } = getUserstylesData(); -let failed = false; +let didLintFail = false; -for await (const entry of stylesheets) { - const dir = basename(dirname(entry.path)); - const file = relative(REPO_ROOT, entry.path); +for (const style of stylesheets) { + const dir = path.basename(path.dirname(style)); + const file = path.relative(REPO_ROOT, style); - let content = await Deno.readTextFile(entry.path); + let content = await Deno.readTextFile(style); // Verify the UserCSS metadata. const { globalVars, isLess, fixed } = await verifyMetadata( - entry, + file, content, dir, userstyles, @@ -48,22 +49,33 @@ for await (const entry of stylesheets) { // Try to compile the LESS file, report any errors. less.render(content, { lint: true, globalVars: globalVars }).catch( (err: Less.RenderError) => { - failed = true; - log( + didLintFail = true; + log.error( err.message, { file, startLine: err.line, endLine: err.line, content }, - "error", ); }, ); // Lint with Stylelint. - await lint(entry, content, args.fix, stylelintConfig).catch(() => - failed = true - ); + const results = await runStylelint(style, content, args.fix, stylelintConfig) + .catch(() => didLintFail = true); + Deno.writeTextFileSync(file, typeof results === "string" ? results : content); } -if (await checkForMissingFiles() === false) failed = true; +if (await checkForMissingFiles() === false) didLintFail = true; // Cause the workflow to fail if any issues were found. -if (failed) Deno.exit(1); + +const THIN_SPACE = "\u2009"; + +if (didLintFail || log.failed) { + if (!args.fix) { + console.log( + `\n ${ + color.bold(color.inverse(color.green(`${THIN_SPACE}TIP${THIN_SPACE}`))) + } Run ${color.bold("deno task lint:fix")} to fix autofixable issues.`, + ); + } + Deno.exit(1); +} diff --git a/scripts/lint/metadata.ts b/scripts/lint/metadata.ts index 3d367840d4..abb0f03bb3 100644 --- a/scripts/lint/metadata.ts +++ b/scripts/lint/metadata.ts @@ -1,27 +1,26 @@ -// @ts-types="@/types/usercss-meta.d.ts"; -import usercssMeta from "usercss-meta"; +import type { Userstyles } from "@/types/userstyles.d.ts"; +import { REPO_ROOT } from "@/constants.ts"; + import * as color from "@std/fmt/colors"; +import * as path from "@std/path"; import { sprintf } from "@std/fmt/printf"; -import type { WalkEntry } from "@std/fs"; -import { join, relative } from "@std/path"; -import { REPO_ROOT } from "@/deps.ts"; -import { log } from "@/lint/logger.ts"; +// @ts-types="@/types/usercss-meta.d.ts"; +import usercssMeta from "usercss-meta"; +import { log } from "@/logger.ts"; import { formatListOfItems } from "@/utils.ts"; -import type { Userstyles } from "@/types/userstyles.d.ts"; -export const verifyMetadata = async ( - entry: WalkEntry, +export async function verifyMetadata( + file: string, content: string, userstyle: string, userstyles: Userstyles, fix: boolean, -) => { +) { // `usercss-meta` prohibits any '\r' characters, which seem to be present on Windows. content = content.replaceAll("\r\n", "\n"); - const assert = assertions(userstyle, userstyles); - const file = relative(REPO_ROOT, entry.path); + const assertions = generateAssertions(userstyle, userstyles); const { metadata, errors: parsingErrors } = usercssMeta.parse(content, { allowErrors: true, @@ -29,45 +28,65 @@ export const verifyMetadata = async ( const lines = content.split("\n"); // Pretty print / annotate the parsing errors. - parsingErrors.map((e) => { - let startLine = 0; - for (const line of lines) { - startLine++; - e.index -= line.length + 1; - if (e.index < 0) break; + for (const error of parsingErrors) { + let startLine; + if (error.index !== undefined && !Number.isNaN(error.index)) { + startLine = 0; + for (const line of lines) { + startLine++; + error.index -= line.length + 1; + if (error.index < 0) break; + } } - log(e.message, { file, startLine, content }); - }); - for (const [key, expected] of Object.entries(assert)) { + // Skip "missing mandatory metadata property" ParseError, assertions checks below will cover. + if (error.code === "missingMandatory") continue; + + log.error(error.message, { + file, + startLine, + content, + }); + } + + for (const [key, expected] of Object.entries(assertions)) { const current = metadata[key]; + const atKey = "@" + key; + if (current !== expected) { const line = lines - .findIndex((line) => line.includes(key)) + 1; + .findIndex((line) => line.includes(`${atKey} `)) + 1; const message = current === undefined ? sprintf( - "Metadata `%s` should not be undefined", - color.bold(key), + "UserCSS metadata property `%s` is undefined", + color.bold(atKey), ) : sprintf( - 'Metadata `%s` should be "%s" but is "%s"', - color.bold(key), + 'UserCSS metadata property `%s` should be "%s" but is "%s"', + color.bold(atKey), color.green(expected), color.red(String(current)), ); - log(message, { + log.error(message, { file, startLine: line !== 0 ? line : undefined, content, - }, "warning"); + }); + + if (fix) { + content = content.replace( + `${atKey} ${current}`, + `${atKey} ${expected}`, + ); + } } } const template = (await Deno.readTextFile( - join(REPO_ROOT, "template/catppuccin.user.css"), + path.join(REPO_ROOT, "template/catppuccin.user.less"), )) .split("\n"); @@ -84,7 +103,7 @@ export const verifyMetadata = async ( .findLastIndex((line: string) => line.includes("==/UserStyle== */")) + 1; - log( + log.error( sprintf( "Metadata variable `%s` should exist", color.bold(variable), @@ -94,7 +113,6 @@ export const verifyMetadata = async ( startLine: line !== 0 ? line : undefined, content, }, - "warning", ); } else if (expected.trim() !== lines[current - 1].trim()) { const message = sprintf( @@ -103,11 +121,11 @@ export const verifyMetadata = async ( (/\[[^\]]+\]/.exec(expected) as RegExpExecArray)[0], ); - log(message, { + log.error(message, { file, startLine: current, content, - }, "warning"); + }); if (fix) { content = content.replace(lines[current - 1], expected); @@ -126,38 +144,44 @@ export const verifyMetadata = async ( return { globalVars, - isLess: metadata.preprocessor === assert.preprocessor, + isLess: metadata.preprocessor === assertions.preprocessor, fixed: content, }; -}; +} -const assertions = (userstyle: string, userstyles: Userstyles) => { +function generateAssertions(userstyle: string, userstyles: Userstyles) { const prefix = "https://github.com/catppuccin/userstyles"; - - if (!userstyles[userstyle]) { - log("Metadata section for this userstyle has not been added", { - file: "scripts/userstyles.yml", - }, "error"); + const userstyleData = userstyles[userstyle]; + + if (!userstyleData) { + log.error( + `Metadata section for \`${color.bold(userstyle)}\` userstyle is missing`, + { + file: "scripts/userstyles.yml", + }, + ); Deno.exit(1); } return { name: `${ - Array.isArray(userstyles[userstyle].name) - ? (userstyles[userstyle].name as string[]).join("/") - : userstyles[userstyle].name + [ + userstyleData.name, + ...Object.values(userstyleData.supports ?? {}).map(({ name }) => name), + ].join("/") } Catppuccin`, namespace: `github.com/catppuccin/userstyles/styles/${userstyle}`, homepageURL: `${prefix}/tree/main/styles/${userstyle}`, description: `Soothing pastel theme for ${ - Array.isArray(userstyles[userstyle].name) - ? formatListOfItems(userstyles[userstyle].name as string[]) - : userstyles[userstyle].name + formatListOfItems([ + userstyleData.name, + ...Object.values(userstyleData.supports ?? {}).map(({ name }) => name), + ]) }`, author: "Catppuccin", - updateURL: `${prefix}/raw/main/styles/${userstyle}/catppuccin.user.css`, + updateURL: `${prefix}/raw/main/styles/${userstyle}/catppuccin.user.less`, supportURL: `${prefix}/issues?q=is%3Aopen+is%3Aissue+label%3A${userstyle}`, license: "MIT", preprocessor: "less", }; -}; +} diff --git a/scripts/lint/stylelint-custom/color-operation.js b/scripts/lint/stylelint-custom/color-operation.js new file mode 100644 index 0000000000..e028616c0c --- /dev/null +++ b/scripts/lint/stylelint-custom/color-operation.js @@ -0,0 +1,181 @@ +// @ts-check + +import stylelint from "stylelint"; +import valueParser from "postcss-value-parser"; +import { flavors } from "@catppuccin/palette"; + +const LESS_COLOR_OP_FUNCTIONS = [ + "saturate", + "desaturate", + "lighten", + "darken", + "fadein", + "fadeout", + "fade", + "mix", + "tint", + "shade", +]; +const NUMERICAL_VALUE_REGEX = /^[\d.]+$/; +const VALID_COLOR_VARIABLES = [ + ...Object.keys(flavors.latte.colors).map((color) => "@" + color), + "@accent", +]; + +/** + * Accepts a color operation amount and normalizes it by multiplying it by 100 if it is less than 1. + * @param {string} amount + * @returns {number} + * + * @example + * normalizeColorOperationAmount("0.3") // 30 + * normalizeColorOperationAmount("30") // 30 + */ +function normalizeColorOperationAmount(amount) { + let value = Number.parseFloat(amount); + if (value < 1) value *= 100; + return value; +} + +const { + createPlugin, + utils: { report, ruleMessages, validateOptions }, +} = stylelint; + +const ruleName = "catppuccin/color-operations"; + +const meta = { + fixable: true, +}; + +const messages = ruleMessages(ruleName, { + amount_not_percentage: () => `Function amount argument must be percentage`, + rgba_used_with_variable: () => `Use 'fade' instead of 'rgba' on variables`, + fadeout_used: () => `Use 'fade' instead of 'fadeout'`, + fadein_used: () => `Use 'fade' instead of 'fadein'`, +}); + +/** @type {import('npm:stylelint').Rule} */ +const ruleFunction = (primary, _secondary, context) => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: primary, + possible: [true], + }); + + if (!validOptions) return; + + root.walkDecls((decl) => { + const parsed = valueParser(decl.value); + + parsed.walk((node) => { + if (node.type !== "function") return; + + const pre = decl.prop.length + + (decl.raws.between?.length || 0); + const startIndex = pre + node.sourceIndex; + const endIndex = pre + node.sourceEndIndex - 1; + + // Prevent using `rgba` with variables to change the alpha value. + if ( + node.value === "rgba" && + node.nodes.length === 3 && + node.nodes[0].value.startsWith("@") && + NUMERICAL_VALUE_REGEX.test(node.nodes[2].value) + ) { + if (context.fix) { + node.value = "fade"; + node.nodes[2].value = normalizeColorOperationAmount( + node.nodes[2].value, + ) + "%"; + } else { + report({ + result, + ruleName, + message: messages.rgba_used_with_variable(), + node: decl, + index: startIndex, + endIndex: endIndex, + }); + } + } + + // Use `fade` instead of `fadeout`. + if ( + node.value === "fadeout" + ) { + if ( + context.fix && + // Only autofixable if it follows the pattern of `fadeout(@, %)`. Otherwise, it's ambiguous. + node.nodes.length === 3 && + VALID_COLOR_VARIABLES.includes(node.nodes[0].value) + ) { + node.value = "fade"; + const value = node.nodes[2].value.replace("%", ""); + // Invert the value to get the fade amount. E.g. `fadeout(@color, 30%)` becomes `fade(@color, 70%)`. + node.nodes[2].value = (100 - normalizeColorOperationAmount(value)) + + "%"; + } else { + report({ + result, + ruleName, + message: messages.fadeout_used(), + node: decl, + index: startIndex, + endIndex: endIndex, + }); + } + } + + // Use `fade` instead of `fadein`. Not autofixable because a) on palette variables, it has no effect (increasing opaqueness on a fully opaque color) and b) it's ambiguous otherwise. + if (node.value === "fadein") { + report({ + result, + ruleName, + message: messages.fadein_used(), + node: decl, + index: startIndex, + endIndex: endIndex, + }); + } + + // Use percentage amount values for Less color operation functions. + + if (!LESS_COLOR_OP_FUNCTIONS.includes(node.value)) return; + + const amountArgIndex = node.value === "mix" ? 4 : 2; + + if ( + node.nodes.length === amountArgIndex + 1 && + !node.nodes[amountArgIndex].value.endsWith("%") + ) { + const value = node.nodes[amountArgIndex].value; + if (!NUMERICAL_VALUE_REGEX.test(value)) return; + + if (context.fix) { + node.nodes[amountArgIndex].value = normalizeColorOperationAmount( + value, + ) + "%"; + } else { + report({ + result, + ruleName, + message: messages.amount_not_percentage(), + node: decl, + index: startIndex + node.nodes[amountArgIndex].sourceIndex, + endIndex: startIndex + node.nodes[amountArgIndex].sourceEndIndex - + 1, + }); + } + } + }); + decl.value = parsed.toString(); + }); + }; +}; + +ruleFunction.ruleName = ruleName; +ruleFunction.messages = messages; +ruleFunction.meta = meta; + +export default createPlugin(ruleName, ruleFunction); diff --git a/scripts/lint/stylelint-custom/index.js b/scripts/lint/stylelint-custom/index.js new file mode 100644 index 0000000000..91278615e7 --- /dev/null +++ b/scripts/lint/stylelint-custom/index.js @@ -0,0 +1,9 @@ +import colorOperation from "@/lint/stylelint-custom/color-operation.js"; +import optimizedSvgs from "@/lint/stylelint-custom/optimized-svgs.js"; +import redundantParentSelector from "@/lint/stylelint-custom/redundant-parent-selector.js"; + +export default [ + colorOperation, + optimizedSvgs, + redundantParentSelector, +]; diff --git a/scripts/lint/stylelint-custom/optimized-svgs.js b/scripts/lint/stylelint-custom/optimized-svgs.js index 3b1ef50c27..4b2a3cf276 100644 --- a/scripts/lint/stylelint-custom/optimized-svgs.js +++ b/scripts/lint/stylelint-custom/optimized-svgs.js @@ -54,7 +54,7 @@ const ruleFunction = (primary, _secondary, context) => { "mergePaths", "removeComments", "removeUselessDefs", - "removeScriptElement", + "removeScripts", ], }).data; diff --git a/scripts/lint/stylelint-custom/redundant-parent-selector.js b/scripts/lint/stylelint-custom/redundant-parent-selector.js new file mode 100644 index 0000000000..36133065b7 --- /dev/null +++ b/scripts/lint/stylelint-custom/redundant-parent-selector.js @@ -0,0 +1,99 @@ +// @ts-check + +import stylelint from "stylelint"; +import { assert } from "@std/assert"; + +const { + createPlugin, + utils: { report, ruleMessages, validateOptions }, +} = stylelint; + +const ruleName = "catppuccin/no-redundant-parent-selector"; + +const meta = { + fixable: true, +}; + +const messages = ruleMessages(ruleName, { + rejected: () => `Redundant parent selector is not allowed`, +}); + +/** @type {import('npm:stylelint').Rule} */ +const ruleFunction = (primary, _secondary, context) => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: primary, + possible: [true], + }); + + if (!validOptions) return; + + root.walkRules((rule) => { + if (rule.selectors.length === 1 && rule.selector === "&") { + if (context.fix) { + // Moves the rule's properties to the parent rule *in place* of the parent selector. + // & { + // color: red; + // } + // becomes + // color: red; + + const parent = rule.parent; + + if (parent) { + let idx = parent.index(rule); + assert(idx !== -1); + + rule.each((node) => { + if (node.type === "decl") { + parent.insertAfter( + parent.nodes[idx], + node.clone(), + ); + idx++; + } + }); + + rule.remove(); + } + } else { + report({ + result, + ruleName, + message: messages.rejected(), + node: rule, + }); + } + } + + rule.selector = rule.selector.replace( + // Match "& ", at the start or after a comma and optional whitespace, but not when followed by "when". + /(^|,\s*)&\s+(?!when\b)/g, + (match, prefix, offset) => { + const matchIndex = offset + prefix.length; + const matchEndIndex = matchIndex + 1; // `&` is one character long. + + if (context.fix) { + return prefix; // Remove '& ' but keep the "prefix" (start or comma and whitespace). + } else { + report({ + result, + ruleName, + message: messages.rejected(), + node: rule, + index: matchIndex, + endIndex: matchEndIndex, + }); + } + return match; + }, + ); + }); + }; +}; + +ruleFunction.ruleName = ruleName; +ruleFunction.messages = messages; +ruleFunction.meta = meta; + +export default createPlugin(ruleName, ruleFunction); diff --git a/scripts/lint/stylelint.ts b/scripts/lint/stylelint.ts index bd67df8378..d3a4d29723 100644 --- a/scripts/lint/stylelint.ts +++ b/scripts/lint/stylelint.ts @@ -1,44 +1,44 @@ import * as color from "@std/fmt/colors"; -import type { WalkEntry } from "@std/fs"; -import { relative } from "@std/path"; import "postcss-less"; import stylelint from "stylelint"; import "stylelint-config-standard"; import "stylelint-config-recommended"; -import { REPO_ROOT } from "@/deps.ts"; -import { log } from "@/lint/logger.ts"; +import { log } from "@/logger.ts"; -export const lint = ( - entry: WalkEntry, +export async function runStylelint( + file: string, content: string, fix: boolean, config: stylelint.Config, -) => - stylelint.lint({ code: content, config, fix }) - .then(({ results, code }) => { - if (code) { - Deno.writeTextFileSync(entry.path, code); - } - results.map((result) => { - result.warnings.map((warning) => { - // Some cleanup for fancier logging - dims the rule name. - const message = warning.text?.replace( - new RegExp(`\\(?${warning.rule}\\)?`), - color.dim(`(${warning.rule})`), - ) ?? "unspecified stylelint error"; +): Promise { + const { results, code } = await stylelint.lint({ + code: content, + config, + fix, + }); - log(message, { - file: relative(REPO_ROOT, entry.path), - startLine: warning.line, - endLine: warning.endLine, - startColumn: warning.column, - endColumn: warning.endColumn, - content, - }, warning.severity); - }); + for (const result of results) { + for (const warning of result.warnings) { + // Some cleanup for fancier logging - dims the rule name. + const message = warning.text?.replace( + new RegExp(`\\(?${warning.rule}\\)?`), + color.dim(`(${warning.rule})`), + ) ?? "unspecified stylelint error"; - if (result.warnings.length > 0) throw new Error("stylelint error"); - }); - }); + log.log(message, { + file, + startLine: warning.line, + endLine: warning.endLine, + startColumn: warning.column, + endColumn: warning.endColumn, + content, + }, warning.severity); + } + + if (result.warnings.length > 0) throw new Error("stylelint error"); + } + + return code; +} diff --git a/scripts/logger.ts b/scripts/logger.ts new file mode 100644 index 0000000000..85df45f278 --- /dev/null +++ b/scripts/logger.ts @@ -0,0 +1,114 @@ +import { sprintf } from "@std/fmt/printf"; +import * as color from "@std/fmt/colors"; +import core from "@actions/core"; + +export type LoggerProps = core.AnnotationProperties & { + file: string; + content?: string; +}; + +function prettyPrint( + message: string, + props: LoggerProps, + severity: "error" | "warning" = "warning", +) { + const { file, startColumn, startLine } = props; + + const lines = (props.content ?? "").split("\n"); + + const error = [ + color[severity === "error" ? "red" : "yellow"](severity), + message, + ].join(" "); + + const pad = startLine ? (startLine + 1).toString().length : 0; + + const logs = [color.underline( + sprintf( + "%s%s%s", + file, + startLine ? ":" + startLine : "", + startColumn ? ":" + startColumn : "", + ), + )]; + + if (startLine) { + const line = lines[startLine - 1].split("").map((char, i) => { + const startCol = (props.startColumn ?? 0) - 1; + const endCol = (props.endColumn ?? Infinity) - 1; + + if (i >= startCol && i <= endCol) { + return color[severity === "error" ? "red" : "yellow"](char); + } else { + return char; + } + }).join(""); + + logs.push(...[ + sprintf( + "%sโ”‚ %s", + color.dim(String(startLine - 1).padStart(pad, " ")), + color.dim(lines[startLine - 2]), + ), + sprintf( + "%sโ”‚ %s", + color.bold(String(startLine).padStart(pad, " ")), + line, + ), + sprintf( + "%sโ”‚ %s", + color.dim(String(startLine + 1).padStart(pad, " ")), + color.dim(lines[startLine]), + ), + ]); + } + + logs.push( + sprintf( + "%*sโ•ฐโ”€โ–บ %s", + pad, + "", + error, + ), + ); + + console.log("\n" + logs.join("\n")); +} + +export const log = { + failed: false, + + log: function ( + message: string, + props: LoggerProps, + severity: "error" | "warning", + ) { + if (severity === "error") this.failed = true; + if (Deno.env.has("CI")) { + switch (severity) { + case "error": + core.error(message, props); + break; + case "warning": + core.warning(message, props); + break; + } + } else { + prettyPrint(message, props, severity); + } + }, + + warn: function ( + message: string, + props: LoggerProps, + ) { + this.log(message, props, "warning"); + }, + + error: function ( + message: string, + props: LoggerProps, + ) { + this.log(message, props, "error"); + }, +}; diff --git a/scripts/serve/main.ts b/scripts/serve/main.ts new file mode 100644 index 0000000000..65e47edf78 --- /dev/null +++ b/scripts/serve/main.ts @@ -0,0 +1,111 @@ +import { parseArgs } from "@std/cli"; +import { serveDir } from "@std/http/file-server"; +import { debounce } from "@std/async/debounce"; +import { createHash } from "node:crypto"; + +import * as path from "@std/path"; + +import { REPO_ROOT } from "@/constants.ts"; + +const args = parseArgs(Deno.args, {}); +const userstyle = args._[0] + ?.toString() + .match( + /(?styles\/)?(?[a-z0-9_\-.]+)(?\/)?(?catppuccin\.user\.less)?/, + )?.groups?.userstyle; +if (!userstyle) throw new Error("Invalid userstyle argument"); + +const server = Deno.serve({ + onListen() { + // Disable unnecessary post-startup log. + }, +}, (req: Request) => { + const pathname = new URL(req.url).pathname; + + if (pathname.startsWith("/lib")) { + return serveDir(req, { + fsRoot: "lib", + urlRoot: "lib", + }); + } + + return new Response("404: Not Found", { + status: 404, + }); +}); + +const userstylePath = path.join( + REPO_ROOT, + "styles", + userstyle, + "catppuccin.user.less", +); + +const libPath = path.join( + REPO_ROOT, + "lib", +); + +const tempUserstylePath = await Deno.makeTempFile({ + prefix: "userstyle_", + suffix: ".user.less", +}); + +async function calculateLibChecksum(): Promise { + const files = []; + for await (const entry of Deno.readDir(libPath)) { + if (entry.isFile) { + files.push(path.join(libPath, entry.name)); + } + } + + const hash = createHash("sha256"); + for (const file of files) { + const content = await Deno.readTextFile(file); + hash.update(content); + } + + return hash.digest("hex"); +} + +let lastLibChecksum = await calculateLibChecksum(); + +async function updateTempUserstyle() { + let contents = await Deno.readTextFile(userstylePath); + /* Appends a query parameter suffix to import URLs from userstyles.catppuccin.com, containing the library modules content checksum. */ + const importRegex = + /(@import\s+"https:\/\/userstyles\.catppuccin\.com\/lib\/[^\s]+\.less")/g; + contents = contents.replace(importRegex, (match) => { + return match.replace( + /(\.less)/, + `$1?v=${lastLibChecksum.slice(0, 6)}`, + ); + }); + + /* Then replace the remote userstyles.catppuccin.com host with the local(host) server URL for these imports. */ + contents = contents.replaceAll( + "https://userstyles.catppuccin.com", + `http://localhost:${server.addr.port}`, + ); + + await Deno.writeTextFile(tempUserstylePath, contents); +} + +updateTempUserstyle(); + +console.log(`[serve] ${userstyle} userstyle served at '${tempUserstylePath}'`); + +const reload = debounce(() => { + console.log( + `[serve]: reloaded ${userstyle} userstyle`, + ); + updateTempUserstyle(); +}, 200); + +const watcher = Deno.watchFs([userstylePath, libPath]); +for await (const event of watcher) { + if (event.paths.some((path) => path.startsWith(libPath))) { + lastLibChecksum = await calculateLibChecksum(); + } + reload(); +} diff --git a/scripts/stylus-import/main.ts b/scripts/stylus-import/main.ts new file mode 100644 index 0000000000..6c098ed583 --- /dev/null +++ b/scripts/stylus-import/main.ts @@ -0,0 +1,39 @@ +import usercssMeta from "usercss-meta"; +import { ensureDir } from "@std/fs"; +import { calcStyleDigest } from "https://github.com/openstyles/stylus/raw/8fe35a4b90d85fb911bd7aa1deab4e4733c31150/src/js/sections-util.js"; +import { getUserstylesFiles } from "@/utils.ts"; + +// Recommended settings. +const settings = { + settings: { + updateInterval: 24, + updateOnlyEnabled: true, + patchCsp: true, + "editor.linter": "", + }, +}; + +const data: Record[] = [settings]; + +for (const file of getUserstylesFiles()) { + const content = await Deno.readTextFile(file); + const { metadata } = usercssMeta.parse(content); + + const userstyle = { + enabled: true, + name: metadata.name, + description: metadata.description, + author: metadata.author, + url: metadata.url, + updateUrl: metadata.updateURL, + usercssData: metadata, + sourceCode: content, + } as Record; + + userstyle.originalDigest = await calcStyleDigest(userstyle); + + data.push(userstyle); +} + +await ensureDir("dist"); +await Deno.writeTextFile("dist/import.json", JSON.stringify(data)); diff --git a/scripts/sync-maintainers/main.ts b/scripts/sync-maintainers/main.ts index b5945c1fb9..fd9d83fda3 100755 --- a/scripts/sync-maintainers/main.ts +++ b/scripts/sync-maintainers/main.ts @@ -1,12 +1,14 @@ -#!/usr/bin/env -S deno run -A -import * as assert from "@std/assert"; -import { Octokit } from "@octokit/rest"; +import type { Userstyle } from "@/types/userstyles.d.ts"; -import type { UserStylesSchema } from "@/types/mod.ts"; -import { getUserstylesData } from "@/utils.ts"; +import * as assert from "@std/assert"; -const octokit = new Octokit({ auth: Deno.env.get("GITHUB_TOKEN") }); -const team = { org: "catppuccin", team_slug: "userstyles-maintainers" }; +import { + addUserstylesTeamMember, + getAuthenticatedOctokit, + getUserstylesData, + getUserstylesTeamMembers, + removeUserstylesTeamMember, +} from "@/utils.ts"; const { userstyles } = getUserstylesData(); @@ -14,57 +16,51 @@ const { userstyles } = getUserstylesData(); const maintainers = [ ...new Set( Object.values(userstyles).flatMap(( - style: UserStylesSchema.Userstyle, + style: Userstyle, ) => - style["current-maintainers"].map((m) => { - const username = m.url.split("github.com/")?.pop(); - // Check that they follow github.com/username pattern. - assert.assertExists(username); - return username.toLowerCase(); + style["current-maintainers"].map((name) => { + assert.assertExists(name); + return name.toLowerCase(); }) ), ), ]; -// Lowercase usernames of all maintainers in the current GitHub team. -const teamMembers = await octokit.teams - .listMembersInOrg({ - ...team, - per_page: 100, - }) - .then((res) => res.data.map((m) => m.login.toLowerCase())); +assert.assertExists(maintainers); +assert.assert(Array.isArray(maintainers)); +assert.assertGreater(maintainers.length, 0); -const syncMaintainers = async () => { - if (!maintainers) return; - if (assert.equal(maintainers, teamMembers)) { - console.log("Maintainers are in sync"); - return; - } +const octokit = getAuthenticatedOctokit(); +const team = "userstyles-maintainers"; +const maintainersTeamMembers = await getUserstylesTeamMembers( + octokit, + team, +); - const toAdd = maintainers.filter((m) => !teamMembers.includes(m)); - const toRemove = teamMembers.filter((m) => !maintainers.includes(m)); +if (assert.equal(maintainers, maintainersTeamMembers)) { + console.log("Maintainers are in sync."); + Deno.exit(0); +} - for (const m of toAdd) { - await octokit.teams.addOrUpdateMembershipForUserInOrg({ - ...team, - username: m, - }); - console.log(`Added ${m} to the ${team.org}/${team.team_slug} team.`); - } +const toAdd = maintainers.filter((m) => !maintainersTeamMembers.includes(m)); +const toRemove = maintainersTeamMembers.filter((m) => !maintainers.includes(m)); + +for (const maintainer of toAdd) { + await addUserstylesTeamMember(octokit, team, maintainer); console.log( - `${toAdd.length} users added to the ${team.org}/${team.team_slug} team.`, + `Added ${maintainer} to the catppuccin/${team} team.`, ); +} +console.log( + `${toAdd.length} users added to the catppuccin/${team} team.`, +); - for (const m of toRemove) { - await octokit.teams.removeMembershipForUserInOrg({ - ...team, - username: m, - }); - console.log(`Removed ${m} from the ${team.org}/${team.team_slug} team.`); - } +for (const member of toRemove) { + await removeUserstylesTeamMember(octokit, team, member); console.log( - `${toRemove.length} users removed from the ${team.org}/${team.team_slug} team.`, + `Removed ${member} from the catppuccin/${team} team.`, ); -}; - -await syncMaintainers(); +} +console.log( + `${toRemove.length} users removed from the catppuccin/${team} team.`, +); diff --git a/scripts/tests/__snapshots__/lib.test.ts.snap b/scripts/tests/__snapshots__/lib.test.ts.snap new file mode 100644 index 0000000000..371e090e4e --- /dev/null +++ b/scripts/tests/__snapshots__/lib.test.ts.snap @@ -0,0 +1,20 @@ +export const snapshot = {}; + +snapshot[`#lib.rgbify 1`] = ` +"/* deno-fmt-ignore */ +/* deno-fmt-ignore */ +.foo { + --bar: 255, 0, 0; +} +" +`; + +snapshot[`#lib.hslify 1`] = ` +"/* deno-fmt-ignore */ +/* deno-fmt-ignore */ +.foo { + --bar: 0, 100%, 50%; +} +" +`; + diff --git a/scripts/tests/lib.test.ts b/scripts/tests/lib.test.ts new file mode 100644 index 0000000000..e0bd17f2bf --- /dev/null +++ b/scripts/tests/lib.test.ts @@ -0,0 +1,40 @@ +import { assertSnapshot } from "@std/testing/snapshot"; + +import { REPO_ROOT } from "../constants.ts"; + +// @ts-types="npm:@types/less"; +import less from "less"; + +async function compile(source: string) { + const result = await less.render( + ` +@import "lib/lib.less"; + +${source} +`, + { paths: [REPO_ROOT] }, + ); + return result.css; +} + +Deno.test("#lib.rgbify", async (ctx) => { + await assertSnapshot( + ctx, + await compile(` +.foo { + --bar: #lib.rgbify(red)[]; +} +`), + ); +}); + +Deno.test("#lib.hslify", async (ctx) => { + await assertSnapshot( + ctx, + await compile(` +.foo { + --bar: #lib.hslify(red)[]; +} +`), + ); +}); diff --git a/scripts/types/mod.ts b/scripts/types/mod.ts index d5f9d03acc..253094e598 100644 --- a/scripts/types/mod.ts +++ b/scripts/types/mod.ts @@ -1,9 +1,2 @@ -export * as UserStylesSchema from "@/types/userstyles.d.ts"; -export * as PortsSchema from "catppuccin-repo/resources/types/ports.d.ts"; - -import { Entries } from "type-fest"; -declare global { - interface ObjectConstructor { - entries(o: T): Entries; - } -} +export * as UserstylesSchema from "@/types/userstyles.d.ts"; +export * as CategoriesSchema from "@catppuccin/catppuccin/resources/types/categories.d.ts"; diff --git a/scripts/types/update-types.ts b/scripts/types/update-types.ts new file mode 100755 index 0000000000..12c2c20f38 --- /dev/null +++ b/scripts/types/update-types.ts @@ -0,0 +1,15 @@ +import { REPO_ROOT, USERSTYLES_SCHEMA } from "@/constants.ts"; + +import * as path from "@std/path"; +import { compile, type JSONSchema } from "json-schema-to-typescript"; + +const TYPES_ROOT = path.join(REPO_ROOT, "scripts/types"); + +const types = await compile( + USERSTYLES_SCHEMA as JSONSchema, + "UserstylesSchema", + { + bannerComment: "// deno-fmt-ignore-file", + }, +); +Deno.writeTextFileSync(path.join(TYPES_ROOT, "userstyles.d.ts"), types); diff --git a/scripts/types/userstyles.d.ts b/scripts/types/userstyles.d.ts index e8b5418cd4..cdac1bd8c3 100644 --- a/scripts/types/userstyles.d.ts +++ b/scripts/types/userstyles.d.ts @@ -1,9 +1,13 @@ // deno-fmt-ignore-file /** - * The name of the userstyle(s). + * The name of the userstyle. */ -export type Name = [string, string, ...string[]] | string; +export type Name = string; +/** + * The url of the website that is being themed. + */ +export type Link = string; /** * The categories that fit the userstyle the most, the first category is the primary category which the userstyle will be listed under on the README. * @@ -25,6 +29,7 @@ export type Category = | "development" | "discussion_forum" | "document_viewer" + | "documentation_generator" | "education" | "email_client" | "entertainment" @@ -34,13 +39,15 @@ export type Category = | "health_and_fitness" | "library" | "music" + | "news_and_journalism" | "note_taking" | "notification_daemon" + | "package_registry" | "photo_and_video" | "productivity" | "search_engine" - | "self_hosted" | "social_networking" + | "syntax_highlighting" | "system" | "terminal" | "translation_tool" @@ -71,95 +78,36 @@ export type Color = */ export type Icon = string; /** - * The hyperlink of the app that is being themed. - */ -export type ApplicationLink = [string, string, ...string[]] | string; -/** - * The Usage section of the userstyle README. - */ -export type Usage = string; -/** - * The FAQ section of the userstyle README. - * - * @minItems 1 - */ -export type FAQ = [ - { - question: Question; - answer: Answer; - [k: string]: unknown; - }, - ...{ - question: Question; - answer: Answer; - [k: string]: unknown; - }[] -]; -/** - * A question that a user may have about the userstyle. + * An additional note that users should read. */ -export type Question = string; +export type Note = string; /** - * An answer to the question about the userstyle. + * The name of the website. */ -export type Answer = string; -/** - * The display name of the collaborator to show in the userstyle README. - */ -export type DisplayName = string; -/** - * The GitHub profile link of the collaborator to show in the userstyle README. - */ -export type GitHubProfile = string; +export type WebsiteName = string; /** * List of all active maintainers for this userstyle. */ -export type CurrentMaintainers = { - name?: DisplayName; - url: GitHubProfile; - [k: string]: unknown; -}[]; +export type CurrentMaintainers = string[]; /** * List of all users that have maintained this userstyle in the past. * * @minItems 1 */ -export type PastMaintainers = [ - { - name?: DisplayName; - url: GitHubProfile; - [k: string]: unknown; - }, - ...{ - name?: DisplayName; - url: GitHubProfile; - [k: string]: unknown; - }[] -]; +export type PastMaintainers = [string, ...string[]]; /** * Represents all maintainers and contributors to all userstyles. * * @minItems 1 */ -export type AllCollaborators = [ - { - name?: DisplayName; - url: GitHubProfile; - [k: string]: unknown; - }, - ...{ - name?: DisplayName; - url: GitHubProfile; - [k: string]: unknown; - }[] -]; +export type AllCollaborators = [string, ...string[]]; export interface UserstylesSchema { userstyles?: Userstyles; collaborators?: AllCollaborators; } /** - * All userstyles in the Catppuccin org. + * All userstyles in the Catppuccin organisation. */ export interface Userstyles { [k: string]: Userstyle; @@ -172,19 +120,28 @@ export interface Userstyles { */ export interface Userstyle { name: Name; + link: Link; categories: Categories; color: Color; icon?: Icon; - readme: README; + note?: Note; + supports?: Supports; "current-maintainers": CurrentMaintainers; "past-maintainers"?: PastMaintainers; } /** - * Options to help in the auto-generation of the userstyle README. + * All websites that the userstyle also supports. + */ +export interface Supports { + [k: string]: Website; +} +/** + * The unique identifier of the supported website, usually the name of the website lowercased. + * + * This interface was referenced by `Supports`'s JSON-Schema definition + * via the `patternProperty` "[A-Za-z0-9_\-]". */ -export interface README { - "app-link": ApplicationLink; - usage?: Usage; - faq?: FAQ; - [k: string]: unknown; +export interface Website { + name: WebsiteName; + link: Link; } diff --git a/scripts/update-types.ts b/scripts/update-types.ts deleted file mode 100755 index a3303e966b..0000000000 --- a/scripts/update-types.ts +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env -S deno run -A -// deno-lint-ignore-file no-explicit-any -import { join } from "@std/path"; -import { compile, Options } from "json-schema-to-typescript"; -import { REPO_ROOT, userStylesSchema } from "@/deps.ts"; - -const options = { - bannerComment: "// deno-fmt-ignore-file", -} satisfies Partial; - -const TYPES_ROOT = join(REPO_ROOT, "scripts/types"); - -compile(userStylesSchema as any, "UserstylesSchema", options) - .then((ts) => - Deno.writeTextFileSync(join(TYPES_ROOT, "userstyles.d.ts"), ts) - ); diff --git a/scripts/userstyles.schema.json b/scripts/userstyles.schema.json index b450b68714..01846fe7c4 100644 --- a/scripts/userstyles.schema.json +++ b/scripts/userstyles.schema.json @@ -7,7 +7,7 @@ "$id": "#userstyles", "title": "Userstyles", "type": "object", - "description": "All userstyles in the Catppuccin org.", + "description": "All userstyles in the Catppuccin organisation.", "patternProperties": { "[A-Za-z0-9_\\-]": { "$id": "#userstyles/userstyle", @@ -15,121 +15,59 @@ "type": "object", "description": "The directory of the userstyle.", "examples": ["youtube"], - "required": ["name", "categories", "readme", "color", "current-maintainers"], "additionalProperties": false, "properties": { "name": { - "$id": "#userstyles/userstyle/name", - "title": "Name", - "description": "The name of the userstyle(s).", - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 2, - "examples": [["AniList", "AniChart"]] - }, - { - "type": "string", - "examples": ["YouTube"] - } - ] + "description": "The name of the userstyle.", + "$ref": "#/$defs/name" + }, + "link": { + "$ref": "#/$defs/link" }, "categories": { - "$id": "#userstyles/userstyle/categories", - "title": "Categories", - "description": "The categories that fit the userstyle the most, the first category is the primary category which the userstyle will be listed under on the README.", "$ref": "#/$defs/categories" }, "color": { - "$id": "#userstyles/userstyle/color", - "title": "Color", - "description": "The fill color for the icon on the Catppuccin website, which should match the color used by Simple Icons. If the icon does not exist in Simple Icons, choose the most suitable color from the branding.", - "type": "string", - "enum": [ - "rosewater", - "flamingo", - "pink", - "mauve", - "red", - "maroon", - "peach", - "yellow", - "green", - "teal", - "sky", - "sapphire", - "blue", - "lavender", - "text" - ], - "examples": ["pink"] + "$ref": "#/$defs/color" }, "icon": { - "$id": "#userstyles/userstyle/icon", - "title": "Icon", - "description": "The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.", - "type": "string", - "examples": ["twitch", "twitch.svg"] + "$ref": "#/$defs/icon" }, - "readme": { - "$id": "#userstyles/userstyle/readme", - "title": "README", - "description": "Options to help in the auto-generation of the userstyle README.", + "note": { + "$id": "#userstyles/userstyle/note", + "title": "Note", + "description": "An additional note that users should read.", + "type": "string" + }, + "supports": { + "$id": "#userstyles/userstyle/supports", + "title": "Supports", "type": "object", - "required": ["app-link"], - "properties": { - "app-link": { - "$id": "#userstyles/userstyle/readme/app-link", - "title": "Application Link", - "description": "The hyperlink of the app that is being themed.", - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 2, - "examples": [ - ["https://anilist.co", "https://anichart.net"] - ] + "description": "All websites that the userstyle also supports.", + "patternProperties": { + "[A-Za-z0-9_\\-]": { + "$id": "#userstyles/userstyle/supports/website", + "title": "Website", + "type": "object", + "description": "The unique identifier of the supported website, usually the name of the website lowercased.", + "examples": ["anichart"], + "additionalProperties": false, + "properties": { + "name": { + "$id": "#userstyles/userstyle/supports/website/name", + "title": "Website Name", + "description": "The name of the website.", + "examples": ["AniChart"], + "$ref": "#/$defs/name" }, - { - "type": "string", - "examples": ["https://github.com"] + "link": { + "$ref": "#/$defs/link" } + }, + "required": [ + "name", + "link" ] - }, - "usage": { - "$id": "#userstyles/userstyle/readme/usage", - "title": "Usage", - "description": "The Usage section of the userstyle README.", - "type": "string" - }, - "faq": { - "$id": "#userstyles/userstyle/readme/faq", - "title": "FAQ", - "description": "The FAQ section of the userstyle README.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "question": { - "type": "string", - "title": "Question", - "description": "A question that a user may have about the userstyle." - }, - "answer": { - "type": "string", - "title": "Answer", - "description": "An answer to the question about the userstyle." - } - }, - "required": ["question", "answer"] - } } } }, @@ -148,7 +86,14 @@ "description": "List of all users that have maintained this userstyle in the past.", "$ref": "#/$defs/collaborators" } - } + }, + "required": [ + "name", + "categories", + "link", + "color", + "current-maintainers" + ] } } }, @@ -162,75 +107,67 @@ } }, "$defs": { + "name": { + "$id": "#name", + "title": "Name", + "type": "string", + "examples": ["YouTube"] + }, + "link": { + "$id": "#link", + "title": "Link", + "description": "The url of the website that is being themed.", + "type": "string" + }, + "color": { + "$id": "#color", + "title": "Color", + "description": "The fill color for the icon on the Catppuccin website, which should match the color used by Simple Icons. If the icon does not exist in Simple Icons, choose the most suitable color from the branding.", + "type": "string", + "enum": [ + "rosewater", + "flamingo", + "pink", + "mauve", + "red", + "maroon", + "peach", + "yellow", + "green", + "teal", + "sky", + "sapphire", + "blue", + "lavender", + "text" + ], + "examples": ["pink"] + }, + "icon": { + "$id": "#icon", + "title": "Icon", + "description": "The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.", + "type": "string", + "examples": ["twitch", "twitch.svg"] + }, "collaborators": { "$id": "#collaborators", + "description": "The GitHub username of the collaborator.", "type": "array", "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Display Name", - "description": "The display name of the collaborator to show in the userstyle README." - }, - "url": { - "type": "string", - "title": "GitHub Profile", - "description": "The GitHub profile link of the collaborator to show in the userstyle README." - } - }, - "required": ["url"] + "type": "string" } }, "categories": { "$id": "#categories", "type": "array", + "title": "Categories", + "description": "The categories that fit the userstyle the most, the first category is the primary category which the userstyle will be listed under on the README.", "minItems": 1, "maxItems": 3, "items": { - "$ref": "#/$defs/category" + "$ref": "https://raw.githubusercontent.com/catppuccin/catppuccin/refs/heads/main/resources/categories.schema.json#/$defs/category" } - }, - "category": { - "$id": "#category", - "type": "string", - "enum": [ - "3d_modelling", - "analytics", - "application_launcher", - "artificial_intelligence", - "boot_loader", - "browser", - "browser_extension", - "cli", - "code_editor", - "desktop_environment", - "development", - "discussion_forum", - "document_viewer", - "education", - "email_client", - "entertainment", - "file_manager", - "game", - "game_development", - "health_and_fitness", - "library", - "music", - "note_taking", - "notification_daemon", - "photo_and_video", - "productivity", - "search_engine", - "self_hosted", - "social_networking", - "system", - "terminal", - "translation_tool", - "userstyle", - "wiki", - "window_manager" - ] } } } diff --git a/scripts/userstyles.yml b/scripts/userstyles.yml index 46b57f4be5..57c1872f88 100644 --- a/scripts/userstyles.yml +++ b/scripts/userstyles.yml @@ -1,971 +1,1028 @@ collaborators: - - &anubisnekhet - url: https://github.com/AnubisNekhet - - &ndsboy - url: https://github.com/ndsboy - - &jn-sena - name: Sena - url: https://github.com/jn-sena - - &watatomo - name: Ren - url: https://github.com/watatomo - - &ryanccn - name: Ryan Cao - url: https://github.com/ryanccn - - &pocco81 - url: https://github.com/Pocco81 - - &glowingumbreon - name: Umbreon - url: https://github.com/GlowingUmbreon - - &justtobbi - url: https://github.com/justTOBBI - - &unseen-ninja - name: Lemon - url: https://github.com/unseen-ninja - - &lucasmelin - name: Lucas Melin - url: https://github.com/lucasmelin - - &gingeh - url: https://github.com/Gingeh - - &isabelroses - name: Isabel - url: https://github.com/isabelroses - - &thismoon - url: https://github.com/thismoon - - &cecelot - name: Sydney Newmark - url: https://github.com/cecelot - - &soya-daizu - name: soya_daizu - url: https://github.com/soya-daizu - - &jayylmao - url: https://github.com/jayylmao - - &sekki21956 - name: Sekki - url: https://github.com/Sekki21956 - - &winston - name: winston - url: https://github.com/nekowinston - - &gitmuslim - url: https://github.com/GitMuslim - - &tnixc - name: Tnixc - url: https://github.com/Tnixc - - &elkrien - name: Elkrien - url: https://github.com/elkrien - - &thememesniper - name: TheMemeSniper - url: https://github.com/TheMemeSniper - - &spaghettiosareyummy - url: https://github.com/spaghettiosareyummy - - &stonks3141 - name: Stonks3141 - url: https://github.com/Stonks3141 - - &rubyowo - url: https://github.com/rubyowo - - &gandalf-the-blue - name: Gandalf the Blue - url: https://github.com/Gandalf-the-Blue - - &francorav - name: FrancoRav - url: https://github.com/FrancoRav - - &coldenate - name: coldenate - url: https://github.com/coldenate - - &skelebro1 - name: skele - url: https://github.com/skelebro1 - - &r58Playz - name: r58Playz - url: https://github.com/r58Playz - - &rockquiet - name: rockquiet - url: https://github.com/rockquiet - - &nyameliaaaa - name: Amelia Rose - url: https://github.com/Nyameliaaaa - - &nyatalieeee - name: Natalie Raine - url: https://github.com/Nyatalieeee - - &bartlibert - name: Bart Libert - url: https://github.com/bartlibert - - &BlankParticle - name: BlankParticle - url: https://github.com/BlankParticle - - &genshibe - name: GenShibe - url: https://github.com/GenShibe - - &coopw1 - name: coopw - url: https://github.com/coopw1 - - &rooot - name: rooot - url: https://github.com/RoootTheFox - - &itzTheMeow - name: Meow - url: https://github.com/itzTheMeow - - &Dandraghas - name: Dandraghas - url: https://github.com/Dandraghas - - &uncenter - name: uncenter - url: https://github.com/uncenter - - &thomas-philippot - name: Thomas Philippot - url: https://github.com/thomas-philippot - - &Guaxinim5573 - name: Guaxinim5573 - url: https://github.com/Guaxinim5573 - - &trinkey - url: https://github.com/trinkey - - &NK308 - url: https://github.com/NK308 - name: NK308 - - &00dani - url: https://github.com/00dani - - &kerichdev - name: keri - url: https://github.com/kerichdev - - &Flapperoo - name: Eli - url: https://github.com/Flapperoo - - &jh-devv - name: jh-devv - url: https://github.com/jh-devv - - &stellophiliac - url: https://github.com/stellophiliac + - &nik-rev nik-rev + - &AlwaysNur AlwaysNur + - &AnubisNekhet AnubisNekhet + - &ndsboy ndsboy + - &jn-sena jn-sena + - &watatomo watatomo + - &ryanccn ryanccn + - &Pocco81 Pocco81 + - &GlowingUmbreon GlowingUmbreon + - &justTOBBI justTOBBI + - &unseen-ninja unseen-ninja + - &lucasmelin lucasmelin + - &Gingeh Gingeh + - &isabelroses isabelroses + - &thismoon thismoon + - &sydrinea sydrinea + - &soya-daizu soya-daizu + - &jayylmao jayylmao + - &Sekki21956 Sekki21956 + - &nekowinston nekowinston + - &Tnixc Tnixc + - &elkrien elkrien + - &TheMemeSniper TheMemeSniper + - &spaghettiosareyummy spaghettiosareyummy + - &Stonks3141 Stonks3141 + - &rubyowo rubyowo + - &Gandalf-the-Blue Gandalf-the-Blue + - &FrancoRav FrancoRav + - &coldenate coldenate + - &skelebro1 skelebro1 + - &r58Playz r58Playz + - &rockquiet rockquiet + - &Nyameliaaaa Nyameliaaaa + - &Meowcelinee Meowcelinee + - &bartlibert bartlibert + - &BlankParticle BlankParticle + - &GenShibe GenShibe + - &coopw1 coopw1 + - &RoootTheFox RoootTheFox + - &itzTheMeow itzTheMeow + - &Dandraghas Dandraghas + - &uncenter uncenter + - &thomas-philippot thomas-philippot + - &Guaxinim5573 Guaxinim5573 + - &trinkey trinkey + - &NK308 NK308 + - &00dani 00dani + - &kerichdev kerichdev + - &Flapperoo Flapperoo + - &sofiedotcafe sofiedotcafe + - &stellophiliac stellophiliac + - &bunfluff bunfluff + - &NeonGamerBot-QK NeonGamerBot-QK + - &orangci orangci + - &Lichthagel Lichthagel + - &comfysage comfysage + - &janTatesa janTatesa + - &mxgic1337 mxgic1337 + - &steinuil steinuil + - &husjon husjon + - &RaiderHCPlay RaiderHCPlay + - &ruiiiijiiiiang ruiiiijiiiiang + - &pynappo pynappo + - &nuexq nuexq + - &WalkQuackBack WalkQuackBack + - &gradylink gradylink + - &ashish0kumar ashish0kumar + - &shnjd shnjd + - &zenoix zenoix + - &incognitotgt incognitotgt + - &NekoDrone NekoDrone + - &adamperkowski adamperkowski + - &ImenaOphelia ImenaOphelia + - &koibtw koibtw + - &TheAnonymousCrusher TheAnonymousCrusher + - &42willow 42willow userstyles: advent-of-code: name: Advent Of Code + link: https://adventofcode.com categories: [game, entertainment] icon: adventofcode color: yellow - readme: - app-link: https://adventofcode.com current-maintainers: [*rubyowo] + alacritty.org: + name: alacritty.org + link: https://alacritty.org + categories: [terminal, development] + icon: alacritty + color: peach + current-maintainers: [*AlwaysNur] + alternativeto: + name: AlternativeTo + link: https://alternativeto.net + categories: [productivity, discussion_forum] + color: sapphire + current-maintainers: [*thismoon] amplenote: name: Amplenote - categories: [productivity] + link: https://www.amplenote.com + categories: [note_taking] color: blue - readme: - app-link: "https://www.amplenote.com" current-maintainers: [*stellophiliac] anilist: - name: ["AniList", "AniChart"] + name: AniList + link: https://anilist.co categories: [entertainment, social_networking] icon: anilist color: sky - readme: - app-link: ["https://anilist.co", "https://anichart.net"] - usage: |+ - > [!NOTE] - > This theme applies to [AniChart](https://anichart.net/) as well, which is an extension of AniList. - current-maintainers: [*anubisnekhet] + supports: + anichart: + name: AniChart + link: https://anichart.net + current-maintainers: [*AnubisNekhet] + anonymous-overflow: + name: Anonymous Overflow + categories: [discussion_forum, wiki] + color: green + link: https://github.com/httpjamesm/AnonymousOverflow + current-maintainers: [*ImenaOphelia] arch-wiki: name: Arch Wiki - categories: [wiki, productivity] + link: https://wiki.archlinux.org + categories: [wiki] icon: archlinux color: blue - readme: - app-link: "https://wiki.archlinux.org/" - usage: "Make sure to use the default **Light** theme" + note: "Make sure to use the default **Light** theme." current-maintainers: [] - past-maintainers: [*genshibe] + past-maintainers: [*GenShibe] boringproxy: name: boringproxy + link: https://boringproxy.io categories: [development] color: text - readme: - app-link: "https://boringproxy.io" - current-maintainers: [*gandalf-the-blue] + current-maintainers: [*Gandalf-the-Blue] brave-search: name: Brave Search + link: https://search.brave.com categories: [search_engine] icon: brave color: peach - readme: - app-link: "https://search.brave.com" - usage: "Make sure to set the theme to either dark or light in Brave Search settings, as the automatic setting will not work." + note: "Make sure to set the theme to either dark or light in Brave Search settings, as the automatic setting will not work." current-maintainers: [*ndsboy] bsky: name: Bluesky Social - categories: [social_networking, entertainment] + link: https://bsky.app + categories: [social_networking] icon: bluesky color: blue - readme: - app-link: "https://bsky.app" - current-maintainers: [*rooot] + current-maintainers: [*RoootTheFox] bstats: name: bStats - categories: [game, entertainment] + link: https://bstats.org + categories: [analytics, game_development] color: green - readme: - app-link: "https://bstats.org" - usage: "Make sure to use the default **Teal** theme from the built-in color picker (located at the bottom of the page) for the best experience!" + note: "Make sure to use the default **Teal** theme from the built-in color picker (located at the bottom of the page) for the best experience!" current-maintainers: [*rockquiet] canvas-lms: name: Canvas LMS - categories: [education, productivity] + link: https://www.instructure.com/canvas + categories: [education] icon: canvas color: red - readme: - app-link: "https://www.instructure.com/canvas" - current-maintainers: [] - past-maintainers: [*thememesniper] + current-maintainers: [*pynappo] + past-maintainers: [*TheMemeSniper] chatgpt: name: ChatGPT - categories: [artificial_intelligence, productivity] + link: https://chat.openai.com + categories: [artificial_intelligence] icon: openai color: green - readme: - app-link: "https://chat.openai.com" current-maintainers: [*uncenter] past-maintainers: [*rubyowo] chatreplay: name: ChatReplay + link: https://chatreplay.stream categories: [entertainment, social_networking] color: peach - readme: - app-link: "https://chatreplay.stream" - current-maintainers: [*anubisnekhet] + current-maintainers: [*AnubisNekhet] chess.com: name: Chess.com - categories: [game, education] + link: https://chess.com + categories: [game] icon: chessdotcom color: green - readme: - app-link: "https://chess.com" - current-maintainers: [] + current-maintainers: [*uncenter] past-maintainers: [*skelebro1, *isabelroses, *coldenate] cinny: name: Cinny + link: https://cinny.in categories: [social_networking] color: text - readme: - app-link: "https://cinny.in" current-maintainers: [*jn-sena] + claude: + name: Claude + link: https://claude.ai + categories: [artificial_intelligence, productivity] + color: peach + icon: claude + current-maintainers: [*ruiiiijiiiiang] codeberg: name: Codeberg - categories: [development, productivity] + link: https://codeberg.org + categories: [development] icon: codeberg color: blue - readme: - app-link: "https://codeberg.org" current-maintainers: [*isabelroses] - past-maintainers: [*justtobbi] + past-maintainers: [*justTOBBI] cobalt: name: cobalt + link: https://cobalt.tools categories: [productivity, photo_and_video] color: text - readme: - app-link: "https://cobalt.tools" current-maintainers: [*kerichdev] crates.io: name: crates.io - categories: [development] + link: https://crates.io + categories: [package_registry] icon: rust color: yellow - readme: - app-link: "https://crates.io" current-maintainers: [*uncenter] crowdin: name: Crowdin - categories: [translation_tool, productivity] + link: https://crowdin.com + categories: [translation_tool] icon: crowdin color: text - readme: - app-link: "https://crowdin.com" current-maintainers: [*ryanccn] deepl: name: DeepL - categories: [translation_tool, productivity] + link: https://deepl.com + categories: [translation_tool] icon: deepl color: blue - readme: - app-link: "https://deepl.com" current-maintainers: [*watatomo] + deepseek: + name: DeepSeek + link: https://chat.deepseek.com + categories: [artificial_intelligence] + icon: deepseek + color: blue + current-maintainers: [*WalkQuackBack] + desmos: + name: Desmos + link: https://desmos.com + categories: [education] + color: green + note: "This userstyle is currently incompatible with DesModder's Visual>Syntax Highlighting plugin." + current-maintainers: [*gradylink] + dev.to: + name: DEV Community + link: https://dev.to + categories: [discussion_forum] + icon: devdotto + color: text + current-maintainers: [*shnjd] + devdocs: + name: DevDocs + link: https://devdocs.io + categories: [development, wiki] + color: text + current-maintainers: [*ashish0kumar] + docs.deno.com: + name: docs.deno.com + link: https://docs.deno.com + categories: [development] + icon: deno + color: green + current-maintainers: [*uncenter] docs.rs: name: docs.rs + link: https://docs.rs categories: [development] icon: docsdotrs color: yellow - readme: - app-link: "https://docs.rs" current-maintainers: [*uncenter] duckduckgo: name: DuckDuckGo + link: https://duckduckgo.com categories: [search_engine] icon: duckduckgo color: peach - readme: - app-link: "https://duckduckgo.com" - current-maintainers: [*genshibe] + current-maintainers: [*GenShibe] ecosia: name: Ecosia + link: https://www.ecosia.org categories: [search_engine] color: green - readme: - app-link: "https://www.ecosia.org" - current-maintainers: [*isabelroses] + current-maintainers: [] + past-maintainers: [*isabelroses] elk: name: Elk + link: https://elk.zone categories: [social_networking] color: peach - readme: - app-link: "https://elk.zone" current-maintainers: [*ryanccn] freedesktop: name: freedesktop.org + link: https://www.freedesktop.org categories: [development] icon: freedesktopdotorg color: blue - readme: - app-link: "https://www.freedesktop.org" current-maintainers: [*NK308] formative: name: Formative - categories: [education, productivity] + link: https://app.formative.com/home + categories: [education] color: blue - readme: - app-link: "https://app.formative.com/home" - current-maintainers: [*r58Playz] + current-maintainers: [] + past-maintainers: [*r58Playz] + ghostty.org: + name: Ghostty.org + link: https://ghostty.org + categories: [terminal] + color: blue + current-maintainers: [*uncenter] github: name: GitHub + link: https://github.com categories: [development, productivity] icon: github color: text - readme: - usage: "Switch to a default GitHub light/dark theme via **Settings** > **Appearance** for the best experience!" - app-link: "https://github.com" + note: "Use the **Light default** or **Dark default** themes and disable *Increase contrast* under GitHub's [Theme preferences](https://github.com/settings/appearance)." + current-maintainers: [*uncenter] + past-maintainers: [*unseen-ninja, *Pocco81, *GlowingUmbreon] + gleam.run: + name: gleam.run + link: https://gleam.run + categories: [development] + icon: gleam + color: pink current-maintainers: [*uncenter] - past-maintainers: [*unseen-ninja, *pocco81, *glowingumbreon] gmail: name: Gmail - categories: [email_client, productivity] + link: https://mail.google.com + categories: [email_client] icon: gmail color: peach - readme: - usage: "Switch to the default dark theme via the **Settings** > **Themes** > **View all** for the best experience!" - app-link: "https://mail.google.com" + note: "Switch to the default dark theme via the **Settings** > **Themes** > **View all** for the best experience!" current-maintainers: [*uncenter] past-maintainers: [*isabelroses] go.dev: name: go.dev + link: https://go.dev categories: [development, wiki] icon: go color: sapphire - readme: - app-link: "https://go.dev" current-maintainers: [*Flapperoo] google: name: Google + link: https://google.com categories: [search_engine] icon: google color: sapphire - readme: - app-link: "https://google.com" - current-maintainers: [*gitmuslim] + current-maintainers: [] google-drive: name: Google Drive + link: https://drive.google.com categories: [productivity] icon: googledrive color: blue - readme: - app-link: "https://drive.google.com" - current-maintainers: [*r58Playz] + current-maintainers: [*r58Playz, *WalkQuackBack] google-photos: name: Google Photos + link: https://photos.google.com categories: [photo_and_video] icon: googlephotos color: sapphire - readme: - app-link: "https://photos.google.com" - current-maintainers: [*genshibe] + current-maintainers: [*GenShibe, *WalkQuackBack] + grabify: + name: Grabify + link: https://grabify.link + categories: [development, productivity] + color: teal + current-maintainers: [*trinkey] graphite: name: Graphite + link: https://app.graphite.com categories: [development, productivity] icon: graphite color: text - readme: - app-link: "https://app.graphite.dev" - current-maintainers: [*isabelroses] + current-maintainers: [] + past-maintainers: [*isabelroses] google-gemini: name: Google Gemini - categories: [artificial_intelligence, productivity] + link: https://gemini.google.com + categories: [artificial_intelligence] icon: googlegemini color: mauve - readme: - app-link: "https://gemini.google.com" - current-maintainers: [*Dandraghas] + current-maintainers: [*Dandraghas, *WalkQuackBack] hackage: name: Hackage - categories: [development, productivity] + link: https://hackage.haskell.org + categories: [package_registry] icon: haskell color: mauve - readme: - app-link: "https://hackage.haskell.org" current-maintainers: [*jn-sena] hacker-news: name: Hacker News - categories: [discussion_forum, entertainment, social_networking] + link: https://news.ycombinator.com + categories: [discussion_forum] icon: ycombinator color: peach - readme: - app-link: "https://news.ycombinator.com" current-maintainers: [*lucasmelin] + have-i-been-pwned: + name: Have I Been Pwned + link: https://haveibeenpwned.com + categories: [productivity] + color: blue + current-maintainers: [*trinkey] holodex: name: Holodex + link: https://holodex.net categories: [entertainment, social_networking, photo_and_video] color: pink - readme: - app-link: "https://holodex.net" - usage: |+ - > [!NOTE] - > Holodex's selected theme is ignored. + note: Holodex's selected theme is ignored. current-maintainers: [*Guaxinim5573] home-manager-options-search: name: Home Manager Options Search + link: https://home-manager-options.extranix.com categories: [development] color: blue - readme: - app-link: "https://home-manager-options.extranix.com" current-maintainers: [*uncenter] homepage: name: homepage + link: https://github.com/benphelps/homepage categories: [productivity] color: sky - readme: - app-link: "https://github.com/benphelps/homepage" - current-maintainers: [*gandalf-the-blue] + current-maintainers: [*Gandalf-the-Blue] + hoogle: + name: Hoogle + link: https://hoogle.haskell.org + categories: [development, search_engine] + icon: haskell + color: mauve + current-maintainers: [*jn-sena] hoppscotch: name: Hoppscotch + link: https://hoppscotch.io categories: [development, productivity] icon: hoppscotch color: green - readme: - app-link: "https://hoppscotch.io/" - current-maintainers: [*justtobbi] + current-maintainers: [*justTOBBI] + learn-x-in-y-minutes: + name: Learn X in Y Minutes + link: https://learnxinyminutes.com + categories: [development, wiki] + color: blue + current-maintainers: [*nik-rev] hyperpipe: name: Hyperpipe + link: https://hyperpipe.surge.sh categories: [music] color: teal - readme: - app-link: "https://hyperpipe.surge.sh/" - current-maintainers: [*jn-sena] + current-maintainers: [] + past-maintainers: [*jn-sena] ichi.moe: name: ichi.moe - categories: [translation_tool, productivity] + link: https://ichi.moe + categories: [translation_tool] color: pink - readme: - app-link: "https://ichi.moe" current-maintainers: [*watatomo] inoreader: name: inoreader + link: https://inoreader.com categories: [productivity] icon: inoreader color: blue - readme: - app-link: "https://inoreader.com" current-maintainers: [*thomas-philippot] + indie-wiki-buddy: + name: Indie Wiki Buddy + link: https://getindie.wiki + categories: [browser_extension] + color: blue + current-maintainers: [*thismoon] instagram: name: Instagram - categories: [social_networking, photo_and_video, entertainment] + link: https://instagram.com + categories: [social_networking, photo_and_video] icon: instagram color: pink - readme: - app-link: "https://instagram.com" - current-maintainers: [*genshibe] + current-maintainers: [*GenShibe] past-maintainers: [*isabelroses] invidious: name: Invidious - categories: [entertainment, social_networking] + link: https://invidious.io + categories: [entertainment] icon: youtube color: red - readme: - app-link: "https://invidious.io" current-maintainers: [] - past-maintainers: [*unseen-ninja, *winston] + past-maintainers: [*unseen-ninja, *nekowinston] invokeai: name: InvokeAI + link: https://invoke-ai.github.io/InvokeAI categories: [artificial_intelligence, productivity] color: yellow - readme: - app-link: "https://invoke-ai.github.io/InvokeAI" current-maintainers: [*ryanccn] + jisho: + name: Jisho + link: https://jisho.org + categories: [translation_tool] + color: green + current-maintainers: [*Lichthagel] + keybr.com: + name: keybr.com + link: https://keybr.com + categories: [productivity, education] + color: text + current-maintainers: [*janTatesa] keyoxide: name: Keyoxide + link: https://keyoxide.org categories: [development] color: mauve - readme: - app-link: "https://keyoxide.org" current-maintainers: [*uncenter] lastfm: name: Last.fm - categories: [music, entertainment] + link: https://last.fm + categories: [music, analytics] icon: lastdotfm color: red - readme: - app-link: "https://last.fm" - current-maintainers: [*anubisnekhet] - past-maintainers: [*gingeh] + current-maintainers: [*AnubisNekhet] + past-maintainers: [*Gingeh] lemmy: name: Lemmy - categories: [discussion_forum, entertainment, social_networking] + link: https://lemmy.world + categories: [discussion_forum, social_networking] icon: lemmy color: green - readme: - app-link: "https://lemmy.world" - current-maintainers: [*gandalf-the-blue] + current-maintainers: [*Gandalf-the-Blue] libreddit: - name: ["Libreddit", "Redlib"] - categories: [discussion_forum, entertainment, social_networking] + name: Libreddit + link: https://github.com/libreddit/libreddit + categories: [discussion_forum, social_networking] icon: reddit color: peach - readme: - app-link: ["https://github.com/libreddit/libreddit", "https://github.com/redlib-org/redlib"] + supports: + redlib: + name: Redlib + link: https://github.com/redlib-org/redlib current-maintainers: [] past-maintainers: [*unseen-ninja] lichess: name: Lichess + link: https://lichess.org categories: [game] icon: lichess color: text - readme: - usage: "Switch to a default Lichess light/dark theme via **Username** > **Background** for the best experience!" - app-link: "https://lichess.org/" - current-maintainers: [*coopw1] + note: "Switch to a default Lichess light/dark theme via **Username** > **Background** for the best experience!" + current-maintainers: [*coopw1, *zenoix] lingva: name: Lingva - categories: [translation_tool, productivity] + link: https://github.com/thedaviddelta/lingva-translate + categories: [translation_tool] color: green - readme: - app-link: "https://github.com/thedaviddelta/lingva-translate" current-maintainers: [*rubyowo] linkedin: name: LinkedIn - categories: [social_networking] + link: https://www.linkedin.com + categories: [social_networking, productivity] icon: linkedin color: blue - readme: - app-link: "https://www.linkedin.com" - current-maintainers: [*isabelroses] + current-maintainers: [] + past-maintainers: [*isabelroses] listenbrainz: name: ListenBrainz - categories: [music, entertainment] + link: https://listenbrainz.org + categories: [music] icon: musicbrainz color: peach - readme: - app-link: 'https://listenbrainz.org' current-maintainers: [*00dani] + lobste.rs: + name: Lobsters + link: https://lobste.rs + categories: [discussion_forum, social_networking] + icon: lobsters + color: red + current-maintainers: [*steinuil] mastodon: name: Mastodon - categories: [social_networking, entertainment] + link: https://github.com/mastodon/mastodon + categories: [social_networking] icon: mastodon color: lavender - readme: - app-link: "https://github.com/mastodon/mastodon" - faq: - - question: "**The theme does not look the same as the preview?**" - answer: "Your Mastodon instance may be using its own custom CSS, which is changing the look of the theme." - current-maintainers: [] + current-maintainers: [*comfysage] past-maintainers: [*unseen-ninja, *isabelroses] mdbook: name: mdBook - categories: [wiki, development] + link: https://rust-lang.github.io/mdBook/ + categories: [documentation_generator] icon: mdbook color: text - readme: - app-link: "https://rust-lang.github.io/mdBook/" current-maintainers: [*uncenter] mdn: name: MDN + link: https://developer.mozilla.org categories: [development, wiki] icon: mdnwebdocs color: text - readme: - app-link: "https://developer.mozilla.org" current-maintainers: [*soya-daizu] modrinth: name: Modrinth + link: https://modrinth.com categories: [game] icon: modrinth color: green - readme: - app-link: "https://modrinth.com" current-maintainers: [*thismoon] microsoft-word: name: Microsoft Word + link: https://office.com categories: [productivity] icon: microsoftword color: blue - readme: - app-link: "https://office.com" - current-maintainers: [*gitmuslim] + current-maintainers: [] migadu-webmail: name: Migadu Webmail - categories: [email_client, productivity] + link: https://webmail.migadu.com + categories: [email_client] icon: migadu color: blue - readme: - app-link: https://webmail.migadu.com/ - usage: |+ - > [!NOTE] - > Set Migadu Webmail's built-in theme to 'Migadu' for the optimal experience. + note: Set Migadu Webmail's built-in theme to 'Migadu' for the optimal experience. current-maintainers: [*uncenter] minesweeper: name: Minesweeper Online + link: https://minesweeper.online categories: [game] color: text - readme: - app-link: "https://minesweeper.online" - current-maintainers: [*gitmuslim] + current-maintainers: [] + namemc: + name: NameMC + link: https://namemc.com + categories: [game_development, analytics] + icon: namemc + color: blue + current-maintainers: [*Meowcelinee] + neovim.io: + name: neovim.io + link: https://neovim.io + categories: [development] + icon: neovim + color: green + current-maintainers: [*comfysage] + npmx: + name: npmx + link: https://npmx.dev + categories: [package_registry] + color: text + note: npmx-specific accent color appearance options at https://npmx.dev/settings are overriden by this userstyle. + current-maintainers: [*42willow] nitter: name: Nitter - categories: [social_networking, discussion_forum, entertainment] + link: https://nitter.net + categories: [social_networking, discussion_forum] icon: twitter color: blue - readme: - app-link: "https://nitter.net" - current-maintainers: [*anubisnekhet] + current-maintainers: [*AnubisNekhet] + nixos-manual: + name: NixOS Manual + link: https://nixos.org/manual/nixos + categories: [development, wiki] + icon: nixos + color: blue + supports: + nixpkgs-manual: + name: "Nixpkgs Manual" + link: https://nixos.org/manual/nixpkgs + current-maintainers: [*husjon] nixos-search: name: NixOS Search + link: https://search.nixos.org categories: [search_engine] icon: nixos color: blue - readme: - app-link: "https://search.nixos.org" - current-maintainers: [*cecelot] - nixos.wiki: + current-maintainers: [*sydrinea] + wiki.nixos.org: name: NixOS Wiki - categories: [wiki, productivity] + link: https://wiki.nixos.org + categories: [wiki, development] icon: nixos color: blue - readme: - app-link: "https://nixos.wiki" - current-maintainers: [] - past-maintainers: [*winston] + current-maintainers: [*orangci] + past-maintainers: [*nekowinston] npm: name: npm - categories: [development] + link: https://www.npmjs.com + categories: [package_registry] icon: npm color: red - readme: - app-link: "https://www.npmjs.com/" current-maintainers: [*uncenter] + ollama: + name: Ollama + link: https://ollama.com + categories: [artificial_intelligence, development] + color: text + current-maintainers: [*NeonGamerBot-QK] openmediavault: name: openmediavault - categories: [productivity] + link: https://www.openmediavault.org + categories: [file_manager, productivity] icon: openmediavault color: sky - readme: - app-link: "https://www.openmediavault.org/" - current-maintainers: [*gandalf-the-blue] + current-maintainers: [*Gandalf-the-Blue] paste.rs: name: paste.rs + link: https://paste.rs categories: [development] icon: pastebin color: peach - readme: - app-link: "https://paste.rs" current-maintainers: [*Guaxinim5573] - past-maintainers: [*stonks3141] + past-maintainers: [*Stonks3141] perplexity: name: Perplexity + link: https://www.perplexity.ai categories: [artificial_intelligence, search_engine] icon: perplexity color: teal - readme: - app-link: "https://www.perplexity.ai" - current-maintainers: [*tnixc] + current-maintainers: [*Tnixc] past-maintainers: [*isabelroses] phanpy: name: Phanpy - categories: [social_networking, entertainment] + link: https://phanpy.social + categories: [social_networking] color: blue - readme: - app-link: "https://phanpy.social" current-maintainers: [*Guaxinim5573] picrew: name: Picrew - categories: [entertainment, photo_and_video] + link: https://picrew.me + categories: [entertainment, productivity] icon: picrew color: yellow - readme: - app-link: "https://picrew.me" - current-maintainers: [*nyatalieeee] + current-maintainers: [*Meowcelinee] pinterest: name: Pinterest + link: https://www.pinterest.com categories: [photo_and_video, entertainment, social_networking] icon: pinterest color: red - readme: - app-link: "https://www.pinterest.com" - current-maintainers: [] + current-maintainers: [*nuexq] past-maintainers: [*jn-sena] planet-minecraft: name: Planet Minecraft + link: https://planetminecraft.com categories: [game] color: green - readme: - app-link: "https://planetminecraft.com" - current-maintainers: [*nyameliaaaa] + current-maintainers: [*Nyameliaaaa] + poe: + name: Poe + link: https://poe.com + categories: [artificial_intelligence] + icon: poe + color: blue + current-maintainers: [*TheAnonymousCrusher] porkbun: name: Porkbun + link: https://porkbun.com categories: [productivity] icon: porkbun color: pink - readme: - app-link: https://porkbun.com current-maintainers: [*uncenter] + pronouns.cc: + name: pronouns.cc + link: https://pronouns.cc + categories: [social_networking] + color: mauve + current-maintainers: [*comfysage] + past-maintainers: [*NeonGamerBot-QK] pronouns.page: name: Pronouns.page + link: https://pronouns.page categories: [social_networking] icon: pronounsdotpage color: pink - readme: - app-link: "https://pronouns.page/" current-maintainers: [*uncenter] proton: name: Proton + link: https://proton.me categories: [productivity, email_client] icon: protonmail color: mauve - readme: - app-link: "https://proton.me/" - usage: |+ - > [!NOTE] - > Set Proton Mail's built-in theme to 'Snow' if you're using Latte or 'Carbon' if you're using the others. + note: Set Proton Mail's built-in theme to 'Snow' if you're using Latte or 'Carbon' if you're using the others. current-maintainers: [*soya-daizu] pypi: name: PyPI + link: https://pypi.org + categories: [package_registry] + color: sapphire + current-maintainers: [*trinkey] + pythonanywhere: + name: PythonAnywhere + link: https://pythonanywhere.com categories: [development] + icon: pythonanywhere color: sapphire - readme: - app-link: "https://pypi.org" current-maintainers: [*trinkey] quizlet: name: Quizlet + link: https://quizlet.com categories: [education, productivity] icon: quizlet color: mauve - readme: - app-link: "https://quizlet.com" current-maintainers: [*spaghettiosareyummy] raindrop: name: Raindrop + link: https://app.raindrop.io categories: [productivity] color: blue - readme: - app-link: "https://app.raindrop.io" current-maintainers: [*thismoon] + react.dev: + name: React.dev + link: https://react.dev + categories: [development] + icon: react + color: sapphire + current-maintainers: [*RaiderHCPlay] reddit: name: Reddit - categories: [discussion_forum, social_networking, entertainment] + link: https://reddit.com + categories: [discussion_forum, social_networking] color: red icon: reddit - readme: - app-link: "https://reddit.com" current-maintainers: [] past-maintainers: [*jayylmao, *rubyowo] + regex101: + name: regex101 + link: https://regex101.com + categories: [development] + color: blue + current-maintainers: [*uncenter] + rentry.co: + name: Rentry.co + link: https://rentry.co + categories: [productivity] + color: text + current-maintainers: [*thismoon] + scalar: + name: Scalar + link: https://scalar.com + categories: [development] + icon: scalar + color: text + current-maintainers: [*incognitotgt] + searchix: + name: Searchix + link: https://searchix.ovh + categories: [development, search_engine] + color: blue + current-maintainers: [*koibtw] searxng: name: SearXNG + link: https://github.com/searxng/searxng categories: [search_engine] icon: searxng color: blue - readme: - app-link: "https://github.com/searxng/searxng" - current-maintainers: [*sekki21956, *ryanccn] + current-maintainers: [*Sekki21956, *ryanccn] + seventv: + name: 7TV + link: https://7tv.app + categories: [entertainment, browser_extension] + color: sapphire + current-maintainers: [*mxgic1337] shinigami-eyes: name: Shinigami Eyes + link: https://shinigami-eyes.github.io categories: [browser_extension, social_networking] color: mauve - readme: - app-link: "https://shinigami-eyes.github.io" - current-maintainers: [*jh-devv] + current-maintainers: [*sofiedotcafe] snapchat-web: name: Snapchat Web - categories: [social_networking, photo_and_video, entertainment] + link: https://web.snapchat.com + categories: [social_networking, photo_and_video] icon: snapchat color: yellow - readme: - app-link: "https://web.snapchat.com" current-maintainers: [*itzTheMeow] spotify-web: name: Spotify Web + link: https://open.spotify.com categories: [music] icon: spotify color: green - readme: - app-link: "https://open.spotify.com" - current-maintainers: [*tnixc] + current-maintainers: [*Tnixc] stack-overflow: name: Stack Overflow - categories: [development] + link: https://stackoverflow.com + categories: [discussion_forum, wiki] icon: stackoverflow color: peach - readme: - app-link: https://stackoverflow.com current-maintainers: [*uncenter] startpage: name: Startpage + link: https://startpage.com categories: [search_engine] color: lavender - readme: - app-link: "https://startpage.com" - current-maintainers: [] + current-maintainers: [*WalkQuackBack] past-maintainers: [*bartlibert] - skiff: - name: Skiff - categories: [email_client, productivity] - color: maroon - readme: - usage: "Switch to a default Skiff light/dark theme via **Settings** > **Appearance** for the best experience!" - app-link: "https://app.skiff.com/mail" - current-maintainers: [*coopw1] + status.cafe: + name: status.cafe + link: https://status.cafe + categories: [social_networking] + color: sapphire + current-maintainers: [*bunfluff] stylus: name: Stylus + link: https://github.com/openstyles/stylus categories: [browser_extension] color: teal - readme: - app-link: "https://github.com/openstyles/stylus" - current-maintainers: [*gitmuslim] + current-maintainers: [*uncenter] substack: name: Substack - categories: [entertainment, social_networking] + link: https://substack.com + categories: [news_and_journalism] icon: substack color: peach - readme: - app-link: "https://substack.com" - current-maintainers: [] - past-maintainers: [*winston] + current-maintainers: [*uncenter] + past-maintainers: [*nekowinston] syncthing: name: Syncthing - categories: [productivity] + link: https://syncthing.net + categories: [file_manager, productivity] icon: syncthing color: sapphire - readme: - app-link: "https://syncthing.net" - usage: |+ - > [!NOTE] - > This theme is designed to be used with the default WebGUI and default theme provided by Syncthing. This does not theme syncthing.net. + note: This theme is designed to be used with the default WebGUI and default theme provided by Syncthing. This does not theme syncthing.net. current-maintainers: [*BlankParticle] tabnews: name: TabNews - categories: [discussion_forum, entertainment, social_networking] + link: https://tabnews.com.br + categories: [discussion_forum, social_networking] color: text - readme: - app-link: "https://tabnews.com.br" current-maintainers: [*Guaxinim5573] tldraw: name: tldraw + link: https://www.tldraw.com categories: [productivity] icon: tldraw color: text - readme: - app-link: "https://www.tldraw.com" - usage: |+ - > [!NOTE] - > This theme only changes how the colors appear on the tldraw canvas. Exported graphics **will not be Catppuccin-themed**. - current-maintainers: [*genshibe, *uncenter] + note: This theme only changes how the colors appear on the tldraw canvas. Exported graphics **will not be Catppuccin-themed**. + current-maintainers: [*NekoDrone] + past-maintainers: [*GenShibe, *uncenter] trinket: name: Trinket + link: https://trinket.io categories: [development] color: blue - readme: - app-link: "https://trinket.io" current-maintainers: [*trinkey] tuta: name: Tuta - categories: [email_client, productivity] + link: https://tuta.com + categories: [email_client] icon: tutanota color: maroon - readme: - app-link: "https://tuta.com/" - usage: |+ - > [!NOTE] - > Set Tuta's built-in theme to either **light** if you're using Latte or **dark** if you're using the others. + note: Set Tuta's built-in theme to either **light** if you're using Latte or **dark** if you're using the others. current-maintainers: [*ryanccn] twitch: name: Twitch - categories: [entertainment, social_networking, photo_and_video] + link: https://twitch.tv + categories: [entertainment, social_networking] icon: twitch color: mauve - readme: - app-link: "https://twitch.tv" - current-maintainers: [*gitmuslim, *uncenter] + current-maintainers: [*uncenter, *mxgic1337] twitter: name: Twitter - categories: [social_networking, discussion_forum, entertainment] + link: https://twitter.com + categories: [social_networking, discussion_forum] color: blue icon: twitter - readme: - app-link: "https://twitter.com" - usage: |+ - > [!NOTE] - > Set Twitter's built-in theme to **Lights out** with the blue accent. Also requires the [:has()](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) selector. + note: Set Twitter's built-in theme to **Lights out** with the blue accent. current-maintainers: [*watatomo] vercel: - name: ["Vercel", "Next.js"] + name: Vercel + link: https://vercel.com categories: [development] icon: vercel color: text - readme: - app-link: ["https://vercel.com", "https://nextjs.org"] - usage: |+ - > [!NOTE] - > This theme also applies to the [Next.js](https://nextjs.org/) website. + supports: + next.js: + name: Next.js + link: https://nextjs.org current-maintainers: [*ryanccn, *Dandraghas] vikunja: name: Vikunja + link: https://vikunja.io categories: [productivity, note_taking] + icon: vikunja color: blue - readme: - app-link: "https://vikunja.io" current-maintainers: [*Guaxinim5573] web.dev: name: web.dev + link: https://web.dev categories: [development] color: blue - readme: - app-link: https://web.dev/ current-maintainers: [*uncenter] whatsapp-web: name: WhatsApp Web + link: https://web.whatsapp.com categories: [social_networking] icon: whatsapp color: green - readme: - app-link: "https://web.whatsapp.com" - current-maintainers: [*francorav] + current-maintainers: [*FrancoRav, *WalkQuackBack] wikipedia: name: Wikipedia + link: https://www.wikipedia.org categories: [wiki, search_engine, productivity] icon: wikipedia color: text - readme: - app-link: "https://www.wikipedia.org" - current-maintainers: [*gitmuslim] + current-maintainers: [*uncenter] wikiwand: name: Wikiwand + link: https://www.wikiwand.com categories: [wiki, productivity] icon: wikipedia color: text - readme: - app-link: "https://www.wikiwand.com" - current-maintainers: [*tnixc] + current-maintainers: [*Tnixc] youtube: name: YouTube + link: https://youtube.com categories: [entertainment, social_networking, photo_and_video] icon: youtube color: red - readme: - app-link: "https://youtube.com" - faq: - - question: "**What does the 'Enable for black bars' option mean?**" - answer: "It's available in case you have an OLED display. If you have one, you might want to enable this." current-maintainers: [*isabelroses, *uncenter] past-maintainers: [*elkrien] + zen-browser-docs: + name: Zen Browser Docs + link: https://zen-browser.app + categories: [productivity] + color: peach + current-maintainers: [*ashish0kumar] # yaml-language-server: $schema=userstyles.schema.json diff --git a/scripts/utils.ts b/scripts/utils.ts index 37b94d0ab0..57e03a4503 100644 --- a/scripts/utils.ts +++ b/scripts/utils.ts @@ -1,30 +1,38 @@ -import Ajv, { Schema } from "ajv"; -import { parse } from "@std/yaml"; -import { join } from "@std/path"; -import { SetRequired } from "type-fest/source/set-required.d.ts"; - -import { REPO_ROOT, userStylesSchema } from "@/deps.ts"; -import { UserstylesSchema } from "@/types/userstyles.d.ts"; -import { log } from "@/lint/logger.ts"; +import type { CategoriesSchema, UserstylesSchema } from "@/types/mod.ts"; +import type { SetRequired } from "type-fest/source/set-required.d.ts"; +import { + CATEGORIES_SCHEMA, + REPO_ROOT, + USERSTYLES_SCHEMA, +} from "@/constants.ts"; + +import * as yaml from "@std/yaml"; +import * as path from "@std/path"; + +import Ajv, { type Schema } from "ajv"; +import { log } from "@/logger.ts"; import { sprintf } from "@std/fmt/printf"; +import { Octokit } from "@octokit/rest"; /** * @param content A string of YAML content * @param schema A JSON schema * @returns A promise that resolves to the parsed YAML content, verified against the schema. Rejects if the content is invalid. */ -export const validateYaml = ( +export function validateYaml( content: string, schema: Schema, -): T => { - const ajv = new Ajv.default(); + file: string, + options?: Ajv.Options, +): T { + const ajv = new Ajv.default(options); const validate = ajv.compile(schema); - const data = parse(content); + const data = yaml.parse(content); if (!validate(data)) { - console.log( - "Found schema errors in scripts/userstyles.yml: " + - validate.errors?.map((err) => + log.error( + validate + .errors!.map((err) => sprintf( "%s %s%s", err.instancePath.slice(1).replaceAll("/", "."), @@ -33,56 +41,84 @@ export const validateYaml = ( ? ` (${JSON.stringify(err.params.allowedValues, undefined)})` : "", ) - ).join(" and "), + ) + .join(" and "), + { + file, + }, ); Deno.exit(1); } return data as T; -}; +} /** * Utility function that calls {@link validateYaml} on the userstyles.yml file. * Fails when data.userstyles is undefined. */ -export const getUserstylesData = (): Userstyles => { +export function getUserstylesData(): Userstyles { const content = Deno.readTextFileSync( - join(REPO_ROOT, "scripts/userstyles.yml"), + path.join(REPO_ROOT, "scripts/userstyles.yml"), ); try { - const data = validateYaml( + const data = validateYaml( content, - userStylesSchema, + USERSTYLES_SCHEMA, + "scripts/userstyles.yml", + { schemas: [CATEGORIES_SCHEMA] }, ); - if (data.userstyles === undefined || data.collaborators === undefined) { - console.log("userstyles.yml is missing required fields"); - Deno.exit(1); + for (const field of ["userstyles", "collaborators"] as const) { + if (data[field] === undefined) { + log.error(`Missing required field \`${field}\``, { + file: "scripts/userstyles.yml", + }); + Deno.exit(1); + } } return data as Userstyles; } catch (err) { - if (err.name === "YAMLError") { + if (err instanceof Error && err.name === "SyntaxError") { const groups = /(?.*) at line (?\d+), column (?\d+):[\S\s]*/ - .exec(err.message)?.groups; - log( - groups!.message, - { - file: "scripts/userstyles.yml", - startLine: Number(groups!.line), - content: content, - }, - "error", - ); + .exec( + err.message, + )?.groups; + log.error(groups!.message, { + file: "scripts/userstyles.yml", + startLine: Number(groups!.line), + content: content, + }); } else { - console.log(err); + throw err; } Deno.exit(1); } -}; +} + +/** + * Utility function that calls {@link validateYaml} on the ports.yml file. + * Fails when data.userstyles is undefined. + */ +export async function getCategoriesData(): Promise< + CategoriesSchema.CategoryDefinitions +> { + const content = await fetch( + "https://raw.githubusercontent.com/catppuccin/catppuccin/d4f82739e687cfd19d168be355367fdbbcc8e029/resources/categories.yml", + ).then((res) => res.text()); + + const data = validateYaml( + content, + CATEGORIES_SCHEMA, + "categories.yml", + ); + + return data; +} /** * Utility function that formats a list of items into the "x, y, ..., and z" format. @@ -93,7 +129,9 @@ export const getUserstylesData = (): Userstyles => { * @example * formatListOfItems(['x', 'y', 'z']); // 'x, y, and z' */ -export const formatListOfItems = (items: unknown[]): string => { +export function formatListOfItems(items: unknown[]): string { + // If there are no items, return an empty string. + if (items.length === 0) return ""; // If there are two items, connect them with an "and". if (items.length === 2) return items.join(" and "); // Otherwise, there is either just one item or more than two items. @@ -105,6 +143,62 @@ export const formatListOfItems = (items: unknown[]): string => { // Otherwise, it is some item in the middle of the list and we can just add it as a comma followed by the item to the string. return prev + `, ${curr}`; }) as string; -}; +} + +type Userstyles = SetRequired< + UserstylesSchema.UserstylesSchema, + "userstyles" | "collaborators" +>; + +export function getUserstylesFiles(): string[] { + const files: string[] = []; + for (const dir of Deno.readDirSync(path.join(REPO_ROOT, "styles"))) { + if (!dir.isDirectory) continue; + files.push( + path.join(REPO_ROOT, "styles", dir.name, "catppuccin.user.less"), + ); + } + return files; +} + +export function getAuthenticatedOctokit() { + return new Octokit({ auth: Deno.env.get("GITHUB_TOKEN") }); +} + +export type UserstylesTeam = "userstyles-staff" | "userstyles-maintainers"; + +export async function getUserstylesTeamMembers( + octokit: Octokit, + team: UserstylesTeam, +): Promise { + const members = await octokit.teams.listMembersInOrg({ + org: "catppuccin", + team_slug: team, + per_page: 100, + }); + return members.data.map(({ login }) => login.toLowerCase()); +} + +export async function addUserstylesTeamMember( + octokit: Octokit, + team: UserstylesTeam, + username: string, +) { + await octokit.teams.addOrUpdateMembershipForUserInOrg({ + org: "catppuccin", + team_slug: team, + username, + }); +} -type Userstyles = SetRequired; +export async function removeUserstylesTeamMember( + octokit: Octokit, + team: UserstylesTeam, + username: string, +) { + await octokit.teams.removeMembershipForUserInOrg({ + org: "catppuccin", + team_slug: team, + username, + }); +} diff --git a/shell.nix b/shell.nix index 927e117a4e..9268f18e3c 100644 --- a/shell.nix +++ b/shell.nix @@ -1,14 +1,9 @@ { deno, - typos, mkShellNoCC, - nodePackages, - ... }: mkShellNoCC { packages = [ deno - typos - nodePackages.prettier ]; } diff --git a/styles/advent-of-code/README.md b/styles/advent-of-code/README.md index 22393a7a44..059288ff55 100644 --- a/styles/advent-of-code/README.md +++ b/styles/advent-of-code/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/advent-of-code/catppuccin.user.css b/styles/advent-of-code/catppuccin.user.less similarity index 52% rename from styles/advent-of-code/catppuccin.user.css rename to styles/advent-of-code/catppuccin.user.less index 64dfac0dfb..13cbf0f042 100644 --- a/styles/advent-of-code/catppuccin.user.css +++ b/styles/advent-of-code/catppuccin.user.less @@ -2,8 +2,8 @@ @name Advent Of Code Catppuccin @namespace github.com/catppuccin/userstyles/styles/advent-of-code @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/advent-of-code -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/advent-of-code/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/advent-of-code/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aadvent-of-code @description Soothing pastel theme for Advent Of Code @author Catppuccin @@ -15,55 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain("adventofcode.com") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); +@-moz-document domain("adventofcode.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); body { background: @base; @@ -72,9 +38,7 @@ header h1 a, header h1 span { color: @green; - text-shadow: - 0 0 2px @green, - 0 0 5px @green; + text-shadow: 0 0 2px @green, 0 0 5px @green; } a { @@ -171,13 +135,13 @@ color: @subtext1; } .calendar-color-g3 { - color: darken(@green, 3); + color: darken(@green, 3%); } .calendar-color-g2 { color: @green; } .calendar-color-g4 { - color: darken(@green, 3.5); + color: darken(@green, 3.5%); } .calendar-color-u { color: @sky; @@ -186,10 +150,10 @@ color: @subtext0; } .calendar-color-g1 { - color: darken(@green, 2.5); + color: darken(@green, 2.5%); } .calendar-color-g0 { - color: darken(@green, 2); + color: darken(@green, 2%); } .calendar-color-l { color: @red; @@ -243,13 +207,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/advent-of-code/preview.webp b/styles/advent-of-code/preview.webp deleted file mode 100644 index 4e390057c3..0000000000 --- a/styles/advent-of-code/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9af8debf23f3d70d13731fd613b1e4818fb599536d07534ab8eb5ebcf29594a -size 372696 diff --git a/styles/alacritty.org/README.md b/styles/alacritty.org/README.md new file mode 100644 index 0000000000..8dec010cab --- /dev/null +++ b/styles/alacritty.org/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for alacritty.org + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [AlwaysNur](https://github.com/AlwaysNur) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/alacritty.org/catppuccin.user.less b/styles/alacritty.org/catppuccin.user.less new file mode 100644 index 0000000000..bac12dffe1 --- /dev/null +++ b/styles/alacritty.org/catppuccin.user.less @@ -0,0 +1,82 @@ +/* ==UserStyle== +@name alacritty.org Catppuccin +@namespace github.com/catppuccin/userstyles/styles/alacritty.org +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/alacritty.org +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/alacritty.org/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aalacritty.org +@description Soothing pastel theme for alacritty.org +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("alacritty.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + color: @text !important; + background-color: @base !important; + } + a { + color: @accent !important; + } + header { + background-color: @mantle !important; + border-bottom-color: @surface0 !important; + nav > a { + color: @text !important; + } + } + em { + color: @green !important; + } + strong, strong > a { + color: @blue !important; + } + #pick-version select { + color: @text !important; + background-color: @surface0; + border-color: @overlay0; + } + h1 { + color: @accent !important; + } + a:not([name]) { + text-shadow: none !important; + } + code { + background-color: @surface0; + } + video { + background-color: @overlay0 !important; + } + img:not(img#logo-img) { + border-color: @overlay0 !important; + } + img#logo-img { + border-color: @mantle !important; + } + kbd { + background-color: @surface1 !important; + border-color: @overlay0 !important; + } + } +} diff --git a/styles/alternativeto/README.md b/styles/alternativeto/README.md new file mode 100644 index 0000000000..ddb173922f --- /dev/null +++ b/styles/alternativeto/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for AlternativeTo + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [thismoon](https://github.com/thismoon) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/alternativeto/catppuccin.user.less b/styles/alternativeto/catppuccin.user.less new file mode 100644 index 0000000000..a17a46bb01 --- /dev/null +++ b/styles/alternativeto/catppuccin.user.less @@ -0,0 +1,431 @@ +/* ==UserStyle== +@name AlternativeTo Catppuccin +@namespace github.com/catppuccin/userstyles/styles/alternativeto +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/alternativeto +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/alternativeto/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aalternativeto +@description Soothing pastel theme for AlternativeTo +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("alternativeto.net") { + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + :root[data-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --mainBrand: @accent; + --topBrand: @accent; + --footer: @mantle; + --mainBg: @base; + --mainFg: @text; + --popBrand: @accent; + --introBoxText: @text; + --introBoxLink: @text; + --introBoxMeta: @subtext0; + --meta: @subtext0; + --metaLight: @subtext1; + --linkColorHeader: @text; + --linkColor: @text; + --brandLight3: @surface2; + --brandLight4: @surface2; + --brandLight5: @surface1; + --brandLight6: @mantle; + --brandLight7: @surface0; + --brandLight8: @text; + --brandLight10: @surface0; + --brandLight11: @mantle; + --gray50: @surface0; + --gray100: @surface0; + --gray150: @surface0; + --gray200: @surface1; + --gray250: @surface1; + --gray300: @surface1; + --gray500: @overlay0; + --headingButton: @accent; + --positiveGreener: @green; + --positiveGreenerLight: fade(@green, 10%); + --positiveGreenerDark: @green; + --danger: @red; + --negativeLight: fade(@peach, 10%); + --lightDanger: fade(@red, 25%); + --dangerDark: @red; + --ctaMain: @mauve; + --ctaLight: @base; + --ctaLightest: @mantle; + --tab: @mantle; + --toastify-color-dark: @mantle; + --toastify-color-light: @text; + --toastify-color-info: @blue; + --toastify-color-success: @green; + --toastify-color-warning: @yellow; + --toastify-color-error: @red; + + // heart icon + [class^="ModernLikeButton_likeWrapper"] { + [class^="ModernLikeButton_heart"]:hover, + [class^="ModernLikeButton_liked"] { + svg { + color: @red; + } + } + } + // primary button + [class*="Button_primary"] { + color: @crust !important; + } + // footer + [class^="Footer_footer"] { + &, + p a, + [class^="Footer_footerMenu"] li a { + color: @text; + } + } + [class^="Footer_footerLogo"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + // rating stars + [class^="StarRating_star"] { + color: @text; + &[class*="StarRating_active"] { + color: @peach; + } + } + // danger "discontinued" label + [class*="AppAlertWrapper_warning"] span { + color: @peach; + } + // feature point in alternative's features + [class*="HighlightFeatureListItem_featurePoint"]:not( + [class*="HighlightFeatureListItem_gray"] + ) { + background-color: @green; + color: @green; + border-color: lighten(@green, 25%); + } + // app banner (ad) + [class*="AppBanner_iconWrapper"], + [class*="AppBanner_banner"], + [class*="AppBanner_bottom"] { + border-color: @overlay0; + } + // navigation/top bar + [class^="HeaderLinks_globalSiteNav"] a, + [class^="HeaderLinks_globalSiteNav"] span, + [class^="HeaderLinks_authAndMenu"] a, + [class*="Button_headerTextButton"] svg, + [class*="Button_headerTextButton"]:hover svg, + [class^="HeaderLinks_header"] button:focus { + color: @base !important; + } + [class^="HeaderLinks_logoSmall"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + [class*="HeaderLinks_logoLarge"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + // hanburger menu + [class^="DropdownListLink_additionalInfo"] { + color: @subtext0; + } + // svg color variables + @light-peach: lighten(@peach, 25%); + @dark-peach: darken(@peach, 25%); + @dark-blue: desaturate(darken(@blue, 60%), 40%); + @darker-blue: desaturate(darken(@blue, 65%), 40%); + // main page header + img[class*="PageIntroImage_a2-header-"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + // flipped/mirrored/right variation of the a2 robot svg (found in /about and /about/privacy) + &[src^="/static/a2-header-right"] { + transform: scale(-1, 1); + } + } + @media screen and (min-width: 1200px) { + [class*="PageIntroWrapper_wrapper"] { + @svg: escape( + '' + ); + @svg2: escape( + '' + ); + background-image: + url("data:image/svg+xml,@{svg}"), + url("data:image/svg+xml,@{svg2}"); + } + } + // news page header + [src^="/static/a2-screen"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + // new app releases page header + [src^="/static/a2-drop"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + // bottom right loading spinner icon + #nprogress .spinner-icon { + border-top-color: @accent; + border-left-color: @accent; + } + // top progress bar when loading a new page + #nprogress .peg { + box-shadow: 0 0 10px @accent, 0 0 5px @accent; + } + // toast + .Toastify__close-button { + color: @text; + } + [data-testid="toast"] > div > span { + color: @text !important; + } + // remove filter badge + li[class^="AppFilterBarCommon_current"]:hover { + a::after, + > span::after { + color: darken(@red, 25%); + } + } + // news fire icon + @newstype: { + hottest: @peach; + hot_: @yellow; + luke: @text; + }; + each( + @newstype, + { + [class^="NewsForListMeta_@{key}"] { + color: @value; + } + } + ); + // current page nummber + [class*="Pagination_current"] { + color: @subtext0; + } + // full screen screenshot button + [class^="ImageCollection-modern_expandImage"] { + background: fade(@text, 80%) !important; + svg { + color: @crust !important; + } + & when (@flavor = latte) { + background: fade(@crust, 80%) !important; + svg { + color: @text !important; + } + } + } + // social icons + // rrs + svg[color="#f26522"] { + color: @peach !important; + } + // "Share on" icons + @socialapps: { + facebook: @blue; + reddit: @peach; + }; + [class^="ShareButtons_shareButtons"] { + each( + @socialapps, + { + [title="Share on @{key}"] > svg { + color: @value !important; + } + } + ); + } + // AppStores & Other Links + [class*="Button_black"], + [class^="AppExternalLinks_appstoreWrapper"] { + background: @crust; + color: @text; + &:hover { + background: @base; + } + [src$="ms-store.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + [src$="android-store.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + [src$="ios-store.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + // social networks + @socialnetworks: { + Facebook: @blue; + X: @text; + }; + [class^="AppExternalLinks_socialLinksWrapper"] { + each( + @socialnetworks, + { + [title^="@{key} page"] > svg { + color: @value !important; + } + } + ); + } + // yello star (e.g. the level in a user profile) + svg[color="#e39d06"] { + color: @yellow !important; + } + // list like button hover + [class*="LikeButton_likeButton"]:hover [class*="LikeButton_heart"] { + color: @red; + } + // register popup header + .data-collector .header { + color: @overlay2; + } + // danger button (clear all filters) + [class*="Button_danger"] { + background: @red; + border-color: @red; + color: @crust; + } + // warning button + [class*="Button_warning"] { + background-color: @yellow; + border-color: @yellow; + color: @crust; + } + // success button + [class*="Button_success"] { + background-color: @green; + border-color: @green; + color: @crust; + } + // disabled buttons + [class*="Button_button"][disabled] { + background-color: @surface2 !important; + border-color: @surface2 !important; + color: @overlay2 !important; + } + } +} + +@-moz-document domain("auth.alternativeto.net") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --widget-background-color: @base; + --input-background-color: @base; + --input-border-color: @surface1; + --input-text-color: @text; + --base-focus-color: @accent; + --link-color: @accent; + --primary-color: @accent; + --button-font-color: @crust; + --title-font-color: @text; + --font-default-color: @text; + --font-light-color: @subtext0; + --border-default-color: @surface1; + --social-button-border-color: @surface1; + --secondary-button-text-color: @text; + --transparency-focus-color: fade(@accent, 15%); + --icon-default-color: @overlay1; + --gray-lightest: @text; + --error-color: @red; + @error-svg: escape( + '' + ); + --icon-error: url("data:image/svg+xml,@{error-svg}"); + + body { + background: @crust; + } + .footer { + a { + color: @text; + } + background: @mantle; + color: @subtext0; + } + #prompt-logo-center { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + .password-icon-tooltip { + background: @crust; + + &::before { + border-color: @crust transparent transparent; + } + } + // "Continue with" login button icons + @loginicon: { + google: ""; + windowslive: ""; + github: ""; + apple: ""; + }; + each( + @loginicon, + { + span[data-provider="@{key}"] { + @svg: escape(@value); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + ); + } +} diff --git a/styles/amplenote/README.md b/styles/amplenote/README.md index 7c961c5421..c17c0ff0ff 100644 --- a/styles/amplenote/README.md +++ b/styles/amplenote/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/amplenote/catppuccin.user.css b/styles/amplenote/catppuccin.user.less similarity index 52% rename from styles/amplenote/catppuccin.user.css rename to styles/amplenote/catppuccin.user.less index d2dc2101d2..92a0ae6574 100644 --- a/styles/amplenote/catppuccin.user.css +++ b/styles/amplenote/catppuccin.user.less @@ -2,8 +2,8 @@ @name Amplenote Catppuccin @namespace github.com/catppuccin/userstyles/styles/amplenote @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/amplenote -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/amplenote/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/amplenote/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aamplenote @description Soothing pastel theme for Amplenote @author Catppuccin @@ -15,60 +15,24 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("amplenote.com") { body:not(.theme-light) { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } body.theme-light { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); &.themeable { --color-background-primary: @base; - --color-background-primary-rgb: #rgbify(@base) []; + --color-background-primary-rgb: #lib.rgbify(@base)[]; --color-background-secondary: @mantle; --color-background-tertiary: @mantle; @@ -86,8 +50,8 @@ --color-background-reversed-secondary: @surface2; --color-background-element-high-contrast: fade(@overlay2, 40%); - --color-background-element-medium-contrast: fade(@accent-color, 40%); - --color-background-element-medium-contrast-rgb: fade(@accent-color. 40%); + --color-background-element-medium-contrast: fade(@accent, 40%); + --color-background-element-medium-contrast-rgb: fade(@accent. 40%); --color-background-element-low-contrast: @crust; --color-background-note-menu-button: @surface0; @@ -95,11 +59,11 @@ --color-background-banner-alt: @base; --color-background-nav-divider: @surface0; - --color-background-action-low-contrast: fade(@accent-color, 50%); - --color-background-action-medium-contrast: fade(@accent-color, 60%); - --color-background-action-high-contrast: @accent-color; - --color-background-action-high-contrast-rgb: #rgbify(@accent-color) []; - --color-background-action-high-contrast-alt: fade(@accent-color, 75%); + --color-background-action-low-contrast: fade(@accent, 50%); + --color-background-action-medium-contrast: fade(@accent, 60%); + --color-background-action-high-contrast: @accent; + --color-background-action-high-contrast-rgb: #lib.rgbify(@accent)[]; + --color-background-action-high-contrast-alt: fade(@accent, 75%); --color-background-error-high-contrast: @red; --color-background-error-medium-contrast: fade(@red, 50%); @@ -120,18 +84,18 @@ --color-text-nav-lower-contrast: @surface2; --color-text-error-low-contrast: @peach; - --color-text-error-low-contrast-rgb: #rgbify(@peach) []; + --color-text-error-low-contrast-rgb: #lib.rgbify(@peach)[]; --color-text-error-medium-contrast: @red; --color-text-error-high-contrast: @red; --color-text-status: @green; - --color-text-link: @accent-color; + --color-text-link: @accent; --color-text-button: @crust; --color-background-task-value: @surface1; --color-background-sidebar-task: @surface0; - --color-overlay-low-contrast: @accent-color; + --color-overlay-low-contrast: @accent; --mdc-theme-surface: @base; } @@ -200,15 +164,15 @@ .calendar-pane .fc { .fc-timegrid-now-indicator-arrow { .line { - border-bottom-color: @accent-color; + border-bottom-color: @accent; } .material-icons { - color: @accent-color; + color: @accent; } } .fc-timegrid-now-indicator-line { - border-color: darken(@accent-color, 10%); + border-color: darken(@accent, 10%); } .fc-timegrid .fc-daygrid-day-events, @@ -233,17 +197,3 @@ } } } - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/amplenote/preview.webp b/styles/amplenote/preview.webp deleted file mode 100644 index 2ae774e753..0000000000 --- a/styles/amplenote/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cdf3745eeff95235899fed04e45a03a7ce08c7c913a6f562273285bdb23a878 -size 66048 diff --git a/styles/anilist/README.md b/styles/anilist/README.md index 4ac1cded91..a3dc449491 100644 --- a/styles/anilist/README.md +++ b/styles/anilist/README.md @@ -10,17 +10,15 @@

- -

- -

- +

## Usage -> [!NOTE] -> This theme applies to [AniChart](https://anichart.net/) as well, which is an extension of AniList. +> [!IMPORTANT] +> This userstyle also applies to [AniChart](https://anichart.net). + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/anilist/catppuccin.user.css b/styles/anilist/catppuccin.user.css deleted file mode 100644 index ed93115c3c..0000000000 --- a/styles/anilist/catppuccin.user.css +++ /dev/null @@ -1,760 +0,0 @@ -/* ==UserStyle== -@name AniList/AniChart Catppuccin -@namespace github.com/catppuccin/userstyles/styles/anilist -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/anilist -@version 2.2.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/anilist/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aanilist -@description Soothing pastel theme for AniList and AniChart -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var select contrastColor "Contrast Color" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("anilist.co"), domain("anichart.net") { - body:not(.site-theme-dark) { - #catppuccin(@lightFlavor, @accentColor); - } - .site-theme-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @contrast-color: @catppuccin[@@lookup][@@contrastColor]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - & when (@lookup =latte) { - --color-blue-dim: #rgbify(desaturate(lighten(@accent-color, 10%), 10%)) []; - - .nav[data-v-62eacfff], - .solid[data-v-62eacfff], - .transparent[data-v-62eacfff]:hover { - background: darken(@text, 10%); - color: @base; - } - - .nav-unscoped.transparent { - background: fade(darken(@text, 10%), 50%); - } - - .banner-content .name { - --color-text-bright: #rgbify(#fff) []; - } - } - - --color-background: #rgbify(@crust) []; - --color-foreground: #rgbify(@base) []; - --color-foreground-grey: #rgbify(@surface0) []; - --color-foreground-grey-dark: #rgbify(darken(@surface0, 5%)) []; - --color-foreground-blue: #rgbify(@mantle) []; - --color-foreground-blue-dark: #rgbify(@mantle) []; - --color-background-blue-dark: #rgbify(@subtext1) []; - --color-overlay: #rgbify(@surface0) []; - --color-shadow: #rgbify(@mantle) []; - --color-shadow-dark: #rgbify(darken(@text, 10%)) []; - --color-shadow-blue: #rgbify(@blue) []; - --color-text: #rgbify(@text) []; - --color-text-light: #rgbify(@subtext1) []; - --color-text-lighter: #rgbify(@subtext0) []; - --color-text-bright: #rgbify(@text) []; - --color-blue: #rgbify(@accent-color) []; - --color-white: 255, 255, 255; - --color-black: 0, 0, 0; - --color-red: #rgbify(@contrast-color) []; - --color-peach: #rgbify(@maroon) []; - --color-orange: #rgbify(@peach) []; - --color-yellow: #rgbify(@yellow) []; - --color-green: #rgbify(@green) []; - --color-background-1200: #rgbify(@text) []; - --color-background-1100: #rgbify(@text) []; - --color-background-1000: #rgbify(@text) []; - --color-background-900: #rgbify(@subtext1) []; - --color-background-800: #rgbify(@subtext0) []; - --color-background-700: #rgbify(@surface1) []; - --color-background-600: #rgbify(@surface0) []; - --color-background-500: #rgbify(@surface0) []; - --color-background-400: #rgbify(@surface0) []; - --color-background-300: #rgbify(@base) []; - --color-background-200: #rgbify(@mantle) []; - --color-background-100: #rgbify(@crust) []; - --color-gray-1200: #rgbify(@text) []; - --color-gray-1100: #rgbify(@text) []; - --color-gray-1000: #rgbify(@text) []; - --color-gray-900: #rgbify(@text) []; - --color-gray-800: #rgbify(@overlay2) []; - --color-gray-700: #rgbify(@overlay1) []; - --color-gray-600: #rgbify(@overlay0) []; - --color-gray-500: #rgbify(@surface2) []; - --color-gray-400: #rgbify(@surface1) []; - --color-gray-300: #rgbify(@surface0) []; - --color-gray-200: #rgbify(@mantle) []; - --color-gray-100: #rgbify(@crust) []; - --color-blue-100: #rgbify(@text) []; - --color-blue-200: #rgbify(@text) []; - --color-blue-300: #rgbify(@text) []; - --color-blue-400: #rgbify(@sapphire) []; - --color-blue-500: #rgbify(@sapphire) []; - --color-blue-600: #rgbify(@blue) []; - --color-blue-700: #rgbify(@blue) []; - --color-blue-800: #rgbify(@blue) []; - --color-blue-900: #rgbify(@blue) []; - --color-blue-1000: #rgbify(@blue) []; - --color-green-100: #rgbify(@teal) []; - --color-green-200: #rgbify(@green) []; - --color-green-300: #rgbify(@green) []; - --color-green-400: #rgbify(@green) []; - --color-green-500: #rgbify(@green) []; - --color-green-600: #rgbify(@green) []; - --color-green-700: #rgbify(@green) []; - --color-green-800: #rgbify(@green) []; - --color-red-100: #rgbify(@text) []; - --color-red-200: #rgbify(@flamingo) []; - --color-red-300: #rgbify(@maroon) []; - --color-red-400: #rgbify(@red) []; - --color-red-500: #rgbify(@red) []; - --color-red-600: #rgbify(@red) []; - --color-red-700: #rgbify(@red) []; - - & when not (@lookup =latte) { - --color-background: #rgbify(@crust) []; - --color-foreground: #rgbify(@base) []; - --color-foreground-grey: #rgbify(@surface0) []; - --color-foreground-grey-dark: #rgbify(darken(@surface0, 5%)) []; - --color-foreground-blue: #rgbify(@mantle) []; - --color-foreground-blue-dark: #rgbify(@mantle) []; - --color-text: #rgbify(@text) []; - --color-text-light: #rgbify(@subtext0) []; - --color-text-lighter: #rgbify(@subtext1) []; - --color-shadow-dark: #rgbify(@crust) []; - --color-shadow-blue: #rgbify(@crust) []; - --color-background-1200: #rgbify(@text) []; - --color-background-1100: #rgbify(@text) []; - --color-background-1000: #rgbify(@text) []; - --color-background-900: #rgbify(@subtext1) []; - --color-background-800: #rgbify(@subtext0) []; - --color-background-700: #rgbify(@surface1) []; - --color-background-600: #rgbify(@surface0) []; - --color-background-500: #rgbify(@surface0) []; - --color-background-400: #rgbify(@surface0) []; - --color-background-300: #rgbify(@base) []; - --color-background-200: #rgbify(@mantle) []; - --color-background-100: #rgbify(@crust) []; - --color-gray-1200: #rgbify(@text) []; - --color-gray-1100: #rgbify(@text) []; - --color-gray-1000: #rgbify(@text) []; - --color-gray-900: #rgbify(@text) []; - --color-gray-800: #rgbify(@overlay2) []; - --color-gray-700: #rgbify(@overlay1) []; - --color-gray-600: #rgbify(@overlay0) []; - --color-gray-500: #rgbify(@surface2) []; - --color-gray-400: #rgbify(@surface1) []; - --color-gray-300: #rgbify(@surface0) []; - --color-gray-200: #rgbify(@mantle) []; - --color-gray-100: #rgbify(@crust) []; - - --color-blue-dim: #rgbify(desaturate(darken(@accent-color, 10%), 10%)) []; - } - - /* DARK THEME NAV BAR */ - .nav-unscoped when not (@lookup =latte) { - background-color: @mantle; - } - .nav-unscoped.transparent when not (@lookup =latte) { - background-color: fade(@mantle, 50); - } - .nav-unscoped.transparent:hover when not (@lookup =latte) { - background-color: @mantle; - color: @subtext0; - } - - /* -----------------PROFILE FIXES----------------- */ - #profileColor(@color) { - --color-blue: #rgbify(@color) []; - & when (@lookup =latte) { - --color-blue-dim: #rgbify(lighten(@color, 10%)) []; - } - & when not (@lookup =latte) { - --color-blue-dim: #rgbify(darken(@color, 10%)) []; - } - .progress .bar { - background: linear-gradient(270deg, darken(@color, 10%), @color); - } - } - .user-page-unscoped.orange { - #profileColor(@peach); - } - .user-page-unscoped.green { - #profileColor(@green); - } - .user-page-unscoped.purple { - #profileColor(@mauve); - } - .user-page-unscoped.red { - #profileColor(@red); - } - .user-page-unscoped.blue { - #profileColor(@blue); - } - .user-page-unscoped.pink { - #profileColor(@pink); - } - .user-page-unscoped.gray { - #profileColor(@overlay1); - } - .history-day { - --color-foreground-grey-dark: #rgbify(@crust) []; - } - .x-axis { - --color-background-300: #rgbify(@surface0) []; - } - /* Fixes gap between stats */ - @media (max-width: 1540px) { - .stats-wrap { - grid-row-gap: 25px; - } - } - - /* ----Tracking Status List Stuff---- */ - .list[data-v-5776f768] { - color: @mantle !important; - } - .media-card .list-status[status="Repeating"] { - background: @pink; - } - .banner .el-icon-arrow-down::before { - color: @text !important; - } - .el-textarea__inner::placeholder { - color: @overlay1; - } - .el-dropdown-menu, - .el-dropdown-menu__item--divided::before, - .el-select-dropdown { - background-color: @surface0 !important; - } - .el-popper[x-placement^="bottom"] .popper__arrow::after, - .el-popper[x-placement^="bottom"] .popper__arrow, - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after, - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - border-bottom-color: @surface0; - } - .el-popper[x-placement^="top"] .popper__arrow::after, - .el-popper[x-placement^="top"] .popper__arrow, - .el-tooltip__popper[x-placement^="top"] .popper__arrow, - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - border-top-color: @surface0; - } - .el-dropdown .feed-filter { - color: @overlay0; - } - .el-dropdown-menu { - border-color: @text !important; - } - .el-dropdown-menu__item--divided when not (@lookup =latte) { - border-top-color: @surface1; - } - .el-select-dropdown__item.hover, - .el-select-dropdown__item:hover { - background-color: @base; - } - .el-select-dropdown__item.selected { - color: @accent-color; - } - .el-tooltip__popper.is-dark { - background: @surface0; - color: @text; - } - .tooltip > div { - --color-white: #rgbify(@text) []; - } - .dropdown { - --color-gray-100: #rgbify(@base) []; - --color-background-100: #rgbify(@base) []; - --color-background-200: #rgbify(@mantle) []; - } - .medialist .notes { - --color-overlay: #rgbify(@surface0) []; - } - .el-input__inner::placeholder, - .el-input__prefix { - color: @overlay1; - } - .el-picker-panel { - color: @text; - background-color: @surface0; - border-color: @surface1; - } - .el-date-table th { - color: @overlay1; - border-bottom-color: @surface1; - } - .el-date-picker__header-label { - color: @subtext0; - - &:hover { - color: @accent-color; - } - } - .el-picker-panel__icon-btn { - color: @overlay1; - - &:hover { - color: @accent-color; - } - } - .el-date-table td.available:hover { - color: @accent-color; - } - .el-date-table td.current:not(.disabled) span { - color: @crust; - background-color: @accent-color; - } - .el-date-table td.next-month, - .el-date-table td.prev-month { - color: @surface2; - } - - /* ---------SCORE TWEAKS-------------- */ - .score[data-v-5ca094da] { - color: @base; - } - - /* --------------FOOTER--------------- */ - .footer[data-v-0f519cab] { - background: @text; - color: @crust; - - h2 { - color: rgb(var(--color-blue)); - } - - & when (@lookup =latte) { - --color-blue: #rgbify(lighten(@accent-color, 30%)) []; - } - - & when not (@lookup =latte) { - background: @mantle; - color: @subtext0; - } - } - - /* ------------------SEARCH PAGES------------------ */ - .search, - .expand-description, - .studio { - --color-background-200: #rgbify(@crust) []; - } - .search-wrap, - .filters, - .extra-filters-wrap, - .select, - .options { - --color-background-100: #rgbify(@base) []; - } - .filter.select-wrap .options { - --color-background-100: #rgbify(@mantle) []; - } - - /* ------------------MISC EDITS-------------------- */ - .list-editor-wrap .header::after { - background: fade(@mantle, 50%); - } - .filter.clear-all { - --color-background-500: #rgbify(@overlay1) []; - } - /* --Reset button in notifications----- */ - .reset-btn { - color: @base !important; - } - /* Publish Button in Replies and Messages */ - .save { - color: @base !important; - } - .el-radio { - color: @overlay1; - } - /* Mod Stuff */ - .el-color-dropdown__link-btn { - color: @accent-color; - } - .el-color-picker__color { - border-color: @surface1; - } - .el-color-picker__panel { - background-color: @surface0; - border-color: @surface1; - } - .el-color-dropdown__btn { - border-color: @surface2; - color: @subtext1; - - &:hover { - background-color: transparent; - border-color: @accent-color; - color: @accent-color; - } - } - /* Accent Text */ - .input .hint { - --color-white: #rgbify(@text) []; - } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: @accent-color; - } - .button, - .option.active, - .new-badge, - .submissions .user .stats > div, - .actions .icon, - .submissions .status, - .adult-label, - .header .btn, - .media-tag-editor .btn, - [data-v-843c77a2] .btn, - [data-v-22855988] .btn, - .btn[data-v-156b3973], - .btn[data-v-dceb4a66], - .favourite-btn, - .dialog .btn, - .tag, - .filter, - .media .header div, - .list-editor-wrap .header .save-btn, - .actions > div:not(.donator-badge), - .banner-content .mod-badge-wrap, - .external-link.no-color, - .count.circle, - .el-dropdown-menu__item, - .delete, - .list-editor-wrap .list-editor .body .delete-btn, - .open-user-search, - .save-btn { - & when not (@lookup =latte) { - --color-white: #rgbify(@crust) []; - } - } - .button.comment, - .settings .button, - .el-message-box .el-button--primary, - .mod-badge-wrap, - .medialist.cards .entry-card .edit { - & when not (@lookup =latte) { - --color-text-bright: #rgbify(@crust) []; - } - } - .submit-btn, - .random-btn { - & when not (@lookup =latte) { - color: @crust; - } - } - .user .notification-dot, - .create-btn { - & when not (@lookup =latte) { - color: @crust !important; - } - } - .el-radio__inner::after { - & when not (@lookup =latte) { - background-color: @crust; - } - } - .icon, - .check { - & when not (@lookup =latte) { - --color-blue-300: #rgbify(@crust) []; - } - } - .settings .button { - & when (@lookup =latte) { - --color-text-bright: #rgbify(#fff) []; - } - } - /* ------------IMAGE COVER------------ */ - .cover .image-text, - .plus-progress { - color: @text !important; - } - - .entry .plus-progress, - .medialist.table .entry .edit { - color: @base !important; - } - /* --------SETTINGS-------- */ - .el-radio__inner when not (@lookup =latte) { - background-color: @text; - } - .el-checkbox__input.is-checked .el-checkbox__inner, - .el-radio__input.is-checked .el-radio__inner { - background-color: @accent-color; - border-color: @accent-color; - } - .el-checkbox__inner::after { - border-color: @crust; - border-width: 2px; - left: 3px; - } - .el-radio__input.is-checked + .el-radio__label { - color: @accent-color; - } - /* --------HIDE SCROLLBAR IN BIO----- */ - .section::-webkit-scrollbar { - display: none; - } - .section { - -ms-overflow-style: none; - scrollbar-width: none; - } - /* --------REMOVE DROPDOWN SHADOWS----- */ - .dropdown.dropdown { - box-shadow: none; - } - /* ---------ANILIST LIKER PLUGIN------ */ - #AnilistLikerPlugin .btntop { - margin-bottom: -4px; - margin-top: 5px; - } - #AnilistLikerPlugin .btnbottom { - margin-top: -2px; - } - /* ---------AUTOMAIL TWEAKS--------- */ - .hohMediaScore { - border-color: @surface0; - padding: 4px; - border-radius: 10px; - margin-left: 0; - background-color: @base; - color: @accent-color; - } - .activity-feed .hohNoteSuffix:not(:empty), - .activity-feed .hohRewatchSuffix:not(:empty), - .activity-feed .hohScore:not(.hohSmiley), - .hohFeedScore .hohScore { - border-radius: 5px; - padding: 2.5px 5px 1px !important; - color: @subtext1 !important; - background-color: @surface0; - - &:not(:first-of-type) { - margin: 3px; - } - } - .activity-feed .hohRewatchSuffix:not(:empty) { - padding-left: 2px !important; - } - .hohExtraFilters button { - margin-bottom: 20px; - } - .filter-group.compare-btn, - .hohButton { - color: @base; - } - .hohButton, - .hohCheckbox input:checked + .el-checkbox__inner { - background-color: @accent-color; - } - .hohCheckbox input:checked + .el-checkbox__inner { - border-color: @accent-color; - } - .medialist.table .entry:hover, - .medialist.table .entry .title a:hover, - .compare-btn[data-v-170179fc]:hover { - color: @base; - } - .hohCompare table { - background-color: @crust; - } - .hohAnimeTable, - .hohAnimeTable td, - .hohUserRow td, - .hohUserRow th, - .hohHeaderRow td, - .hohHeaderRow th { - border-color: @surface0 !important; - } - .hohUserRow td { - border-top-color: @surface0 !important; - } - .hohUserRow tr { - border-right-color: @surface0 !important; - } - hr { - color: @surface0; - } - .hohCheckbox - input:checked - + .el-checkbox__inner - .like-wrap.thread - .button.liked - .fa-heart, - .actions .favourite.liked .fa-heart, - .like-wrap.thread .button.isFavourite .fa-heart, - .actions .favourite.isFavourite .fa-heart, - .actions .favourite { - & when not (@lookup =latte) { - --color-white: #rgbify(@crust) []; - } - } - } -} - -@-moz-document domain("anichart.net") { - body:not(.site-theme-dark) { - #catppuccin(@lightFlavor, @accentColor); - } - .site-theme-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accentColor]; - @contrast-color: @catppuccin[@@lookup][@@contrastColor]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - .login[data-v-0d5bfbcd], - .login[data-v-0d5bfbcd]:hover { - color: @base; - } - - [fill="#3db4f2" i] { - fill: @accent !important; - } - - & when not (@lookup =latte) { - .nav { - background: @mantle; - } - - .external-link { - background: @surface1; - - [stroke="#fff" i] { - stroke: @text !important; - } - } - - .external-link .icon, - .dropdown-menu:hover { - --color-white: #rgbify(@crust) []; - } - - [fill="#fff" i] { - fill: @crust !important; - } - } - - & when (@lookup =latte) { - --color-overlay: #rgbify(@text) []; - - .external-link { - background: @subtext0; - } - - .nav { - background: @text; - } - - a.title { - --color-white: #rgbify(@base) []; - } - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/anilist/catppuccin.user.less b/styles/anilist/catppuccin.user.less new file mode 100644 index 0000000000..d2554eb03e --- /dev/null +++ b/styles/anilist/catppuccin.user.less @@ -0,0 +1,654 @@ +/* ==UserStyle== +@name AniList/AniChart Catppuccin +@namespace github.com/catppuccin/userstyles/styles/anilist +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/anilist +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/anilist/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aanilist +@description Soothing pastel theme for AniList and AniChart +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var select contrastColor "Contrast Color" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("anilist.co"), domain("anichart.net") { + body:not(.site-theme-dark) { + #catppuccin(@lightFlavor); + } + .site-theme-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + @contrast: @catppuccin[@@flavor][@@contrastColor]; + + #lib.defaults(); + + & when (@flavor = latte) { + --color-blue-dim: #lib.rgbify(desaturate(lighten(@accent, 10%), 10%))[]; + + .nav[data-v-62eacfff], + .solid[data-v-62eacfff], + .transparent[data-v-62eacfff]:hover { + background: darken(@text, 10%); + color: @base; + } + + .nav-unscoped.transparent { + background: fade(darken(@text, 10%), 50%); + } + } + + --color-background: #lib.rgbify(@crust)[]; + --color-foreground: #lib.rgbify(@base)[]; + --color-foreground-grey: #lib.rgbify(@surface0)[]; + --color-foreground-grey-dark: #lib.rgbify(darken(@surface0, 5%))[]; + --color-foreground-blue: #lib.rgbify(@mantle)[]; + --color-foreground-blue-dark: #lib.rgbify(@mantle)[]; + --color-background-blue-dark: #lib.rgbify(@subtext1)[]; + --color-overlay: #lib.rgbify(@surface0)[]; + --color-shadow: #lib.rgbify(@mantle)[]; + --color-shadow-dark: #lib.rgbify(darken(@text, 10%))[]; + --color-shadow-blue: #lib.rgbify(@blue)[]; + --color-text: #lib.rgbify(@text)[]; + --color-text-light: #lib.rgbify(@subtext1)[]; + --color-text-lighter: #lib.rgbify(@subtext0)[]; + --color-text-bright: #lib.rgbify(if(@flavor = latte, @crust, @text))[]; + --color-blue: #lib.rgbify(@accent)[]; + --color-white: 255, 255, 255; + --color-black: 0, 0, 0; + --color-red: #lib.rgbify(@contrast)[]; + --color-peach: #lib.rgbify(@maroon)[]; + --color-orange: #lib.rgbify(@peach)[]; + --color-yellow: #lib.rgbify(@yellow)[]; + --color-green: #lib.rgbify(@green)[]; + --color-background-1200: #lib.rgbify(@text)[]; + --color-background-1100: #lib.rgbify(@text)[]; + --color-background-1000: #lib.rgbify(@text)[]; + --color-background-900: #lib.rgbify(@subtext1)[]; + --color-background-800: #lib.rgbify(@subtext0)[]; + --color-background-700: #lib.rgbify(@surface1)[]; + --color-background-600: #lib.rgbify(@surface0)[]; + --color-background-500: #lib.rgbify(@surface0)[]; + --color-background-400: #lib.rgbify(@surface0)[]; + --color-background-300: #lib.rgbify(@base)[]; + --color-background-200: #lib.rgbify(@mantle)[]; + --color-background-100: #lib.rgbify(@crust)[]; + --color-gray-1200: #lib.rgbify(@text)[]; + --color-gray-1100: #lib.rgbify(@text)[]; + --color-gray-1000: #lib.rgbify(@text)[]; + --color-gray-900: #lib.rgbify(@text)[]; + --color-gray-800: #lib.rgbify(@overlay2)[]; + --color-gray-700: #lib.rgbify(@overlay1)[]; + --color-gray-600: #lib.rgbify(@overlay0)[]; + --color-gray-500: #lib.rgbify(@surface2)[]; + --color-gray-400: #lib.rgbify(@surface1)[]; + --color-gray-300: #lib.rgbify(@surface0)[]; + --color-gray-200: #lib.rgbify(@mantle)[]; + --color-gray-100: #lib.rgbify(@crust)[]; + --color-blue-100: #lib.rgbify(@text)[]; + --color-blue-200: #lib.rgbify(@text)[]; + --color-blue-300: #lib.rgbify(@text)[]; + --color-blue-400: #lib.rgbify(@sapphire)[]; + --color-blue-500: #lib.rgbify(@sapphire)[]; + --color-blue-600: #lib.rgbify(@blue)[]; + --color-blue-700: #lib.rgbify(@blue)[]; + --color-blue-800: #lib.rgbify(@blue)[]; + --color-blue-900: #lib.rgbify(@blue)[]; + --color-blue-1000: #lib.rgbify(@blue)[]; + --color-green-100: #lib.rgbify(@teal)[]; + --color-green-200: #lib.rgbify(@green)[]; + --color-green-300: #lib.rgbify(@green)[]; + --color-green-400: #lib.rgbify(@green)[]; + --color-green-500: #lib.rgbify(@green)[]; + --color-green-600: #lib.rgbify(@green)[]; + --color-green-700: #lib.rgbify(@green)[]; + --color-green-800: #lib.rgbify(@green)[]; + --color-red-100: #lib.rgbify(@text)[]; + --color-red-200: #lib.rgbify(@flamingo)[]; + --color-red-300: #lib.rgbify(@maroon)[]; + --color-red-400: #lib.rgbify(@red)[]; + --color-red-500: #lib.rgbify(@red)[]; + --color-red-600: #lib.rgbify(@red)[]; + --color-red-700: #lib.rgbify(@red)[]; + + & when not(@flavor = latte) { + --color-background: #lib.rgbify(@crust)[]; + --color-foreground: #lib.rgbify(@base)[]; + --color-foreground-grey: #lib.rgbify(@surface0)[]; + --color-foreground-grey-dark: #lib.rgbify(darken(@surface0, 5%))[]; + --color-foreground-blue: #lib.rgbify(@mantle)[]; + --color-foreground-blue-dark: #lib.rgbify(@mantle)[]; + --color-text: #lib.rgbify(@text)[]; + --color-text-light: #lib.rgbify(@subtext0)[]; + --color-text-lighter: #lib.rgbify(@subtext1)[]; + --color-shadow-dark: #lib.rgbify(@crust)[]; + --color-shadow-blue: #lib.rgbify(@crust)[]; + --color-background-1200: #lib.rgbify(@text)[]; + --color-background-1100: #lib.rgbify(@text)[]; + --color-background-1000: #lib.rgbify(@text)[]; + --color-background-900: #lib.rgbify(@subtext1)[]; + --color-background-800: #lib.rgbify(@subtext0)[]; + --color-background-700: #lib.rgbify(@surface1)[]; + --color-background-600: #lib.rgbify(@surface0)[]; + --color-background-500: #lib.rgbify(@surface0)[]; + --color-background-400: #lib.rgbify(@surface0)[]; + --color-background-300: #lib.rgbify(@base)[]; + --color-background-200: #lib.rgbify(@mantle)[]; + --color-background-100: #lib.rgbify(@crust)[]; + --color-gray-1200: #lib.rgbify(@text)[]; + --color-gray-1100: #lib.rgbify(@text)[]; + --color-gray-1000: #lib.rgbify(@text)[]; + --color-gray-900: #lib.rgbify(@text)[]; + --color-gray-800: #lib.rgbify(@overlay2)[]; + --color-gray-700: #lib.rgbify(@overlay1)[]; + --color-gray-600: #lib.rgbify(@overlay0)[]; + --color-gray-500: #lib.rgbify(@surface2)[]; + --color-gray-400: #lib.rgbify(@surface1)[]; + --color-gray-300: #lib.rgbify(@surface0)[]; + --color-gray-200: #lib.rgbify(@mantle)[]; + --color-gray-100: #lib.rgbify(@crust)[]; + + --color-blue-dim: #lib.rgbify(desaturate(darken(@accent, 10%), 10%))[]; + } + + /* DARK THEME NAV BAR */ + .nav-unscoped when not(@flavor = latte) { + background-color: @mantle; + } + .nav-unscoped.transparent when not(@flavor = latte) { + background-color: fade(@mantle, 50%); + } + .nav-unscoped.transparent:hover when not(@flavor = latte) { + background-color: @mantle; + color: @subtext0; + } + + /* -----------------PROFILE FIXES----------------- */ + #profileColor(@color) { + --color-blue: #lib.rgbify(@color)[]; + & when (@flavor = latte) { + --color-blue-dim: #lib.rgbify(lighten(@color, 10%))[]; + } + & when not(@flavor = latte) { + --color-blue-dim: #lib.rgbify(darken(@color, 10%))[]; + } + .progress .bar { + background: linear-gradient(270deg, darken(@color, 10%), @color); + } + } + .user-page-unscoped.orange { + #profileColor(@peach); + } + .user-page-unscoped.green { + #profileColor(@green); + } + .user-page-unscoped.purple { + #profileColor(@mauve); + } + .user-page-unscoped.red { + #profileColor(@red); + } + .user-page-unscoped.blue { + #profileColor(@blue); + } + .user-page-unscoped.pink { + #profileColor(@pink); + } + .user-page-unscoped.gray { + #profileColor(@overlay1); + } + .history-day { + --color-foreground-grey-dark: #lib.rgbify(@crust)[]; + } + .x-axis { + --color-background-300: #lib.rgbify(@surface0)[]; + } + /* Fixes gap between stats */ + @media (max-width: 1540px) { + .stats-wrap { + grid-row-gap: 25px; + } + } + + /* ----Tracking Status List Stuff---- */ + .list[data-v-5776f768] { + color: @mantle !important; + } + .media-card .list-status[status="Repeating"] { + background: @pink; + } + .banner .el-icon-arrow-down::before { + color: @text !important; + } + .el-textarea__inner::placeholder { + color: @overlay1; + } + .el-dropdown-menu, + .el-dropdown-menu__item--divided::before, + .el-select-dropdown { + background-color: @surface0 !important; + } + .el-popper[x-placement^="bottom"] .popper__arrow::after, + .el-popper[x-placement^="bottom"] .popper__arrow, + .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after, + .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { + border-bottom-color: @surface0; + } + .el-popper[x-placement^="top"] .popper__arrow::after, + .el-popper[x-placement^="top"] .popper__arrow, + .el-tooltip__popper[x-placement^="top"] .popper__arrow, + .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { + border-top-color: @surface0; + } + .el-dropdown .feed-filter { + color: @overlay0; + } + .el-dropdown-menu { + border-color: @text !important; + } + .el-dropdown-menu__item--divided when not(@flavor = latte) { + border-top-color: @surface1; + } + .el-select-dropdown__item.hover, + .el-select-dropdown__item:hover { + background-color: @base; + } + .el-select-dropdown__item.selected { + color: @accent; + } + .el-tooltip__popper.is-dark { + background: @surface0; + color: @text; + } + .tooltip > div { + --color-white: #lib.rgbify(@text)[]; + } + .dropdown { + --color-gray-100: #lib.rgbify(@base)[]; + --color-background-100: #lib.rgbify(@base)[]; + --color-background-200: #lib.rgbify(@mantle)[]; + } + .medialist .notes { + --color-overlay: #lib.rgbify(@surface0)[]; + } + .el-input__inner::placeholder, + .el-input__prefix { + color: @overlay1; + } + .el-picker-panel { + color: @text; + background-color: @surface0; + border-color: @surface1; + } + .el-date-table th { + color: @overlay1; + border-bottom-color: @surface1; + } + .el-date-picker__header-label { + color: @subtext0; + + &:hover { + color: @accent; + } + } + .el-picker-panel__icon-btn { + color: @overlay1; + + &:hover { + color: @accent; + } + } + .el-date-table td.available:hover { + color: @accent; + } + .el-date-table td.current:not(.disabled) span { + color: @crust; + background-color: @accent; + } + .el-date-table td.next-month, + .el-date-table td.prev-month { + color: @surface2; + } + + /* ---------SCORE TWEAKS-------------- */ + .score[data-v-5ca094da] { + color: @base; + } + + /* --------------FOOTER--------------- */ + .footer[data-v-0f519cab] { + background: @text; + color: @crust; + + h2 { + color: rgb(var(--color-blue)); + } + + & when (@flavor = latte) { + --color-blue: #lib.rgbify(lighten(@accent, 30%))[]; + } + + & when not(@flavor = latte) { + background: @mantle; + color: @subtext0; + } + } + + /* ------------------SEARCH PAGES------------------ */ + .search, + .expand-description, + .studio { + --color-background-200: #lib.rgbify(@crust)[]; + } + .search-wrap, + .filters, + .extra-filters-wrap, + .select, + .options { + --color-background-100: #lib.rgbify(@base)[]; + } + .filter.select-wrap .options { + --color-background-100: #lib.rgbify(@mantle)[]; + } + + /* ------------------MISC EDITS-------------------- */ + .list-editor-wrap .header::after { + background: fade(@mantle, 50%); + } + .filter.clear-all { + --color-background-500: #lib.rgbify(@overlay1)[]; + } + /* --Reset button in notifications----- */ + .reset-btn { + color: @base !important; + } + /* Publish Button in Replies and Messages */ + .save { + color: @base !important; + } + .el-radio { + color: @overlay1; + } + /* Mod Stuff */ + .el-color-dropdown__link-btn { + color: @accent; + } + .el-color-picker__color { + border-color: @surface1; + } + .el-color-picker__panel { + background-color: @surface0; + border-color: @surface1; + } + .el-color-dropdown__btn { + border-color: @surface2; + color: @subtext1; + + &:hover { + background-color: transparent; + border-color: @accent; + color: @accent; + } + } + /* Accent Text */ + .input .hint { + --color-white: #lib.rgbify(@text)[]; + } + .el-checkbox__input.is-checked + .el-checkbox__label { + color: @accent; + } + .button, + .option.active, + .new-badge, + .submissions .user .stats > div, + .actions .icon, + .submissions .status, + .adult-label, + .header .btn, + .media-tag-editor .btn, + [data-v-843c77a2] .btn, + [data-v-22855988] .btn, + .btn[data-v-156b3973], + .btn[data-v-dceb4a66], + .favourite-btn, + .dialog .btn, + .tag, + .filter, + .media .header div, + .list-editor-wrap .header .save-btn, + .actions > div:not(.donator-badge), + .banner-content .mod-badge-wrap, + .external-link.no-color, + .count.circle, + .el-dropdown-menu__item, + .delete, + .list-editor-wrap .list-editor .body .delete-btn, + .open-user-search, + .save-btn { + & when not(@flavor = latte) { + --color-white: #lib.rgbify(@crust)[]; + } + } + .submit-btn, + .random-btn { + & when not(@flavor = latte) { + color: @crust; + } + } + .user .notification-dot, + .create-btn { + & when not(@flavor = latte) { + color: @crust !important; + } + } + .el-radio__inner::after { + & when not(@flavor = latte) { + background-color: @crust; + } + } + .icon, + .check { + & when not(@flavor = latte) { + --color-blue-300: #lib.rgbify(@crust)[]; + } + } + /* ------------IMAGE COVER------------ */ + .cover .image-text, + .plus-progress { + color: @text !important; + } + + .entry .plus-progress, + .medialist.table .entry .edit { + color: @base !important; + } + /* --------SETTINGS-------- */ + .el-radio__inner when not(@flavor = latte) { + background-color: @text; + } + .el-checkbox__input.is-checked .el-checkbox__inner, + .el-radio__input.is-checked .el-radio__inner { + background-color: @accent; + border-color: @accent; + } + .el-checkbox__inner::after { + border-color: @crust; + border-width: 2px; + left: 3px; + } + .el-radio__input.is-checked + .el-radio__label { + color: @accent; + } + /* --------HIDE SCROLLBAR IN BIO----- */ + .section::-webkit-scrollbar { + display: none; + } + .section { + -ms-overflow-style: none; + scrollbar-width: none; + } + /* --------REMOVE DROPDOWN SHADOWS----- */ + .dropdown.dropdown { + box-shadow: none; + } + /* ---------ANILIST LIKER PLUGIN------ */ + #AnilistLikerPlugin .btntop { + margin-bottom: -4px; + margin-top: 5px; + } + #AnilistLikerPlugin .btnbottom { + margin-top: -2px; + } + /* ---------AUTOMAIL TWEAKS--------- */ + .hohMediaScore { + border-color: @surface0; + padding: 4px; + border-radius: 10px; + margin-left: 0; + background-color: @base; + color: @accent; + } + .activity-feed .hohNoteSuffix:not(:empty), + .activity-feed .hohRewatchSuffix:not(:empty), + .activity-feed .hohScore:not(.hohSmiley), + .hohFeedScore .hohScore { + border-radius: 5px; + padding: 2.5px 5px 1px !important; + color: @subtext1 !important; + background-color: @surface0; + + &:not(:first-of-type) { + margin: 3px; + } + } + .activity-feed .hohRewatchSuffix:not(:empty) { + padding-left: 2px !important; + } + .hohExtraFilters button { + margin-bottom: 20px; + } + .filter-group.compare-btn, + .hohButton { + color: @base; + } + .hohButton, + .hohCheckbox input:checked + .el-checkbox__inner { + background-color: @accent; + } + .hohCheckbox input:checked + .el-checkbox__inner { + border-color: @accent; + } + .medialist.table .entry:hover, + .medialist.table .entry .title a:hover, + .compare-btn[data-v-170179fc]:hover { + color: @base; + } + .hohCompare table { + background-color: @crust; + } + .hohAnimeTable, + .hohAnimeTable td, + .hohUserRow td, + .hohUserRow th, + .hohHeaderRow td, + .hohHeaderRow th { + border-color: @surface0 !important; + } + .hohUserRow td { + border-top-color: @surface0 !important; + } + .hohUserRow tr { + border-right-color: @surface0 !important; + } + hr { + color: @surface0; + } + .hohCheckbox + input:checked + + .el-checkbox__inner + .like-wrap.thread + .button.liked + .fa-heart, + .actions .favourite.liked .fa-heart, + .like-wrap.thread .button.isFavourite .fa-heart, + .actions .favourite.isFavourite .fa-heart, + .actions .favourite { + & when not(@flavor = latte) { + --color-white: #lib.rgbify(@crust)[]; + } + } + } +} + +@-moz-document domain("anichart.net") { + body:not(.site-theme-dark) { + #catppuccin(@lightFlavor); + } + .site-theme-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + .login[data-v-0d5bfbcd], + .login[data-v-0d5bfbcd]:hover { + color: @base; + } + + [fill="#3db4f2" i] { + fill: @accent !important; + } + + & when not(@flavor = latte) { + .nav { + background: @mantle; + } + + .external-link { + background: @surface1; + + [stroke="#fff" i] { + stroke: @text !important; + } + } + + .external-link .icon, + .dropdown-menu:hover { + --color-white: #lib.rgbify(@crust)[]; + } + + [fill="#fff" i] { + fill: @crust !important; + } + } + + & when (@flavor = latte) { + --color-overlay: #lib.rgbify(@text)[]; + + .external-link { + background: @subtext0; + } + + .nav { + background: @text; + } + + a.title { + --color-white: #lib.rgbify(@base)[]; + } + } + } +} diff --git a/styles/anilist/preview.webp b/styles/anilist/preview.webp deleted file mode 100644 index 1d3753721c..0000000000 --- a/styles/anilist/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:32482735c852ffe19d4a71a996607d0d00f378c98fd021bf43bdba8b6946a3c9 -size 236912 diff --git a/styles/anonymous-overflow/README.md b/styles/anonymous-overflow/README.md new file mode 100644 index 0000000000..51c691df32 --- /dev/null +++ b/styles/anonymous-overflow/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Anonymous Overflow + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [ImenaOphelia](https://github.com/ImenaOphelia) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/anonymous-overflow/catppuccin.user.less b/styles/anonymous-overflow/catppuccin.user.less new file mode 100644 index 0000000000..ae84fa2ef2 --- /dev/null +++ b/styles/anonymous-overflow/catppuccin.user.less @@ -0,0 +1,109 @@ +/* ==UserStyle== +@name Anonymous Overflow Catppuccin +@namespace github.com/catppuccin/userstyles/styles/anonymous-overflow +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/anonymous-overflow +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/anonymous-overflow/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aanonymous-overflow +@description Soothing pastel theme for Anonymous Overflow +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +/* Working instances filtered from instance list: https://aohub.httpjames.space/. */ +@-moz-document domain("ao.vern.cc"), + domain("overflow.adminforge.de"), + domain("overflow.floppa.cloud"), + domain("overflow.hostux.net"), + domain("ao.bloat.cat"), + domain("ao.owo.si"), + domain("overflow.r4fo.com"), + domain("overflow.ducks.party"), + domain("anonymousoverflow.privacyredirect.com"), + domain("soflow.nerdvpn.de"), + domain("overflow.einfachzocken.eu"), + domain("anonymousoverflow.catsarch.com"), + domain("overflow.darkness.services"), + domain("anonflow.aketawi.space"), + domain("o.iii.st"), + domain("overflow.canine.tools") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + :root[data-theme="auto"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + + :root[data-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --main-bg: @base; + --text-color: @text; + --muted-text-color: @subtext0; + --link-color: @blue; + --meta-bg: @surface1; + --input-bg: @mantle; + --input-bg-hover: @surface1; + --divider-color: @overlay0; + + .view-input:focus { + border-color: @surface2; + } + + .answer-link .icon img { + background: none; + filter: @text-filter; + } + .answer-meta.accepted { + background-color: @green; + color: @base; + + .answer-link .icon img { + filter: @crust-filter; + } + } + + .sorting img[src="/static/icons/sort.svg"] { + filter: @subtext0-filter; + } + + .logo { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + hr { + border-color: @overlay0; + } + + .error { + background-color: @red; + } + .error, .success { + color: @crust; + } + } +} diff --git a/styles/arch-wiki/README.md b/styles/arch-wiki/README.md index 0a3026fe69..5185ea80b1 100644 --- a/styles/arch-wiki/README.md +++ b/styles/arch-wiki/README.md @@ -4,25 +4,24 @@

Logo
- Catppuccin for Arch Wiki + Catppuccin for Arch Wiki

- -

- -

- +

## Usage -Make sure to use the default **Light** theme +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Make sure to use the default **Light** theme. -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! ## ๐Ÿ’– Past Maintainer - [GenShibe](https://github.com/GenShibe) diff --git a/styles/arch-wiki/catppuccin.user.css b/styles/arch-wiki/catppuccin.user.less similarity index 72% rename from styles/arch-wiki/catppuccin.user.css rename to styles/arch-wiki/catppuccin.user.less index cd2d85a26f..8fa43b5ff6 100644 --- a/styles/arch-wiki/catppuccin.user.css +++ b/styles/arch-wiki/catppuccin.user.less @@ -2,8 +2,8 @@ @name Arch Wiki Catppuccin @namespace github.com/catppuccin/userstyles/styles/arch-wiki @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/arch-wiki -@version 0.0.8 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/arch-wiki/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/arch-wiki/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aarch-wiki @description Soothing pastel theme for Arch Wiki @author Catppuccin @@ -15,59 +15,32 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('wiki.archlinux.org') { - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("wiki.archlinux.org") { + :root.skin-theme-clientpref-os, + .vector-feature-night-mode-enabled, + .skin-invert, + .notheme { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + :root.skin-theme-clientpref-night { + #catppuccin(@darkFlavor); + } + + :root.skin-theme-clientpref-day { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); #content table, #content h1, @@ -81,6 +54,65 @@ color: @text !important; } + body.skin-vector-2022 .vector-sticky-header { + color: @text !important; + background-color: @mantle !important; + border-bottom-color: @blue !important; + } + + #vector-main-menu-pinned-container, + #vector-page-tools-pinned-container { + background-color: @base !important; + } + + #ooui-php-191, + #preferences .mw-htmlform-submit-buttons { + background-color: @mantle !important; + } + + .mw-echo-ui-notificationItemWidget-content-message-header, + .oo-ui-labelElement-label { + color: @text !important; + } + + .oo-ui-optionWidget-selected { + background-color: @surface2 !important; + } + + .oo-ui-buttonElement-framed.oo-ui-widget-disabled + > .oo-ui-buttonElement-button { + background-color: @surface0 !important; + color: @text !important; + border-color: @surface2 !important; + filter: brightness(0.4); + cursor: not-allowed; + } + + .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { + background-color: @surface1 !important; + } + + .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { + background-color: @surface2 !important; + } + + .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(odd) td, + .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled + .oo-ui-tagMultiselectWidget-handle, + .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined + .oo-ui-tagItemWidget.oo-ui-widget-enabled, + .mw-rcfilters-ui-cell.mw-rcfilters-ui-filterTagMultiselectWidget-views-select, + .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, + .oo-ui-popupWidget-popup, + .mw-echo-ui-notificationItemWidget, + .mw-echo-ui-placeholderItemWidget { + background-color: @surface0 !important; + } + + .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { + background-color: @base !important; + } + #archnavbar { background-color: @mantle !important; border-bottom-color: @blue !important; @@ -133,25 +165,25 @@ } .archwiki-template-box-tip { - background-color: fadeout(hsla(90, 90%, 65%, 0.3), 10%) !important; - border-color: fadeout(hsla(90, 90%, 75%, 0.3), 10%); + background-color: hsla(90, 90%, 65%, 0.2) !important; + border-color: hsla(90, 90%, 75%, 0.2); color: @subtext1; } .archwiki-template-box-note { - background-color: fadeout(hsla(208, 100%, 61%, 0.3), 5%) !important; - border-color: fadeout(hsla(208, 100%, 81%, 0.3), 5%) !important; + background-color: hsla(208, 100%, 61%, 0.25) !important; + border-color: hsla(208, 100%, 81%, 0.25) !important; color: @subtext1; } .archwiki-template-box-warning { - background-color: fadeout(hsla(7, 99%, 60%, 0.3), 5%) !important; - border-color: fadeout(hsla(7, 99%, 80%, 0.3), 05%) !important; + background-color: hsla(7, 99%, 60%, 0.25) !important; + border-color: hsla(7, 99%, 80%, 0.25) !important; color: @subtext1; } .firstHeading { - color: @accent-color !important; + color: @accent !important; } #content { @@ -177,7 +209,7 @@ .vector-pinnable-header-toggle-button, .vector-pinnable-header-unpin-button { color: @mantle; - background-color: @accent-color; + background-color: @accent; border-color: @base; } @@ -277,7 +309,7 @@ } #archnavbar ul li.anb-selected a { - color: @accent-color !important; + color: @accent !important; } .archwiki-template-message { @@ -402,7 +434,7 @@ .cdx-button:enabled, .cdx-button.cdxbutton--fake-button--enabled { color: @mantle; - background-color: @accent-color; + background-color: @accent; border-color: @base; } @@ -423,7 +455,7 @@ } .mw-headline::before { - color: @accent-color !important; + color: @accent !important; } .cdx-button { @@ -461,13 +493,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/arch-wiki/preview.webp b/styles/arch-wiki/preview.webp deleted file mode 100644 index 905eb3eed9..0000000000 --- a/styles/arch-wiki/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8ed69eec454585f3e78ad31aee410da54090cfea15ce0a84bbd1a3575e686a6 -size 119394 diff --git a/styles/boringproxy/README.md b/styles/boringproxy/README.md index 2e1d0def7a..275ddc4c98 100644 --- a/styles/boringproxy/README.md +++ b/styles/boringproxy/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Gandalf the Blue](https://github.com/Gandalf-the-Blue) +- [Gandalf-the-Blue](https://github.com/Gandalf-the-Blue)   diff --git a/styles/boringproxy/catppuccin.user.css b/styles/boringproxy/catppuccin.user.css deleted file mode 100644 index dc721a7558..0000000000 --- a/styles/boringproxy/catppuccin.user.css +++ /dev/null @@ -1,209 +0,0 @@ -/* ==UserStyle== -@name boringproxy Catppuccin -@namespace github.com/catppuccin/userstyles/styles/boringproxy -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/boringproxy -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/boringproxy/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aboringproxy -@description Soothing pastel theme for boringproxy -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("boring.example.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background: @base; - } - main { - background: @crust; - } - .content { - border-color: @overlay0; - } - - //Side Menu - .menu { - background: @mantle; - } - .menu-item { - background: @crust; - } - .menu-item:hover { - background: @surface2; - color: @accent-color; - } - .menu-item:any-link { - color: @text; - } - - // Right SIde Button - .button { - border-color: @accent-color; - background-color: @crust; - color: @subtext1; - } - .button:hover { - color: @surface0; - background-color: @accent-color; - border-color: @crust; - } - - // Top Headers - .list { - background-color: @crust; - } - - .list-item { - color: @accent-color; - } - // Tunnel Table - .tn-tunnel-link { - color: @subtext1; - text-decoration: none; - } - - .tn-tunnel-table__cell { - color: @text; - } - body a { - color: @text; - } - body a:visited { - color: @accent-color; - } - - .tn-attribute__name { - color: @text; - } - .tn-attribute__value { - color: @subtext0; - } - //Tunnel Adding - .tunnel-adder h1 { - color: @text; - } - - .input { - color: @text; - } - .input input { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - - .input select { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - - // Token Adding - .token-adder { - color: @text; - } - .token-adder select { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - - // Client Adding - .client-adder { - color: @text; - } - .client-adder select { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - .client-adder input { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - - // User Adding - .user-adder { - color: @text; - } - .user-adder input { - background-color: @crust; - color: @subtext0; - border-color: @accent-color; - } - // dialog - .dialog__content { - background-color: @crust; - color: @text; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/boringproxy/catppuccin.user.less b/styles/boringproxy/catppuccin.user.less new file mode 100644 index 0000000000..cbb39c7205 --- /dev/null +++ b/styles/boringproxy/catppuccin.user.less @@ -0,0 +1,161 @@ +/* ==UserStyle== +@name boringproxy Catppuccin +@namespace github.com/catppuccin/userstyles/styles/boringproxy +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/boringproxy +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/boringproxy/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aboringproxy +@description Soothing pastel theme for boringproxy +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("boring.example.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background: @base; + } + main { + background: @crust; + } + .content { + border-color: @overlay0; + } + + //Side Menu + .menu { + background: @mantle; + } + .menu-item { + background: @crust; + } + .menu-item:hover { + background: @surface2; + color: @accent; + } + .menu-item:any-link { + color: @text; + } + + // Right SIde Button + .button { + border-color: @accent; + background-color: @crust; + color: @subtext1; + } + .button:hover { + color: @surface0; + background-color: @accent; + border-color: @crust; + } + + // Top Headers + .list { + background-color: @crust; + } + + .list-item { + color: @accent; + } + // Tunnel Table + .tn-tunnel-link { + color: @subtext1; + text-decoration: none; + } + + .tn-tunnel-table__cell { + color: @text; + } + body a { + color: @text; + } + body a:visited { + color: @accent; + } + + .tn-attribute__name { + color: @text; + } + .tn-attribute__value { + color: @subtext0; + } + //Tunnel Adding + .tunnel-adder h1 { + color: @text; + } + + .input { + color: @text; + } + .input input { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + + .input select { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + + // Token Adding + .token-adder { + color: @text; + } + .token-adder select { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + + // Client Adding + .client-adder { + color: @text; + } + .client-adder select { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + .client-adder input { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + + // User Adding + .user-adder { + color: @text; + } + .user-adder input { + background-color: @crust; + color: @subtext0; + border-color: @accent; + } + // dialog + .dialog__content { + background-color: @crust; + color: @text; + } + } +} diff --git a/styles/boringproxy/preview.webp b/styles/boringproxy/preview.webp deleted file mode 100644 index 8f93a2bbfc..0000000000 --- a/styles/boringproxy/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7777eed344798cb6698c37ef2d69c4844bfd1bacd0efc6d4bc8f0ab3ba4dd12 -size 26740 diff --git a/styles/brave-search/README.md b/styles/brave-search/README.md index 9b851cccbb..2504298c60 100644 --- a/styles/brave-search/README.md +++ b/styles/brave-search/README.md @@ -10,16 +10,15 @@

- -

- -

- +

## Usage -Make sure to set the theme to either dark or light in Brave Search settings, as the automatic setting will not work. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Make sure to set the theme to either dark or light in Brave Search settings, as the automatic setting will not work. ## ๐Ÿ’ Current Maintainer - [ndsboy](https://github.com/ndsboy) diff --git a/styles/brave-search/catppuccin.user.css b/styles/brave-search/catppuccin.user.css deleted file mode 100644 index 98da4a3aef..0000000000 --- a/styles/brave-search/catppuccin.user.css +++ /dev/null @@ -1,212 +0,0 @@ -/* ==UserStyle== -@name Brave Search Catppuccin -@namespace github.com/catppuccin/userstyles/styles/brave-search -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/brave-search -@version 2.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/brave-search/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Abrave-search -@description Soothing pastel theme for Brave Search -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("search.brave.com") { - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - :root:not(.light, .dark) { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-page-background: @base; - --color-container-background: @crust; - --color-container-highlight: @mantle; - --color-serp-header-background: @crust; - --color-text-interactive: @accent-color; - --color-divider-subtle: @surface0; - --color-divider-interactive: @accent-color; - --color-text-primary: @text; - --color-serp-bar-bg: @mantle; - --color-serp-divider-subtle-container: @surface0; - --color-gray-30: @subtext0; - --color-gray-40: @overlay2; - --color-text-secondary: @subtext1; - --color-text-tertiary: @subtext0; - --color-icon-default: @overlay2; - --color-serp-snippet-background: @base; - --color-link-default: @blue; - --color-link-visited: @mauve; - --color-tabs-search-text-default: @accent-color; - --color-primary-50: @accent-color; - --color-primitive-primary-60: @accent-color; - --color-primitive-primary-70: darken(@accent-color, 5%); - --color-container-interactive: transparent; - --color-button-background: @accent-color; - --color-button-disabled: fade(@surface2, 30%); - - dialog { - color: @text; - - &::backdrop { - background-color: fade(@crust, 30%); - } - } - - #searchform::after { - outline-color: @surface0; - } - #searchform-actions::before { - background: none !important; - } - #submit-button { - &:hover:not(:disabled) { - background: linear-gradient( - 314deg, - @peach 8.49%, - @pink 43.72%, - @mauve 99.51% - ); - } - - svg { - fill: @overlay2; - } - } - #searchbox::placeholder { - color: @subtext0; - } - - .button.type--filled.theme--default { - color: @base; - - &:disabled { - color: fade(@text, 50%); - } - } - .button.type--outlined.theme--default:hover { - background-color: @accent-color; - border-color: @accent-color !important; - color: @base !important; - } - .tab-item.active .icon { - fill: @accent-color !important; - } - .tab-item.active ::after { - background: @accent-color !important; - } - - .logo-img { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .nav-logo .logo-large { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .nav-logo .logo-small { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .waves-bottom { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .waves-top { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - input[type="radio"]:checked::after { - background-color: @accent-color; - } - - .feedback-footer { - #logo { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - height: 48px; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/brave-search/catppuccin.user.less b/styles/brave-search/catppuccin.user.less new file mode 100644 index 0000000000..12151fc855 --- /dev/null +++ b/styles/brave-search/catppuccin.user.less @@ -0,0 +1,199 @@ +/* ==UserStyle== +@name Brave Search Catppuccin +@namespace github.com/catppuccin/userstyles/styles/brave-search +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/brave-search +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/brave-search/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Abrave-search +@description Soothing pastel theme for Brave Search +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("search.brave.com") { + :root.light { + #catppuccin(@lightFlavor); + } + :root.dark { + #catppuccin(@darkFlavor); + } + :root:not(.light, .dark) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + color: @text; // inherited text (e.g. feedback modal) + + --color-text-primary: @text; + --color-text-secondary: @subtext1; + --color-text-tertiary: @subtext0; + --color-text-disabled: @overlay1; + + --color-icon-default: @overlay2; + --color-icon-secondary: @overlay1; + --color-icon-disabled: @surface2; + + --color-divider-subtle: @surface0; + --color-divider-strong: @surface2; + + --color-button-disabled: @surface1; + + --color-search-background-page: @base; + --color-search-background-search-bar: @surface0; + --color-search-background-container: @surface0; + --color-search-links-link: @blue; + --color-search-background-settings: @mantle; + --color-search-background-highlight: @surface1; + --color-search-background-interactive-normal: fade(@accent, 20%); + --color-search-divider-subtle: @surface1; + --color-search-divider-subtle-container: @surface1; + --color-search-divider-interactive: fade(@accent, 30%); + --color-search-background-enrichment-cards: @surface0; + --color-search-background-suggest-highlight: @surface1; + --color-search-background-user-message-bubble: @surface0; + + --color-primary-20: fade(@accent, 30%); // rerank + --color-neutral-20: @surface1; // search elsewhere link hover border + --color-neutral-5: @surface0; // location sharing ip address info + + --color-white: @text; + --color-schemes-primary: @accent; + --color-schemes-on-primary: @base; + + --color-link-visited: @lavender; + + // Tooltips + --color-primitive-neutral-98: @text; + --color-primitive-neutral-0: @surface0; + + /* Search Results */ + --color-serp-header-background: @base; + .related-query .icon { + color: @overlay2; + } + // Pagination "Next" + .button.type--plain, .button.type--plain-outlined-subtle { + --dsbtn-hover-background: @surface1 !important; + } + + /* Settings */ + --color-page-background: @base; + --color-container-background: @surface0; + --color-primary-50: @accent; // icons + + .form-switch { + --switch-off-background-color: @overlay0; + --switch-off-background-color-hover: @overlay1; + --switch-off-dot-color: @text; + --switch-on-background-color: @accent; + --switch-on-background-color-hover: lighten(@accent, 5%); + --switch-on-dot-color: @base; + } + + /* Search Home */ + + .example-searches { + .card { + background: @surface0; + &:hover { + background: @surface1; + } + } + } + + .download-cta-background::before { + background-image: linear-gradient( + 90deg, + @surface0 0%, + @surface1 100% + ) !important; + mask: none; + } + + .suggestions { + border-top-color: @surface1 !important; + } + + // LLM + --gradient-icons-active: linear-gradient( + 321.5013deg, + @peach 3%, + @pink 40%, + @mauve 99% + ); + #gradient-icons-active stop { + &:nth-child(1) { + stop-color: @peach !important; + } + &:nth-child(2) { + stop-color: @pink !important; + } + &:nth-child(3) { + stop-color: @mauve !important; + } + } + .subutton:hover:not(:disabled, .unavailable), .subutton:focus-visible { + background: linear-gradient( + 314deg, + @peach 8.49%, + @pink 43.72%, + @mauve 99.51% + ); + + .icon { + fill: @base !important; + } + } + .suggestion.ask .ask-badge::before { + background-image: linear-gradient( + 352deg, + fade(@peach, 15%) 3%, + fade(@pink, 15%) 40%, + fade(@mauve, 15%) 99% + ); + } + + #logo img, #nav-logo img, .logo-large { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .nav-logo .logo-small, .logo-wrapper img { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .waves-bottom { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .waves-top { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + } +} diff --git a/styles/brave-search/preview.webp b/styles/brave-search/preview.webp deleted file mode 100644 index 516a9070dc..0000000000 --- a/styles/brave-search/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dcdac626a4514aad3e51e330cd3a7a9abde05083286a69e21e1a77f705dd07a5 -size 28500 diff --git a/styles/bsky/README.md b/styles/bsky/README.md index b145a58dc2..0b6ee1a7e7 100644 --- a/styles/bsky/README.md +++ b/styles/bsky/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [rooot](https://github.com/RoootTheFox) +- [RoootTheFox](https://github.com/RoootTheFox)   diff --git a/styles/bsky/catppuccin.user.css b/styles/bsky/catppuccin.user.css deleted file mode 100644 index cbdf9fbb97..0000000000 --- a/styles/bsky/catppuccin.user.css +++ /dev/null @@ -1,398 +0,0 @@ -/* ==UserStyle== -@name Bluesky Social Catppuccin -@namespace github.com/catppuccin/userstyles/styles/bsky -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/bsky -@version 0.0.6 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/bsky/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Absky -@description Soothing pastel theme for Bluesky Social -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('bsky.app') { - @media (prefers-color-scheme: light) { - html.colorMode--system { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - html.colorMode--system { - #catppuccin(@darkFlavor, @accentColor); - } - } - - html.theme--light { - #catppuccin(@lightFlavor, @accentColor); - } - html.theme--dim, - html.theme--dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --text: @text; - --background: @base; - --backgroundLight: @base; - - /* generic text */ - [style*="color: rgb(255, 255, 255)"] { - color: @text !important; - & when (@lookup = latte) { - /* fix button text in latte */ - color: @base !important; - } - } - - /* secondary text */ - [style*="rgb(163, 178, 194)"] { - color: @subtext1 !important; - } - - /* generic blue inline */ - [style*="color: rgb(16, 131, 254)"] { - color: @accent-color !important; - } - - /* blue svg inline */ - [stroke="hsl(211, 99%, 53%)"], - [stroke="#0085ff"] { - stroke: @accent-color; - } - - [fill="hsl(211, 99%, 53%)"], - [fill="#0085ff"] { - fill: @accent-color; - } - - /* a lot of blue things (buttons etc) */ - div[style*="background-color: rgb(0, 133, 255)"] { - background-color: @accent-color !important; - } - - /* red button text (delete my account) */ - [style*="color: rgb(251, 162, 178)"] { - color: @red !important; - } - - /* delete account button */ - [style^="background-color: rgb(79, 3, 20)"] { - background-color: @red !important; - } - path[fill="#fba2b2"] { - fill: @crust; - } - - /* generic background color */ - .css-175oi2r.r-13awgt0, - [style*="background-color: rgb(255, 255, 255)"], - [style*="background-color: rgb(0, 0, 0)"], - [style*="background-color: rgb(8, 10, 12)"] { - background-color: @base !important; - - & when (@lookup = latte) { - /* fix button colors in latte */ - [style*="background-color: rgb(0, 0, 0)"] { - background-color: @text !important; - } - } - } - - /* secondary background color */ - [style*="background-color: rgb(20, 25, 31)"] { - background-color: @mantle !important; - } - - /* loading circle */ - circle[style^="stroke: rgb(25, 118, 210)"] { - stroke: @accent-color !important; - } - - /* wide site: new post button (w text) */ - .r-wzwllv { - background-color: @accent-color !important; - } - - /* borders */ - .css-175oi2r { - border-color: @surface0 !important; - } - - /* fix selected tab bottom border issue caused by selector above */ - .css-175oi2r[style*="border-bottom-color: rgb(0, 133, 255)"] { - border-bottom-color: @accent-color !important; - } - - /* fixes the bottom border on tabs (timeline) having a darker color */ - .r-oucylx { - border-bottom-color: @base !important; - } - - /* current selected tab (acc page) !! KEEP THIS BELOW ABOVE DEFINITION !! */ - [style*="border-color: rgb(255, 255, 255)"] { - border-color: @accent-color !important; - } - - /* settings highlight thing */ - [style="background-color: rgb(38, 39, 45)"] { - background-color: @crust !important; - } - - /* heart/like */ - .r-84gixx, - .r-1i89l9k { - color: @red; - } - - /* repost */ - .r-5ld2xk { - color: @green; - } - - /* thin site: bluesky text */ - .r-yovm8p { - color: @blue; - } - - /* empty profile banner */ - .r-wuyfte { - background-color: @blue; - } - - /* "invalid handle" warning */ - [style*="color: rgb(236, 72, 104); border-color: rgb(209, 16, 67)"] { - color: @red !important; - border-color: @red !important; - } - - /* end of feed text */ - .r-1521r3q { - color: @overlay1; - } - - /* mobile side drawer */ - [data-testid="drawer"] { - background-color: @base; - } - - /* feedback */ - .r-m7buhn { - background-color: @blue; - } - - /* save, report, post modal button */ - [data-testid="saveBtn"] > div, - [data-testid="sendReportBtn"] > div, - [data-testid="composerPublishBtn"] > div, - [data-testid="editProfileSaveBtn"] > div { - background: unset !important; - background-color: @accent-color !important; - } - - .r-jwli3a { - color: @base !important; - } - - /* draft "Discard" button */ - [style^="background-color: rgb(209, 16, 67)"] { - background-color: @red !important; - } - - /* the round gradient post button in the bottom right when the page is thinner than usual */ - [style*="background-image: linear-gradient(2.35619rad, rgb(90, 113, 250), rgb(0, 133, 255))"] { - background: unset !important; - background-color: @accent-color !important; - } - - /* several white buttons */ - button[style*="background-color: rgb(255, 255, 255)"] - when - not - (@lookup = latte) { - background-color: @text !important; - } - - /* the white buttons text */ - [style*="color: rgb(0, 0, 0)"] { - color: @crust !important; - } - - /* replace dark fill icons with crust ones */ - path[fill="#000000"] { - fill: @crust; - } - - /* fixes a contrast issue when the suggested follows button is enabled (very ugly selector) */ - button[data-testid="suggestedFollowsBtn"][style*="background-color: rgb(255, 255, 255)"] - > svg - > path { - fill: @base !important; - } - - /* text inside most buttons */ - button > div > div[style~="color: rgb(0, 0, 0)"] { - color: @base !important; - } - - /* search bar text */ - [role="search"], - [data-testid="confirmCodeInput"] { - --placeholderTextColor: @subtext1 !important; - } - - /* search bar icon */ - svg[style^="color: rgb(141, 142, 150)"] { - color: @subtext1 !important; - } - - /* small icons */ - path[fill="#ffffff"], - path[fill="hsl(211, 20%, 100%)"] { - fill: @text; - - & when (@lookup = latte) { - fill: @base; - } - } - - /* more gray small icons (seems to only be the trash can/delete icon) */ - path[fill="#8D8E96"] { - fill: @subtext1; - } - - /* settings button at the top of the timeline */ - path[fill="hsl(211, 20%, 70%)"] { - fill: @subtext1; - } - - /* x invite codes available icon */ - div[style*="background-color: rgb(191, 225, 255)"], - div[style*="background-color: rgb(1, 37, 97)"] { - background-color: fadeout(@accent-color, 70%) !important; - > svg > path[fill="#52acfe"] { - fill: @accent-color; - } - } - - /* likes, reposts and comment counts under posts */ - [style*="color: rgb(102, 127, 153)"] { - color: @subtext0 !important; - } - - /* onboarding: continue/next button */ - [data-testid="continueBtn"] { - background-color: @accent-color !important; - } - [data-testid="continueBtn"] > div > div { - color: @base !important; - } - [data-testid="continueBtn"] > div > svg > path { - fill: @base !important; - } - - /* ... button under posts */ - path[fill="hsl(211, 20%, 50%)"] { - fill: @subtext0; - } - - /* pretty self explanatory, user mentions in the post create modal */ - .mention { - color: @accent-color; - } - - /* mentions in the notification tab (highlighted notifications) */ - div[style^="background-color: rgb(0, 16, 64)"] { - background-color: fadeout(@accent-color, 70%) !important; - } - - /* generic blue background color inline (used for buttons in notifications tab) */ - button[style*="background-color: rgb(0, 133, 255)"] { - background-color: @accent-color !important; - } - /* contrast fix for above */ - button[style*="background-color: rgb(0, 133, 255)"] > div > div { - color: @base !important; - } - - /* other button in notifications tab, inner text */ - div[style*="color: rgb(82, 172, 254)"] { - color: @accent-color !important; - } - - /* "No notifications yet!" text in the notifications tab */ - div[style*="color: rgb(141, 142, 150)"] { - color: @subtext0 !important; - } - - /* login: wrong password highlight */ - .r-w7hjet { - background-color: @red; - } - - /* please verify your email popup (green checkmark) */ - circle[fill="#20BC07"] { - fill: @green; - } - - /* toggle circle */ - [style*="background-color: rgb(185, 185, 193)"] { - background-color: @overlay2 !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/bsky/catppuccin.user.less b/styles/bsky/catppuccin.user.less new file mode 100644 index 0000000000..8206423159 --- /dev/null +++ b/styles/bsky/catppuccin.user.less @@ -0,0 +1,663 @@ +/* ==UserStyle== +@name Bluesky Social Catppuccin +@namespace github.com/catppuccin/userstyles/styles/bsky +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/bsky +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/bsky/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Absky +@description Soothing pastel theme for Bluesky Social +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("bsky.app") { + html.colorMode--system { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + html.theme--light { + #catppuccin(@lightFlavor); + } + html.theme--dim, + html.theme--dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + // fix general site background - this applies to the element + background-color: @base; + + --text: @text; + --background: @base; + --backgroundLight: @base; + + /* generic text */ + [style*="color: rgb(255, 255, 255)"], + [style*="color: rgb(241, 243, 245)"] //, + /* [style*="color: rgb(11, 15, 20)"] this breas on dark */ { + color: if(@flavor = latte, @base, @text) !important; + } + + /* some background color of follow button + hover */ + [style*="background-color: rgb(241, 243, 245)"] { + background-color: if(@flavor = latte, @crust, @text) !important; + } + + [style*="color: rgb(11, 15, 20)"] { + color: if(@flavor = latte, @text, @crust) !important; + } + + /* secondary text [contrast_700] */ + [style*="rgb(165, 178, 197)"], // dark + [style*="rgb(171, 184, 201)"], // dim + [style*="rgb(84, 110, 138)"], + [style*="rgb(66, 87, 108)"] { + color: @subtext1 !important; + } + + // white bottons on the theme/color mode selection in settings + div[style*="background-color: rgb(197, 207, 217)"], // dark + div[style*="background-color: rgb(201, 210, 219)"], // dim + div[style*="background-color: rgb(46, 63, 81)"] // light + { + background-color: @text !important; + > div { + color: @crust !important; + } + } + + /* generic blue inline (e.g. link text, etc) [primary_500] */ + [style*="color: rgb(0, 106, 255)"], // dark + [style*="color: rgb(15, 115, 255)"] // dim + { + color: @accent !important; + } + /* generic blue inline underline (links) [primary_500] */ + [style*="text-decoration-color: rgb(0, 106, 255)"], // dark + [style*="text-decoration-color: rgb(15, 115, 255)"] // dim + { + text-decoration-color: @accent !important; + } + + /* generic blue inline bg color (e.g. notification count) [primary_500] */ + [style*="background-color: rgb(0, 106, 255)"], // dark + [style*="background-color: rgb(15, 115, 255)"] // dim + { + background-color: @accent !important; + + /* notification count contrast fix, also chat message contrast fix (> div) */ + &[style*="color: rgb(241, 243, 245)"], + &[style*="color: rgb(255, 255, 255)"], + > div { + color: @crust !important; + } + + /* icon color fix */ + path[fill="#ffffff"], + path[fill="hsl(211, 20%, 95.3%)"] { + fill: @crust !important; + } + } + + /* sending/pending/failed direct message */ + [style*="background-color: rgb(1, 64, 132)"] { + background-color: fade(@accent, 30%) !important; + } + + /* a lot of blue things (buttons etc) */ + .r-wzwllv, + div[style*="background-color: rgb(0, 133, 255)"] { + background-color: @accent !important; + + /* notification count contrast fix, also chat message contrast fix (> div) */ + &[style*="color: rgb(241, 243, 245)"], + > div { + color: @crust !important; + } + } + + /* subscribe to labeler button */ + button[data-testid="toggleSubscribeBtn"] { + > div { + background-color: @mauve !important; + > div { + color: @crust !important; + } + } + } + + /* direct message "failed to send" text */ + span[style*="color: rgb(205, 10, 55)"] { + color: @red !important; + } + + /* red button text (delete my account) [negative_500] */ + [style*="color: rgb(233, 22, 70)"], // dark + [style*="color: rgb(235, 36, 82)"] // dim + { + color: @red !important; + } + + /* red button (delete, etc) */ + button[style*="background-color: rgb(244, 11, 66)"], + // dark, light (same color) + button[style*="background-color: rgb(246, 60, 103)"], // dark (hover) + button[style*="background-color: rgb(245, 41, 88)"], // dim + button[style*="background-color: rgb(247, 84, 122)"], // dim (hover) + button[style*="background-color: rgb(205, 10, 55)"] // light (hover) + { + background-color: @red !important; + &:hover { + background-color: fade(@red, 70%) !important; + } + // text color + > div { + color: @crust !important; + } + } + + /* delete account button */ + [style^="background-color: rgb(79, 3, 20)"] { + background-color: @red !important; + } + path[fill="#fba2b2"] { + fill: @crust; + } + + /* generic background color */ + [style*="background-color: rgb(255, 255, 255)"], + [style*="background-color: rgb(0, 0, 0)"], + [style*="background-color: rgb(21, 29, 40)"] // dim + { + background-color: @base !important; + + & when (@flavor = latte) { + /* fix button colors in latte */ + [style*="background-color: rgb(0, 0, 0)"] { + background-color: @text !important; + } + } + } + + /* secondary background color + sidebar button hover [contrast_25] */ + [style*="background-color: rgb(17, 24, 34)"], // dark + [style*="background-color: rgb(28, 39, 54)"] // dim + { + background-color: @mantle !important; + } + + /* secondary background color (when active?) (e.g. search bar, hovering some buttons like cancel) */ + [style*="background-color: rgb(25, 34, 46)"], // dark + [style*="background-color: rgb(34, 46, 63)"] // dim + { + background-color: @crust !important; + } + + /* some sort of tertiary background color with a slight accent */ + [style*="background-color: rgb(0, 25, 51)"] { + background-color: fade(@accent, 30%) !important; + } + + /* loading circle */ + circle[style^="stroke: rgb(25, 118, 210)"] { + stroke: @accent !important; + } + + /* wide site: new post button (w text) */ + button[style*="background-color: rgb(0, 106, 255)"], // dark + button[style*="background-color: rgb(66, 145, 255)"], // dark (hover) + button[style*="background-color: rgb(15, 115, 255)"], // dim + button[style*="background-color: rgb(77, 151, 255)"] // dim (hover) + { + background-color: @accent !important; + &:hover { + background-color: fade(@accent, 70%) !important; + } + + > div { + color: @crust !important; + } + svg > path { + fill: @crust !important; + } + } + + /* borders */ + .css-175oi2r { + border-color: @surface0 !important; + } + + /* fix selected tab bottom border issue caused by selector above */ + .css-175oi2r[style*="border-bottom-color: rgb(0, 106, 255)"] { + border-bottom-color: @accent !important; + } + + /* fixes the bottom border on tabs (timeline) having a darker color */ + .r-oucylx { + border-bottom-color: @base !important; + } + + /* current selected tab (acc page) !! KEEP THIS BELOW ABOVE DEFINITION !! */ + [style*="border-color: rgb(255, 255, 255)"] { + border-color: @accent !important; + } + + /* settings highlight thing */ + [style="background-color: rgb(38, 39, 45)"] { + background-color: @crust !important; + } + + /* thin site: bluesky text */ + .r-yovm8p { + color: @blue; + } + + /* empty profile banner */ + .r-wuyfte { + background-color: @blue; + } + + /* "invalid handle" warning */ + [style*="color: rgb(236, 72, 104); border-color: rgb(209, 16, 67)"] { + color: @red !important; + border-color: @red !important; + } + + /* end of feed text */ + .r-1521r3q { + color: @overlay1; + } + + /* mobile side drawer */ + [data-testid="drawer"] { + background-color: @base; + } + + /* feedback */ + .r-m7buhn { + background-color: @blue; + } + + /* save, report, post modal button */ + [data-testid="sendReportBtn"], + [data-testid="composerPublishBtn"], + [data-testid="editProfileSaveBtn"] { + background: unset !important; + + /* "save changes" button in edit profile */ + > div[style*="background-image: linear-gradient(94.0544deg, rgb(90, 113, 250), rgb(0, 133, 255))"] { + background: @accent !important; + } + + /* fix contrast issues */ + > div, + > div > div { + color: @crust !important; + } + } + + [data-testid="saveBtn"] { + > div[style*="background-image: linear-gradient"] { + background: unset !important; + background-color: @accent !important; + > div { + color: @crust !important; + } + } + } + + // toast notifications (e.g. "copied to clipboard") + .r-17c3jg3:has(> div[dir="auto"]) { + background-color: @crust !important; + + .r-jwli3a { + color: @text !important; + } + > svg > path { + fill: @text !important; + } + } + + /* draft "Discard" button */ + [style^="background-color: rgb(209, 16, 67)"] { + background-color: @red !important; + } + + /* Discard draft modal border, bunch of other borders around the app [contrast_100] */ + [style*="border-color: rgb(35, 46, 62)"], // dark + [style*="border-color: rgb(44, 58, 78)"] // dim + { + border-color: @surface2 !important; + } + + /* the round gradient post button in the bottom right when the page is thinner than usual */ + [data-testid="composeFAB"] > div { + background: unset !important; + background-color: @accent !important; + + // fix contrast (inner symbol) + .r-jwli3a { + color: @crust !important; + } + } + + /* blue text only button (e.g. cancel post button) */ + div[style*="color: rgb(66, 145, 255)"], // dark + div[style*="color: rgb(77, 151, 255)"], // dim + div[style*="color: rgb(0, 89, 214)"] // latte !! this overlaps with dark. might break? + { + color: @accent !important; + } + + /* text color when writing a post */ + .ProseMirror, + .ProseMirror-dark { + color: @text; + } + + /* some button background color (when hovering) [primary_100] */ + [style*="background-color: rgb(0, 40, 97)"], // dark + [style*="background-color: rgb(18, 52, 100)"], // dim + [style*="background-color: rgb(204, 225, 255)"], // latte + /* add alt text modal */ + [style*="background-color: rgb(14, 73, 137)"] { + background-color: fade(@accent, 30%) !important; + } + + /* several white buttons */ + button[style*="background-color: rgb(255, 255, 255)"] when not( + @flavor = latte + ) { + background-color: @text !important; + } + + /* the white buttons text */ + [style*="color: rgb(0, 0, 0)"] { + color: if(@flavor = latte, @text, @crust) !important; + } + + /* replace dark fill icons with crust ones */ + path[fill="#000000"] { + fill: if(@flavor = latte, @text, @crust); + } + + /* fixes a contrast issue when the suggested follows button is enabled (very ugly selector) */ + button[data-testid="suggestedFollowsBtn"][style*="background-color: rgb(255, 255, 255)"] + > svg + > path { + fill: @base !important; + } + + /* text inside most buttons */ + button > div > div[style~="color: rgb(0, 0, 0)"] { + color: @base !important; + } + + /* search bar text */ + [role="search"], + [data-testid="confirmCodeInput"] { + --placeholderTextColor: @subtext1 !important; + } + + /* search bar icon (this doesn't actually apply because path fill. keeping anyways) [contrast_500] */ + svg[style^="color: rgb(102, 123, 153"], // dark + svg[style^="color: rgb(111, 131, 159)"] // dim + { + color: @subtext1 !important; + } + + /* small icons */ + path[fill="#FFFFFF"] { + fill: @text; + + & when (@flavor = latte) { + fill: @base; + } + } + + /* more gray small icons (e.g. search bar icon, icons below posts [contrast_500] */ + path[fill="#667B99"], // dark + path[fill="#6F839F"], // dim + [style*="color: rgb(111, 131, 159)"], // dark + [style*="color: rgb(111, 131, 159)"] // dim + { + color: @subtext1 !important; + fill: @subtext1 !important; + } + /* settings button at the top of the timeline, hashtag button/icon at top of timeline [contrast_600] */ + path[fill="#8798B0"], // dark + path[fill="#8D9DB4"] // dim + { + fill: @subtext1; + } + + /* x invite codes available icon */ + div[style*="background-color: rgb(191, 225, 255)"], + div[style*="background-color: rgb(1, 37, 97)"] { + background-color: fade(@accent, 30%) !important; + > svg > path[fill="#52acfe"] { + fill: @accent; + } + } + + /* heart/like */ + .r-84gixx, + .r-1i89l9k, + div[style*="color: rgb(236, 72, 153)"], + button[data-testid="toggleLikeBtn"] + > svg:has(path[fill^="hsl(346,"]) // feed like button + { + color: @red !important; + > path { + fill: @red !important; + } + } + + /* repost */ + .r-5ld2xk, + [style*="color: rgb(92, 239, 170)"] { + color: @green !important; + > path { + fill: @green !important; + } + } + + /* saved icon on post + trending icon */ + path[fill="#006AFF"], // dark + path[fill="#0F73FF"] // dim + { + fill: @accent; + } + + /* tiny people icon on post view ("Everybody can reply") */ + path[fill="hsl(211, 24%, 43.6%)"], + /* icon above "you have no lists" */ + path[fill="hsl(211, 24%, 34.2%)"] { + fill: @subtext0; + } + + /* onboarding: continue/next button */ + [data-testid="continueBtn"] { + background-color: @accent !important; + } + [data-testid="continueBtn"] > div > div { + color: @base !important; + } + [data-testid="continueBtn"] > div > svg > path { + fill: @base !important; + } + + /* pretty self explanatory, user mentions in the post create modal */ + .mention { + color: @accent; + } + + /* mentions in the notification tab (highlighted notifications) */ + div[style*="background-color: rgb(0, 17, 36)"], // dark + div[style*="background-color: rgb(21, 41, 63)"], // dim + div[style*="background-color: rgb(240, 247, 255)"], // light + a[style*="background-color: rgb(0, 17, 36)"], // dark + a[style*="background-color: rgb(21, 41, 63)"], // dim + a[style*="background-color: rgb(240, 247, 255)"] // light + { + background-color: fade(@accent, 30%) !important; + .css-175oi2r:not([role="checkbox"] *) { + background-color: transparent !important; + } + } + + /* generic blue background color inline (used for buttons in notifications tab) */ + button[style*="background-color: rgb(0, 133, 255)"] { + background-color: @accent !important; + } + /* contrast fix for above */ + button[style*="background-color: rgb(0, 133, 255)"] > div > div { + color: @base !important; + } + + /* miscellaneous lines around the app [contrast_200] */ + [style*="border-color: rgb(49, 63, 84)"], // dark + [style*="border-color: rgb(57, 73, 96)"] // dim + { + border-color: @surface1 !important; + } + + /* other button in notifications tab, inner text */ + div[style*="color: rgb(82, 172, 254)"] { + color: @accent !important; + } + + /* "No notifications yet!" text in the notifications tab */ + div[style*="color: rgb(141, 142, 150)"] { + color: @subtext0 !important; + } + + /* login: wrong password highlight */ + .r-w7hjet { + background-color: @red; + } + + /* please verify your email popup (green checkmark) */ + circle[fill="#20BC07"] { + fill: @green; + } + + /* toggle circle */ + [style*="background-color: rgb(185, 185, 193)"] { + background-color: @overlay2 !important; + } + + /* skeletons */ + .r-kdyh1x, + .r-cpet4d { + &[style*="background-color: rgb(20, 27, 35);"] { + background-color: @surface0 !important; + } + } + + /* thread lines */ + div[style*="background-color: rgb(35, 46, 62)"].r-m5arl1 { + background: @surface1 !important; + } + + /* character limit progress circle [primary_500] */ + path[stroke="#006AFF"], // dark + path[stroke="#0F73FF"], // dim + path[stroke="#006AFF"] // light + { + stroke: @accent !important; + } + + /* bg circle [contrast_100] */ + path[stroke="#232E3E"], // dark + path[stroke="#2C3A4E"], // dim + path[stroke="#DCE2EA"] // light + { + stroke: @surface1 !important; + } + + /* load new posts button (border: [contrast_100]; bg: [primary_50]) */ + button[style*="border-color: rgb(35, 46, 62); background-color: rgb(0, 30, 71)"], + // dark + button[style*="border-color: rgb(44, 58, 78); background-color: rgb(18, 41, 73)"], + // dim + button[style*="border-color: rgb(220, 226, 234); background-color: rgb(229, 240, 255)"] // light + { + background-color: @surface0 !important; + border-color: @overlay0 !important; + } + + /* any button that's disabled (we should start using broader overrides) */ + button[disabled] > svg > path { + fill: @overlay0; + } + + /* sitewide text inputs */ + /* the divs are styled separately from the input areas */ + div[style*="border-color: rgb(46, 64, 82)"] { + border-color: @surface1 !important; + } + /* search bar [primary_500] */ + div[style*="border-color: rgb(0, 106, 255)"], // dark + div[style*="border-color: rgb(15, 115, 255)"] // dim + { + border-color: @accent !important; + } + + /* image preview borders across app */ + [style*="border-color: rgb(74, 97, 121)"] { + border-color: @surface2 !important; + } + + /* search tab trending buttons */ + [style*="background-color: rgb(142, 9, 40)"] { + background-color: @red !important; + + div { + color: @crust !important; + } + + svg > path { + fill: @crust; + } + } + /* TODO: new which is green but I can't get the right class cause nothing on bsky is a new trending topic atm */ + + /* round icon backgrounds (e.g. feeds) */ + div[style*="background-color: rgb(21, 52, 85)"] { + background-color: @surface0 !important; + } + + /* pill toggle button styles (e.g. account activity notifications) */ + /* active, hover */ + div[style*="border-color: rgb(76, 162, 254);"] { + border-color: @accent !important; + } + div[style*="background-color: rgb(18, 52, 100)"] { + background-color: fade(@accent, 40%) !important; + } + /* inactive, circle in pill */ + div[style*="background-color: rgb(91, 119, 149)"] { + background-color: @surface2 !important; + } + /* inactive, hover */ + div[style*="border-color: rgb(120, 142, 165)"] { + border-color: @overlay1 !important; + } + } +} diff --git a/styles/bsky/preview.webp b/styles/bsky/preview.webp deleted file mode 100644 index c1468d74d3..0000000000 --- a/styles/bsky/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd15b402b81256f2f661060608eb3bd6461a3d9dac05e558461a38714e90e329 -size 276754 diff --git a/styles/bstats/README.md b/styles/bstats/README.md index cf8720e80b..dac18bbc4a 100644 --- a/styles/bstats/README.md +++ b/styles/bstats/README.md @@ -10,16 +10,15 @@

- -

- -

- +

## Usage -Make sure to use the default **Teal** theme from the built-in color picker (located at the bottom of the page) for the best experience! +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Make sure to use the default **Teal** theme from the built-in color picker (located at the bottom of the page) for the best experience! ## ๐Ÿ’ Current Maintainer - [rockquiet](https://github.com/rockquiet) diff --git a/styles/bstats/catppuccin.user.css b/styles/bstats/catppuccin.user.less similarity index 79% rename from styles/bstats/catppuccin.user.css rename to styles/bstats/catppuccin.user.less index 725624a38e..89c9dd2af9 100644 --- a/styles/bstats/catppuccin.user.css +++ b/styles/bstats/catppuccin.user.less @@ -2,8 +2,8 @@ @name bStats Catppuccin @namespace github.com/catppuccin/userstyles/styles/bstats @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/bstats -@version 0.2.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/bstats/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/bstats/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Abstats @description Soothing pastel theme for bStats @author Catppuccin @@ -17,59 +17,21 @@ @var checkbox graphUseAccentColor "Graphs Use Accent" 0 ==/UserStyle== */ -@-moz-document domain('bstats.org') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("bstats.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); body, .collection-header, @@ -199,18 +161,18 @@ } /* discord logo on homepage */ - img[src="/images/discord.svg"] when (@lookup=latte) { + img[src="/images/discord.svg"] when (@flavor = latte) { filter: saturate(210%) hue-rotate(-20deg) brightness(82%); } - img[src="/images/discord.svg"] when (@lookup=frappe) { + img[src="/images/discord.svg"] when (@flavor = frappe) { filter: saturate(53%) hue-rotate(-10deg) brightness(147%) contrast(90%) sepia(15%) invert(2%); } - img[src="/images/discord.svg"] when (@lookup=macchiato) { + img[src="/images/discord.svg"] when (@flavor = macchiato) { filter: saturate(52%) hue-rotate(-15deg) brightness(157%) contrast(90%) sepia(10%); } - img[src="/images/discord.svg"] when (@lookup=mocha) { + img[src="/images/discord.svg"] when (@flavor = mocha) { filter: saturate(38%) hue-rotate(-25deg) brightness(153%) sepia(6%); } @@ -240,7 +202,7 @@ } .input-field label { - color: @accent-color !important; + color: @accent !important; } /* search unfocused */ input:not([type]), @@ -273,8 +235,8 @@ input[type="number"]:focus:not([readonly]), input[type="search"]:focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) { - border-bottom-color: @accent-color; - box-shadow: 0 1px 0 0 @accent-color; + border-bottom-color: @accent; + box-shadow: 0 1px 0 0 @accent; } /* valid input */ input:not([type]).valid, @@ -311,7 +273,7 @@ .teal-text.text-darken-2, .teal-text.text-lighten-3, a { - color: @accent-color !important; + color: @accent !important; } .btn, @@ -376,7 +338,7 @@ } .dropdown-content li > a, .dropdown-content li > span { - color: @accent-color; + color: @accent; } .divider { @@ -394,12 +356,12 @@ } } .switch label input[type="checkbox"]:checked + .lever { - background-color: desaturate(darken(@accent-color, 25%), 50%); - & when (@lookup=latte) { - background-color: desaturate(lighten(@accent-color, 12%), 30%); + background-color: desaturate(darken(@accent, 25%), 50%); + & when (@flavor = latte) { + background-color: desaturate(lighten(@accent, 12%), 30%); } &::after { - background-color: @accent-color; + background-color: @accent; } } @@ -409,12 +371,12 @@ background-color: @surface1; } .chips .chip.selected { - background-color: @accent-color; + background-color: @accent; color: @base; } .chips.focus { - border-bottom-color: @accent-color; - box-shadow: 0 1px 0 0 @accent-color; + border-bottom-color: @accent; + box-shadow: 0 1px 0 0 @accent; } .chips .input { color: @text; @@ -425,17 +387,17 @@ /* HIGHCHARTS "let's hope this does'nt break"-section */ /* all the charts */ - .highcharts-graph when (@graphUseAccentColor=1) { - stroke: @accent-color; + .highcharts-graph when (@graphUseAccentColor = 1) { + stroke: @accent; } - .highcharts-graph when (@graphUseAccentColor=0) { + .highcharts-graph when (@graphUseAccentColor = 0) { stroke: @red; } /* "shadow" area below graph in time navigator */ .highcharts-area { fill: fade(@red, 5%) !important; - & when (@graphUseAccentColor=1) { - fill: fade(@accent-color, 5%) !important; + & when (@graphUseAccentColor = 1) { + fill: fade(@accent, 5%) !important; } } @@ -446,7 +408,7 @@ /* map blends in with background on latte flavor */ .highcharts-map-series .highcharts-point { stroke: @base !important; - & when (@lookup=latte) { + & when (@flavor = latte) { stroke: @overlay0 !important; } } @@ -474,15 +436,15 @@ .highcharts-markers .highcharts-halo.highcharts-color-0 { fill: @red !important; stroke: none !important; - & when (@graphUseAccentColor=1) { - fill: @accent-color !important; + & when (@graphUseAccentColor = 1) { + fill: @accent !important; } } .highcharts-markers path { fill: @red !important; stroke: @base !important; - & when (@graphUseAccentColor=1) { - fill: @accent-color !important; + & when (@graphUseAccentColor = 1) { + fill: @accent !important; } } @@ -587,7 +549,7 @@ color: @text !important; &:hover { color: @base !important; - background: @accent-color !important; + background: @accent !important; } } /* pie text "shadow" */ @@ -625,8 +587,8 @@ /* hover text red dot */ .highcharts-label.highcharts-tooltip-box tspan[style="fill:#F44336"] { fill: @red !important; - & when (@graphUseAccentColor=1) { - fill: @accent-color !important; + & when (@graphUseAccentColor = 1) { + fill: @accent !important; } } /* map hover text */ @@ -803,13 +765,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/bstats/preview.webp b/styles/bstats/preview.webp deleted file mode 100644 index e2483a1911..0000000000 --- a/styles/bstats/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7ed0004a943e500a92d6ab4ffc6007282b114f20bb9a46753dc3bb8761f5c96 -size 78040 diff --git a/styles/canvas-lms/README.md b/styles/canvas-lms/README.md index ac8ec26390..8405dcf530 100644 --- a/styles/canvas-lms/README.md +++ b/styles/canvas-lms/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [pynappo](https://github.com/pynappo) ## ๐Ÿ’– Past Maintainer - [TheMemeSniper](https://github.com/TheMemeSniper) diff --git a/styles/canvas-lms/catppuccin.user.css b/styles/canvas-lms/catppuccin.user.css deleted file mode 100644 index f0f2d45757..0000000000 --- a/styles/canvas-lms/catppuccin.user.css +++ /dev/null @@ -1,189 +0,0 @@ -/* ==UserStyle== -@name Canvas LMS Catppuccin -@namespace github.com/catppuccin/userstyles/styles/canvas-lms -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/canvas-lms -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/canvas-lms/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acanvas-lms -@description Soothing pastel theme for Canvas LMS -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("instructure.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - #breadcrumbs, - #printQuizButton, - #content, - .navigation-tray-container, - .ic-Dashboard-header__layout, - .button-sidebar-wide, - .access_tokens, - .context_modules, - .textarea-container, - .Button, - .panel, - span { - background-color: @base; - color: @accent-color; - } - - #application, - .comments, - .module-sequence-footer-content, - .immersive_reader_mount_point, - .context_modules { - background: @base !important; - background-color: @base !important; - color: @accent-color !important; - } - - a, - .page-title { - color: fadeout(@text, 0.8) !important; - } - - * { - color: @text !important; - background-color: @base !important; - } - .ic-DashboardCard, - .ic-DashboardCard__header_content, - .ic-DashboardCard__action-container, - .ic-DashboardCard__header-subtitle, - .ic-DashboardCard__header-title, - .ic-DashboardCard__header-term { - background-color: @surface0 !important; - } - - .ic-app-header__main-navigation, - .ic-app-header__logomark-container { - background-color: @crust !important; - } - - .ic-app-header__menu-list-item.ic-app-header__menu-list-item--active - .ic-app-header__menu-list-link { - background-color: fadeout(@crust, 0.8); - } - - body { - background-color: @base; - } - - #right-side .events_list .event-details::after, - #right-side .events_list .todo-details::after, - #right-side .to-do-list .event-details::after, - #right-side .to-do-list .todo-details::after { - content: ""; - position: absolute; - top: 0; - right: 0; - height: 100%; - width: 12px; - background: linear-gradient( - to right, - rgba(255, 255, 255, 0) 0%, - @surface0 80% - ); - } - - :root { - --ic-brand-global-nav-avatar-border: @accent-color; - --ic-brand-font-color-dark: fadeout(@accent-color, 0.8); - --ic-brand-primary: @accent-color; - --ic-brand-global-nav-ic-icon-svg-fill: fadeout(@accent-color, 0.5); - --eMdva-color: @base !important; - --ccWIh-color: @crust; - } - .unread_count, - .menu-item-icon-container, - .menu-item__badge, - .nav-badge { - color: fadeout(@text, 0.8); - } - - .list-view a.active { - border-left-color: #007fff; - color: #007fff; - } - - // Fix file preview - nav.ViewerControls * { - background-color: @surface1 !important; - } - div.Pages, - .Page-container { - background-color: #f2f2f2 !important; - } - .Page-container * { - background-color: transparent !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/canvas-lms/catppuccin.user.less b/styles/canvas-lms/catppuccin.user.less new file mode 100644 index 0000000000..1d0e2bfb11 --- /dev/null +++ b/styles/canvas-lms/catppuccin.user.less @@ -0,0 +1,2440 @@ +/* ==UserStyle== +@name Canvas LMS Catppuccin +@namespace github.com/catppuccin/userstyles/styles/canvas-lms +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/canvas-lms +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/canvas-lms/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acanvas-lms +@description Soothing pastel theme for Canvas LMS +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("instructure.com"), domain("instructuremedia.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + /* GLOBALS/VARIABLES */ + --ic-brand-primary: @accent; + --ic-brand-primary-lightened-15: lighten(@accent, 5%); + --ic-brand-primary-darkened-28: darken(@accent, 10%); + --ic-brand-primary-darkened-10: darken(@accent, 3%); + --ic-brand-font-color-dark: @text; + --ic-brand-font-color-dark-lightened-15: @subtext1; + --ic-brand-font-color-dark-lightened-28: @subtext0; + --ic-brand-font-color-dark-lightened-30: @subtext0; + --ic-link-color: @blue; + --ic-link-color-darkened-10: fade(@blue, 90%); + --ic-link-color-lightened-10: lighten(@blue, 10%); + + /* hover colors, used based on whether canvas's css has a blue hover or grayed-out hover color */ + @hover-regular: fade(@surface2, 50%); + @hover-accent: mix(@base, @accent, 70%); + + /* GENERAL UI CHANGES */ + + #footer, + body { + color: @text; + border-color: @surface1; + background-color: @base; + } + hr { + border-color: @surface1; + } + select, + textarea, + input[type="text"], + input[type="password"], + input[type="datetime"], + input[type="datetime-local"], + input[type="date"], + input[type="month"], + input[type="time"], + input[type="week"], + input[type="number"], + input[type="email"], + input[type="url"], + input[type="search"], + input[type="tel"], + input[type="color"], + .uneditable-input { + &ic-Input { + border-color: @surface1; + background-color: @surface0; + } + background-color: @base; + border-color: @surface2; + } + img:not( + [src^="/"], + [src*="cloudfront.net/dist"], + [src*="instructuremedia.com/build"] + ) { + /* force a white background for user-uploaded images */ + background-color: #fffd; + } + scrollbar-color: @surface2 @surface0; + + table { + border-color: @surface1; + } + table[style*="border-color: #000000"] { + border-color: @surface1 !important; + } + thead th { + border-color: @surface1; + } + tbody tr, + tbody td { + border-color: @surface1; + } + td[class$="view-cell"] { + color: @text; + } + + :is(label, fieldset) span[class$="formFieldLabel"] { + color: @subtext1; + } + + :is(label, fieldset) span[class$="text"] { + color: @text; + } + + /* used for links */ + span[color="brand"] { + color: @blue; + } + + /* used for labels */ + span[color="primary"] { + color: @subtext1; + } + span[color="secondary"] { + color: @subtext0; + } + + .user_content { + /* for highlighted non-links in user-created content, revert to regular-ish text color */ + [style~="background-color:"]:not([style~="color:"]) + :not(a.external span) { + color: black; + } + /* just a special exception for pure black text and pure white backgrounds */ + [style*="color: rgb(0, 0, 0)"], + [style*="color: black"], + [style*="color: #000000"] { + &:not([style~="background-color:"]) { + color: @text !important; + } + } + [style*="background-color: rgb(255, 255, 255)"], + [style*="background-color: white"], + [style*="background-color: #ffffff"] { + color: @text !important; + background-color: @base !important; + } + } + + a[class$="link"]:not(.btn, .ic-DashboardCard__link), + a[class$="link"] > span, + button[class$="link"]:not(.btn) { + color: @blue; + &:focus { + outline-color: @accent; + } + } + a.external span { + color: @blue; + } + + /* sticky footers (e.g. teacher-side course settings) */ + .sticky-footer { + background-color: @surface0; + } + .form-actions-sticky-footer { + border-color: @surface1; + } + + /* spinners */ + [class*="spinner__circleTrack"] { + stroke: @surface1 !important; + } + [class*="spinner__circleSpin"] { + stroke: @accent !important; + } + + /* fullscreen background for modal popups */ + :where(body > span > span[class*="mask"]) { + /* modals */ + background-color: fade(@overlay0, 75%); + > span { + color: @text; + background-color: @base; + border-color: @surface1; + div[class$="modalHeader"] { + background-color: transparent; + border-color: @surface1; + button:has(svg[name="IconX"]) { + .flush-button(); + } + } + img { + background-color: transparent; + } + > div[class$="modalFooter"] { + background-color: @surface0; + border-color: @surface1; + button { + .neutral-button(); + } + } + } + } + + div[class*="view-panel__content"] { + color: @text; + } + + /* dialogs */ + .ui-datepicker td span.ui-state-default.ui-state-hover, + .ui-datepicker td a.ui-state-default.ui-state-hover { + border-color: @surface2; + background-color: @surface1; + } + .ui-datepicker-header.ui-widget-header, + .ui-widget-content { + background-color: @surface0; + border-color: @surface1; + } + .ui-widget-overlay { + background-color: fade(@base, 70%); + } + .ui-dialog { + .ui-dialog-titlebar { + background-color: @surface0; + border-color: @surface1; + } + background-color: @surface0; + } + .ui-datepicker .ui-datepicker-time, + .ui-dialog .ui-dialog-buttonpane { + background-color: @surface1; + border-color: @surface2; + } + .form-dialog .form-controls { + background-color: @surface1; + border-color: @surface2; + } + + /* global nav menu */ + .ic-app-header { + .ic-app-header__logomark-container { + background-color: transparent; + } + .ic-app-header__menu-list-item.ic-app-header__menu-list-item--active { + > * { + background-color: @base; + } + .menu-item__text { + background-color: transparent; + } + .ic-app-header__menu-list-link:focus { + box-shadow: + inset 0 0 0 0.125rem @base, + inset 0 0 0 0.25rem + var(--ic-brand-global-nav-menu-item__text-color--active); + } + } + } + .ic-app-header__menu-list-link:focus { + box-shadow: inset 0 0 0 0.125rem @surface1, inset 0 0 0 0.25rem @surface2; + } + --ic-brand-global-nav-menu-item__text-color--active: @accent; + --ic-brand-global-nav-menu-item__badge-text--active: @mantle; + --ic-brand-global-nav-ic-icon-svg-fill--active: @accent; + --ic-brand-global-nav-avatar-border: @text; + + --ic-brand-global-nav-bgd: @mantle; + --ic-brand-global-nav-menu-item__badge-bgd: @surface2; + --ic-brand-global-nav-menu-item__badge-text: @text; + --ic-brand-global-nav-menu-item__text-color: @text; + --ic-brand-global-nav-ic-icon-svg-fill: @text; + .menu-item-icon-container path[fill] { + fill: @text !important; + } + + /* sidebar sliding trays */ + body > span > [class*="tray"] { + background-color: @mantle; + fieldset, + label { + .Gradebook__StatusModalListItem span { + color: black !important; + } + } + div[class$="tray__content"] > div > span:last-of-type:has(> button) { + border-color: @surface1; + background-color: @crust; + } + span[data-testid$="footer"] > div { + border-color: @surface1; + background-color: @crust; + } + } + + div[aria-label="Global Navigation"] [class$="summaryText"] svg { + /* mobile nav menu icons */ + color: @blue; + } + + #nav-tray-portal { + > span > span { + background-color: @base; + [class$="listItem"] { + color: @subtext0; + } + /* needed to persist color on hover */ + a { + color: @blue; + } + div[data-timestamp] { + color: @subtext0; + } + } + label span[class$="label"] { + color: @text; + } + .help-tray li [class$="pill"] { + /* new pill */ + border-color: @green; + color: @green; + background-color: transparent; + } + .profile-tray span[class$="avatar"] { + background-color: @surface0; + span { + color: @accent; + } + } + } + + .profile-tray button[aria-describedby^="Tooltip"] { + /* info tooltip on high contrast ui checkbox */ + .flush-button(); + } + + /* link sidebar for courses */ + .list-view a.active { + border-color: @accent; + color: @accent; + } + + /* pills */ + div[class$="pill"] { + /* info pill (e.g. submitted, graded, etc) */ + background-color: transparent; + border-color: @surface2; + color: @text; + &.css-tfc09q-pill.css-tfc09q-pill { + /* red pills (late, missing) */ + color: @red; + border-color: @red; + } + } + .pill { + background-color: @surface1; + border-color: @surface2; + box-shadow: 0 1px 0 @surface2; + } + /* pills on grades tab */ + .student_assignment [class$="pill"] { + background-color: transparent; + } + .submission-missing-pill > span > div { + color: @red; + border-color: @red; + } + .submission-late-pill > span > div { + /* yes, this is blue in grades and red on dashboard */ + color: @blue; + border-color: @blue; + } + + /* filled-in buttons - this auto-generated class covers a lot of them */ + @hover-button: @surface1; + .neutral-button() { + color: @text; + background-color: @surface0; + border-color: @surface1; + &:hover { + background-color: @hover-button; + > [class$="baseButton__content"] { + background-color: @hover-button; + } + color: @text; + } + path[fill="#000000"] { + fill: @text; + } + > [class$="baseButton__content"] { + color: @text; + background-color: @surface0; + border-color: @surface1; + transition-property: background, transform, filter; + } + [class$="text"] { + color: @text; + } + } + + /* this is for buttons that are accent-colored */ + @hover-accent-button: mix(@base, @accent, 20%); + .accent-button() { + background-color: @accent; + border-color: @surface1; + path[fill="#000000"] { + fill: @mantle; + } + > [class$="baseButton__content"] { + transition-property: all; + color: @mantle; + background-color: @accent; + border-color: @surface1; + } + &:hover { + background-color: @hover-accent-button; + > [class$="baseButton__content"] { + background-color: @hover-accent-button; + } + color: @mantle; + } + } + + span[type="button"] { + .neutral-button(); + } + + /* this is for buttons that have no border/background until hovered */ + @hover-flush-button: fade(@surface1, 30%); + .flush-button() { + color: @text; + background-color: transparent; + border-color: transparent; + &:hover { + background-color: @hover-flush-button; + > [class$="baseButton__content"] { + background-color: @hover-flush-button; + } + color: @text; + } + path[fill="#000000"] { + fill: @text; + } + > [class$="baseButton__content"] { + color: @text; + transition-property: background, transform, filter; + } + [class$="text"] { + color: @text; + } + } + + .btn:not(.btn-primary, .btn-link), + .Button:not( + .Button--link, + .Button--primary, + .Button--icon-action, + .Button--icon-action-danger, + .Button--icon-action-rev + ), + .ui-button { + background-color: @surface0; + color: @text; + border-color: @surface1; + &:focus { + color: @text; + } + &:hover { + background-color: @hover-button; + color: @text; + } + &.ui-state-hover { + background-color: @hover-button; + color: @text; + border-color: darken(@surface1, 5%); + } + &:active { + background-color: darken(@hover-button, 3%); + } + &.active, &.Button--active { + background-color: @subtext0; + border-color: lighten(@surface1, 10%); + color: @mantle; + } + } + + .btn-link, + .Button--link { + &.active, &.Button--active, &.ui-button.ui-state-active, &:active { + background: @surface0; + } + &.disabled, &.ui-button.ui-state-disabled, &[disabled] { + background: transparent; + } + } + + /* the below styles are taken from canvas's common css sheet */ + .ui-button.ui-state-active:hover, + .ui-button.ui-state-active, + .ui-progressbar .ui-button.ui-widget-header { + background-color: @subtext0; + border-color: lighten(@surface1, 10%); + color: @mantle; + } + + --ic-brand-button--primary-bgd: @accent; + --ic-brand-button--primary-text: @crust; + --ic-brand-button--primary-bgd-darkened-5: darken(@accent, 5%); + --ic-brand-button--primary-bgd-darkened-15: darken(@accent, 15%); + + .ui-progressbar .btn-link.ui-button.ui-widget-header, + .ui-progressbar .Button--link.ui-button.ui-widget-header { + background: @surface0; + } + + .btn-published, + .btn-published:hover { + background: @green; + border-color: 1px solid darken(@green, 10%); + color: @crust; + } + + .btn-published:focus { + box-shadow: inset 0 0 0 2px @crust; + background: darken(@green, 10%); + color: @crust; + } + + .btn-published.disabled, + .btn-published.ui-button.ui-state-disabled, + .btn-published.disabled:hover { + border-color: darken(@green, 10%); + background: @green; + color: @crust; + } + + .btn-unpublished { + color: @crust; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: @red; + background-image: @red; + border-color: @maroon; + } + + .btn-unpublished:hover, + .btn-unpublished:active, + .btn-unpublished.active, + .btn-unpublished.disabled, + .btn-unpublished.ui-button.ui-state-disabled, + .btn-unpublished[disabled] { + color: @crust; + background-color: @maroon; + } + + .btn-unpublished:focus { + color: @crust; + background: @maroon; + box-shadow: inset 0 0 0 2px @crust; + } + /* end of copy-pasted styles */ + + span[role="button"]::before, /* drag handle */ + :is(button, a)[class$="baseButton"]::before { + border-color: @accent; + } + + .ActionButtons button[id^="Drilldown"] { + .accent-button(); + } + + .Button--icon-action:hover, + .Button--icon-action-danger:hover, + .Button--icon-action-rev:hover, + .Button--icon-action:focus, + .Button--icon-action-danger:focus, + .Button--icon-action-rev:focus { + background: transparent !important; + } + + .Button--icon-action-rev:focus { + box-shadow: inset 0 0 0 2px @text; + } + + .btn-primary:focus, .Button--primary:focus { + box-shadow: inset 0 0 0 2px @crust; + } + + /* outlines around clicked elements */ + [class$="__facade"] { + &::before { + border-color: @accent; + } + } + textarea + span[class$="textArea__outline"] { + border-color: @accent; + } + + /* checkboxes */ + input + label span[class$="checkboxFacade__facade"] { + border-color: @surface2; + background-color: @base; + } + input:checked + label span[class$="checkboxFacade__facade"] { + border-color: @surface2; + background-color: @text; + color: @base; + } + + /* toggle switches */ + input + label [class*="toggleFacade__facade"] { + border-color: @surface1; + background-color: @surface0; + span[class$="__iconToggle"] { + &::before { + background-color: @text; + border-color: @surface2; + } + svg { + color: @mantle; + } + } + } + input:checked + label [class*="toggleFacade__facade"] { + border-color: @surface1; + background-color: @green; + span[class$="__iconToggle"] { + &::before { + background-color: @mantle; + border-color: @green; + } + svg { + color: @green; + } + } + } + + input + label span[class$="label"] { + color: @text; + } + + /* dropdown menu buttons */ + [class$="textInput__facade"] { + color: @text; + background-color: transparent; + border-color: @surface2; + input { + color: @text !important; + } + } + select { + color: @text; + border-color: @surface2; + background-color: @base; + } + + /* notifications */ + .ic-notification { + color: @text; + box-shadow: 0 1px 6px @surface1; + .ic-notification__content { + background-color: @base; + } + i { + color: @crust; + } + } + + .ui-state-warning, + .dialog-warning .ui-dialog-titlebar, + .dialog-warning .ui-datepicker .ui-datepicker-header, + .ui-datepicker .dialog-warning .ui-datepicker-header { + border-color: @red; + background: none; + color: @text; + } + + /* alerts */ + div[class*="view-alert"] { + color: @text; + background-color: @base; + border-color: @accent; + > div { + border-color: @accent; + } + > div:has(> svg) { + background-color: @accent; + } + } + + /* pdf reader */ + .Pages { + background-color: @surface0; + } + + /* ui tabs */ + .ui-tabs { + .ui-tabs-panel, + .ui-tabs-nav { + border-color: @surface1; + } + .ui-tabs-nav li.ui-state-hover, + .ui-tabs-nav li:hover, + .ui-tabs-nav li.ui-tabs-active, + .ui-tabs-nav li.ui-tabs-active.ui-state-hover, + .ui-tabs-nav li.ui-tabs-active:hover { + background-color: @base; + border-color: @surface1; + a { + color: @text; + } + } + + .ui-state-hover { + background-color: mix(@overlay2, @surface1, 20%); + } + .ui-tabs-panel { + background-color: @base; + } + #assignments { + tr .title { + border-color: @surface1; + } + } + } + + div[class$="view-tabs__container"] { + background-color: transparent; + div[class$="view-tab"] { + background-color: transparent; + color: @text; + &[aria-selected="true"] { + border-color: @surface2; + border-bottom-color: @base; + } + } + div[role="tabpanel"] > div { + background-color: transparent; + border-color: @surface1; + } + } + div[role="tab"] { + color: @text; + &[aria-selected="true"]::after { + background-color: @accent; + } + } + + /* RECENT ACTIVITY/HOME */ + .recent-activity-header, + .stream-category { + border-color: @surface1; + } + .stream-details tr:hover, + .stream_header:hover { + background-color: @hover-accent; + } + .pages.show .course-title { + color: @subtext0; + } + + /* ANNOUNCEMENTS */ + .ic-item-row { + box-shadow: @surface1 0 -1px 0 0; + box-shadow: 0 -1px @surface1, inset 0 -1px @surface1; + } + [data-testid="pill-container"] * { + color: @subtext0 !important; + } + + /* the unread badge */ + .ic-announcement-row span[class$="badge"] { + background-color: @accent; + } + + .ic-item-row__meta-content-timestamp > p { + color: @subtext0; + } + #mark_all_announcement_read { + .neutral-button(); + } + + /* DASHBOARD */ + .StickyButton-styles__root { + background-color: @accent; + span { + color: @mantle; + } + } + .NotificationBadge-styles__activityIndicator.NotificationBadge-styles__hasBadge + [class$="badge"] { + background-color: @accent; + } + .Day-styles__root { + background-color: @base; + color: @text; + h2 { + border-color: @surface1; + } + .Grouping-styles__title { + color: @blue; + background-color: @base; + &::after { + background-image: none; + } + } + .PlannerItem-styles__root { + border-color: @surface1; + color: @subtext0; + } + .PlannerItem-styles__secondary [class$="-text"] { + color: @subtext0; + } + } + #planner-today-btn, + .PlannerItem-styles__secondary button { + .neutral-button(); + } + + .CompletedItemsFacade-styles__root { + border-color: @surface1; + } + .CompletedItemsFacade-styles__contentPrimary * { + color: @blue; + } + button[data-testid="completed-items-toggle"] { + span[class$="summaryText"] { + color: inherit; + } + } + .ic-Dashboard-header { + background-color: @base; + } + .ic-Dashboard-header__layout { + background-color: @base; + border-color: @surface1; + } + .PlannerHeader-styles__root { + background-color: @base; + svg { + color: @text; + } + } + #DashboardOptionsMenu_Container button { + .flush-button(); + } + .ic-DashboardCard { + background-color: @surface0; + .ic-DashboardCard__header_content { + background-color: @surface0; + } + .ic-DashboardCard__header-button, + .ic-DashboardCard__header-button * { + background-color: transparent; + } + .ic-DashboardCard__action-badge { + background-color: @accent; + .unread_count { + background-color: @accent; + color: @base; + } + } + } + + .ToDoSidebarItem__Info li { + color: @text; + } + .Sidebar__TodoListContainer svg { + color: @text; + } + #right-side { + .h2, + h2 { + border-color: @surface1; + } + background-color: fade(@base, 80%); + .details .header { + color: @subtext0; + } + .ToDoSidebarItem__Close svg { + color: @text; + } + } + #right-side .events_list { + p { + color: @subtext0; + } + + .event-details::after { + background: linear-gradient(to right, transparent 0%, @base 80%); + } + } + .PlannerEmptyState-styles__root { + color: @text; + } + .EmptyDays-styles__root { + background-color: @base; + color: @text; + border-color: @surface2; + > h2 { + border-color: @surface1; + } + } + form[action="/logout"] button { + .neutral-button(); + } + .PlannerHeader [id^="Badge"] { + background-color: @accent; + color: @crust; + } + .Opportunity-styles__root { + background-color: transparent; + } + .Opportunity-styles__oppName { + color: @subtext1; + } + .Opportunity-styles__due, + .Opportunity-styles__points { + color: @subtext1; + } + + /* popup menus */ + span[data-position-content^="Menu"], + span[data-position-content^="Popover"] { + span[class$="arrow"] { + filter: @surface1-filter; + } + > span { + color: @text; + background-color: @surface1; + border-color: @surface2; + } + } + + .ui-menu .ui-menu-item a.ui-state-hover, + .ui-menu .ui-menu-item a.ui-state-active, + .ui-menu .ui-menu-item .ui-progressbar a.ui-widget-header, + .ui-progressbar .ui-menu .ui-menu-item a.ui-widget-header, + .ui-menu .ui-menu-item a.ui-state-focus { + color: @crust; + } + + /* color picker menu (e.g. on dashboard) */ + .ColorPicker__Actions button[class$="baseButton"]:not([id$="Apply"]) { + .neutral-button(); + } + #ColorPicker__Apply { + .accent-button(); + } + .ColorPicker__Container { + background-color: @surface1; + border-color: @surface2; + label span { + color: @subtext0; + } + } + + span[data-testid="RCE_RestoreAutoSaveModal"] { + span[class$="view--block"] { + background-color: transparent; + border-color: @surface1; + color: @text; + } + } + /* select dropdowns */ + span[data-position-content^="Popover"]:has(ul[role="listbox"]) { + border-color: @surface2; + span { + color: @text; + } + > span > span { + background-color: @surface1; + div[class$="separator"] { + background-color: @surface2; + } + li { + background-color: @surface1; + } + ul[role="listbox"] { + background-color: @surface1; + /* the extra selectors are because some lists have group options as list items */ + li:not(:has(ul[role="group"])) { + &:hover, + &:focus, + &:active { + color: @base; + background-color: @accent !important; + span { + color: @base; + } + } + } + li:has([aria-selected="true"]) { + background-color: mix(@surface1, @overlay2, 70%); + } + } + } + } + + /* only on canvas studio apparently */ + span[data-position-content^="Drilldown"] { + border-color: @surface2; + span { + color: @text; + } + li { + background-color: @surface1; + &:not(:has([id^="DrilldownHeader-Title"])) { + &:hover, + &:focus, + &:active { + color: @base; + background-color: @accent !important; + span { + color: @base; + } + } + } + [id^="DrilldownHeader-Separator"] { + background-color: @surface2; + } + } + } + button[id^="Drilldown"] { + > span { + background-color: @base; + color: @text; + border-color: @surface2; + } + &:hover > span { + background-color: @base; + } + } + + /* dropdown menu */ + span[data-position-content^="Menu___"] { + span { + color: @text; + } + [role="menu"] { + &::before { + border-color: @accent; + } + background-color: @surface1; + span[class$="menuItemGroup__label"] { + background-color: @surface1; + } + div[class$="menuItemSeparator"] { + background-color: @surface2; + } + [role="menuitem"], + span[class$="menuItem"] { + background-color: @surface1; + &:hover, + &:focus, + &:active { + color: @base; + background-color: @accent !important; + span { + color: @base; + } + } + } + } + } + + ul[role="menu"] { + div:has(> li[role="menuitem"][data-selected="true"]) { + color: @base; + background-color: @accent !important; + span { + color: @base; + } + } + } + + /* use more noticeable color for file preview selection */ + #App *::selection { + background-color: @accent; + } + + /* ICONS */ + .nav-icon { + background-color: @base; + color: @text; + } + .ui-icon-closethick { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + /* publish icons */ + .publish-icon.publish-icon-published, + .ig-published:not(.student-view) .ig-type-icon { + color: @green; + } + svg[name="IconPublish"], + svg[name="IconBookmark"], + .icon-check { + color: @green !important; + } + svg[name="IconX"] { + color: @text; + } + + /* tree-view expand indicators */ + svg[name="IconArrowOpenEnd"], + svg[name="IconArrowOpenDown"] { + color: @text; + } + + /* unsure what the other colors are */ + span[color="success"] > svg { + color: @green; + } + + .context_module .icon-minimize { + color: @red !important; + } + + .ally-prominent-af-download-button { + @svg: escape( + 'iconAllyDownload-ICCreated with Sketch.' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + img[src="/images/svg-icons/svg_icon_download.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .standalone-icon::before { + color: @text; + } + + /* MODULES */ + .item-group-expandable, + .item-group-container { + border-color: @surface0; + background-color: @base; + } + .item-group-expandable .emptyMessage { + background-color: @base; + } + .header-bar { + background-color: @base; + } + .content, + .footer { + background-color: @base; + } + .ig-header { + background-color: @surface0; + color: @text; + border-color: @surface1; + .name { + text-shadow: 1px 1px 0 fade(@base, 50%); + color: @text; + } + } + .accessible-toggler { + color: @text; + } + .ig-list { + .ig-row { + color: @text; + background-color: @base; + border-color: @surface1; + } + .ig-row:hover { + background-color: @hover-accent; + } + } + .list-view a.active .nav-badge, + .nav-badge { + background-color: @accent; + color: @base; + } + #breadcrumbs { + background-color: @base; + } + .ic-app-nav-toggle-and-crumbs, + .item-group-condensed { + border-color: @surface1; + } + .pages.show .page-title { + color: @text; + } + #show_by_date, + #show_by_type { + + label > span { + color: @text; + } + &:checked + label > span { + background-color: @surface1; + } + } + + /* COURSES */ + .course-list-favorite-course .icon-star::before { + color: @peach; + } + .course-list-table .course-list-table-row:hover { + background-color: mix(@overlay2, @base, 20%); + } + .course-list-unpublished-course-row { + background-color: darken(@base, 5%); + .course-list-unpublished-course { + color: @red; + } + } + /* browse more courses */ + .course_text { + color: @text; + } + + /* CALENDAR */ + #calendar-app { + .agenda-wrapper { + background-color: @base; + } + table { + thead.fc-head, + .fc-head-container, + .fc-row { + border-color: @surface1; + } + .fc-day-header { + color: @text; + } + .fc-body { + background-color: @base; + } + .fc-today { + background-color: darken(@surface0, 5%); + } + .fc-divider { + border-color: @surface2; + } + } + .fc-agendaWeek-view .fc-day-grid .fc-row { + border-color: @surface1; + } + } + :is(.calendar, #calendar-drag-and-drop-container) + .fc-row + :is(.fc-content-skeleton, .fc-helper-skeleton) + td { + border-color: @surface1; + } + + #calendar-app .fc-event, + #calendar-drag-and-drop-container .fc-event { + background-color: transparent; + } + .calendar_header #create_new_event_link { + color: @text; + } + #calendar-list-holder, + #other-calendars-list-holder, + #undated-events { + background-color: @base; + } + + #minical { + color: @text; + background-color: @surface1; + border-color: @surface1; + h2, + .fc-widget-content { + color: @text; + } + .fc-view { + background-color: @base; + * { + border-color: transparent; + } + } + .fc-state-default { + color: @text; + } + .fc-toolbar { + border-color: @surface1; + } + } + #calendar-list-holder { + background-color: @base; + } + #calendars-context-list .context_list_context:hover, + #other-calendars-context-list .context_list_context:hover { + background-color: mix(@overlay2, @base, 20%); + } + #undated-events { + background-color: @base; + .event { + background-color: @base; + } + } + + .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + /* INBOX */ + [data-testid="tool-bar"] { + background-color: @mantle; + border-color: @surface2; + button { + .neutral-button(); + } + } + button[data-testid="address-button"] { + .neutral-button(); + } + svg[name="IconEmail"] { + color: @text; + } + + /* left side */ + [data-testid="conversation"] { + border-color: @surface1; + span[class$="badge"] { + color: @text; + background-color: @surface1; + } + } + #inbox-conversation-holder > div > div > div { + /* each email entry */ + border-color: @surface2; + div[style~="background-color:"] { + background-color: mix(@base, @accent, 90%) !important; + } + div[style~="box-shadow:"] { + box-shadow: @accent -4px 0 0 inset !important; + } + + button[data-testid$="read-badge"] { + &::before { + border-color: @blue; + } + span svg { + color: @accent; + } + } + button[data-testid="visible-not-starred"], + button[data-testid="visible-starred"] { + .flush-button(); + } + } + [data-testid="unread-badge"] span svg { + color: @accent; + } + [data-testid="ic-blue-unread-badge"] span { + background-color: @accent; + } + + /* right side */ + span:has(> #inbox-conversation-holder) + span { + > div > div { + border-color: @surface1; + } + button { + .flush-button(); + } + } + /* compose message overlay */ + span[data-testid="compose-modal-desktop"] { + background-color: @surface0; + border-color: @surface1; + span[class$="view"]:has(label[for^="TextArea"]) { + border-color: @surface1; + textarea { + color: @text; + } + } + span[data-testid="past-messages"] div[class$="view"] { + border-color: @surface1; + } + > div[class$="modalBody"] { + button { + .neutral-button(); + } + } + > div[class$="modalFooter"] { + #send-message-button { + .accent-button(); + } + } + } + + /* COURSE CONTENT (QUIZZES, ETC) */ + #assignment_show .student-assignment-overview { + border-color: @surface1; + } + + #assignment_show .description.teacher-version { + border-color: @surface2; + } + + .assignment_header, + #assignment_student_details, + .quiz-header { + border-color: @surface2; + } + + span:has(> [class$="fileDrop__labelContent"]) { + [class$="fileDrop__labelContent"] { + border-color: @overlay1; + &:hover { + border-color: @accent; + } + } + [class$="fileDrop__layout"] * { + background-color: transparent; + } + label > span::before { + border-color: @accent; + } + } + + .question.fill_in_multiple_blanks_question .answer_group, + .question.multiple_dropdowns_question .answer_group { + border-color: @surface1; + } + .quiz-submission, + .question_editing { + background-color: @base; + border-color: @base; + } + .score_value { + color: @subtext1; + } + .question { + background-color: transparent; + } + .quiz_comment { + border-color: @surface1; + background-image: linear-gradient(to bottom, @base, @surface0); + &::before { + border-bottom-color: @surface1; + } + &::after { + border-bottom-color: @base; + } + } + #quiz_show { + ul#quiz_student_details { + border-color: @surface1; + } + .description.teacher-version { + border-color: @surface2; + } + } + .catppuccin_answer_arrow(@color, @filter) { + color: @mantle; + background-image: none; + text-shadow: none; + background-color: @color; + &::before, + &::after { + filter: @filter; + } + } + .answer_arrow.correct { + .catppuccin_answer_arrow(@green, @green-filter); + } + .answer_arrow.info { + .catppuccin_answer_arrow(@text, @text-filter); + } + .answer_arrow.incorrect { + .catppuccin_answer_arrow(@red, @red-filter); + } + #questions.assessment_results .question .answers .answer.wrong_answer { + border-color: @red; + } + #questions.assessment_results + .question + .answers + .answer.wrong_answer + .ui-selectmenu-status { + color: @red; + } + + .muted-notice { + background-color: @surface0; + background-image: linear-gradient(to bottom, @base, @surface0); + text-shadow: @base 1px 1px 1px; + border-color: @surface2; + } + .alert { + background-color: fade(@red, 15%); + span { + color: @red; + } + } + .icon-warning { + color: @red; + } + + .ic-Table { + td, + th.ic-Table--header-row { + border-color: @surface1; + } + } + table.summary { + td, + tbody th { + background-color: @base; + border-color: @surface1; + } + } + ul#question_list { + li.answered a { + color: @lavender; + } + li.marked { + &::before { + content: url("/dist/images/flagged_question-e2565888dd.png"); + filter: @yellow-filter; + } + padding-left: 6px; + background-image: none; + } + li i { + /* question mark icons */ + color: @subtext0; + } + } + #questions { + background-color: @base; + .ambrosiaContainerComponent * { + color: @text; + } + .question { + border-color: @surface1; + .flag_question { + filter: @blue-filter; + } + &.marked .flag_question { + filter: @yellow-filter; + } + .header { + background-color: @surface0; + border-color: @surface1; + .question_points_holder { + color: @subtext0; + } + } + } + .text { + background-color: @base; + } + .answers .answer { + border-color: @surface1; + } + } + .form-actions { + border-color: @surface1; + } + #last_saved_indicator { + color: @subtext1; + } + .ui-tooltip { + &::before { + border-color: transparent transparent @surface0; + } + &.horizontal::before { + border-color: transparent @surface0 transparent transparent; + } + background-color: @surface0; + } + + .module-sequence-footer .module-sequence-footer-content { + background-color: @base; + border-color: @surface1; + a { + .neutral-button(); + } + } + + /* submitting */ + #tinymce-parent-of-submission_body { + .canvas-rce__skins--root, + * { + color: @text; + } + } + .border { + border-color: @surface1; + } + + /* submission details */ + .submission-details-container { + border-color: @surface1; + } + .submission-details-comments { + .comment_author_and_date { + color: @subtext0; + } + .comments { + border-color: @surface1; + background-color: @surface0; + /* To style only the background-image, we move the background-image to ::before and then tweak the styles. */ + a.media-comment { + padding: 0; + background-image: none; + } + a.media-comment::before { + padding: 0 5px 0 0; + display: inline-block; + transform: translateY(2px) !important; + content: url("/dist/images/audio_comment-eeb35d0efe.gif"); + filter: @text-filter; + } + } + } + .file-upload-submission { + background-color: @surface0; + } + .submission-details-header__heading-and-grades { + border-color: @surface1; + } + .comment { + color: @text !important; + } + /* text editor */ + .tox { + * { + color: @text; + } + .tox-edit-area.active, + .tox .tox-edit-area.active iframe { + border-color: @accent; + } + .tox-split-button .tox-tbtn.tox-split-button__chevron { + background-color: transparent; + } + .tox-tbtn:focus, + .tox-split-button:focus { + background-color: fade(@overlay2, 50%); + color: @subtext0; + fill: @subtext0; + box-shadow: 0 0 0 2px @accent; + } + .tox-tbtn, + .tox-split-button, + .tox-tbtn.tox-tbtn--enabled, + .tox-split-button .tox-tbtn.tox-split-button__chevron { + &:hover, + &:active { + background-color: @surface0; + color: @subtext0; + svg { + fill: @subtext0; + } + } + } + .tox-tbtn.tox-tbtn--enabled::after { + color: @accent; + } + + .tox-mbtn:hover:not(:disabled), + .tox-mbtn:hover:not(:disabled, .tox-mbtn--active) { + background-color: @hover-button; + } + .tox-mbtn--active { + background-color: @hover-button; + } + + .tox-toolbar, + .tox-toolbar__overflow, + .tox-toolbar__primary, + .tox-editor-header, + .tox-menubar, + .tox-menubar__primary, + .tox-menubar-overlord { + background-color: @base; + } + .tox-pop { + &::after { + border-bottom-color: @surface0; + } + .tox-pop__dialog { + background-color: @surface0; + } + } + .tox-toolbar__group::after { + border-color: @surface2; + } + svg, + #Fill-1, + .tox-icon g { + fill: @text; + } + button[title="Embed Lucid Document"] image { + filter: @text-filter; + } + button[title="Embed"] svg path { + fill: @text; + } + .tox-menu { + background-color: @surface0; + border-color: @surface1; + .tox-collection__item { + color: @text; + } + } + .tox-mbtn:focus:not(:disabled) { + box-shadow: 0 0 0 2px @accent; + } + .tox-collection--list .tox-collection__group { + border-color: @surface1; + } + .tox-collection--list + .tox-collection__item--active:not( + .tox-collection__item--state-disabled + ), + .tox-collection__item--active { + background-color: mix(@accent, @base, 30%); + } + .tox-collection--list .tox-collection__item--enabled { + background-color: @surface1; + } + .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: @text; + } + } + .canvas-rce__skins--root { + background-color: @base; + } + + /* equation editor */ + span[aria-label="Equation Editor"] { + div[class$="panel"] button { + .neutral-button(); + } + textarea, + math-field { + color: @text; + border-color: @surface2 !important; + } + [data-testid="mathml-preview-element"] { + color: @text; + } + button[data-testid="equation-editor-modal-done"] { + .accent-button(); + } + } + + #rubrics { + .rubric_title { + background-color: @surface0; + border-color: @surface1; + } + .rubric_container { + thead th { + background-color: @surface0; + border-color: @surface1; + } + .ratings * { + border-color: @surface1; + } + } + .rubric-footer { + border-color: @surface1; + } + } + + /* discussions */ + .headerBar { + background: @surface0; + border-color: @surface1; + } + .alert-info { + background-color: @surface0; + color: @blue; + * { + color: @blue; + } + } + .topic .entry-content { + border-color: @surface1; + } + .new-and-total-badge .new-items { + color: @base; + } + .discussion_entry > .discussion-entry-reply-area { + border-color: @surface1; + } + .discussion-reply-box { + background-color: @surface0; + border-color: @surface1; + } + .al-options { + background-color: @surface0; + border-color: @surface1; + } + + .ic-discussion-row, + .pinned-discussions-v2__wrapper, + .unpinned-discussions-v2__wrapper, + .discussions-v2__container-image, + .closed-for-comments-discussions-v2__wrapper { + border-color: @surface1; + background-color: @base; + } + .discussions-v2__container-image { + color: @text; + } + .ic-discussion-row { + box-shadow: -1px -1px @surface1, inset -1px -1px @surface1; + } + .discussion-entries { + background-color: @base; + .discussion_entry, + .toolbarView, + .entry { + background-color: @base; + border-color: @surface1; + .entry-content { + background-color: @base; + } + } + time { + color: @subtext0; + } + } + + /* new discussion redesign */ + .discussion-redesign-layout { + div[data-drawer-content^="DrawerLayout"] { + /* the header with the search bar */ + > span > div:first-child { + background-color: @base; + } + } + div[data-testid="discussion-topic-container"] > span > div { + border-color: @surface1; + } + .discussion-post-manage-discussion path { + color: @text; + } + } + + #DrawerLayoutTray { + /* split screen layout */ + background-color: @base; + border-color: @surface1; + } + button[class$="baseButton"]:has(svg[name="IconX"]) { + .flush-button(); + } + button[class$="baseButton"]:has(svg[name="IconMore"]) { + .flush-button(); + } + + .communication_message { + border-color: @surface1; + } + .communication_message div.header { + color: @subtext0; + } + span:has(> [data-testid="DiscussionEdit-container"]) { + background-color: @base; + } + [data-testid="RCEStatusBar"] { + color: @subtext0; + button { + .flush-button(); + } + > span > div { + border-color: @surface1 !important; + } + [data-btn-id="rce-editormessage-btn"] { + .neutral-button(); + } + } + button[data-testid="attach-btn"] > span { + color: @text; + } + .ic-discussion-content-container > span > span:last-child { + color: @text; + } + .discussions-container__wrapper [class$="summaryText"] { + color: @text; + } + .ic-unread-badge__unread-count { + color: @mantle; + } + .ic-unread-badge__total-count { + background-color: @surface1; + } + hr[data-testid="post-separator"] { + border-color: @surface1 !important; + } + .searchButton__container button, + .discussions-index-manage-menu > button { + .neutral-button(); + } + #add_discussion { + .accent-button(); + } + .discussions-editor + div { + button[data-testid="attach-btn"] { + .flush-button(); + } + .discussions-editor-cancel button { + .neutral-button(); + } + .discussions-editor-submit button { + .accent-button(); + } + } + .discussion-topic-reply-button button { + .accent-button(); + } + .discussion-post-manage-discussion button { + .flush-button; + } + .discussion-post-subscribe button { + .flush-button(); + } + button[data-testid="splitscreenButton"], + button[data-testid="ExpandCollapseThreads-button"] { + .neutral-button(); + } + + /* author profile picture placeholder */ + [data-testid="author_avatar"] { + background-color: @surface0; + border-color: @overlay2; + span { + color: @accent; + } + } + /* unread badges */ + .unread_dot, + #grades_summary .unread_dot, + [data-testid="is-unread"] [class$="badge"] { + background-color: @accent; + } + + /* Enhanced Assigments UI */ + + #assignments-student-footer { + background-color: @mantle !important; + border-top-color: @surface1 !important; + + #submit-button > span { + background-color: @accent; + color: @crust; + } + } + + /* Assignment status green text and circle */ + [color="success"] { + color: @green; + } + + [class*="progressCircle__track"] { + stroke: @surface1 !important; + } + [class*="progressCircle__meter"] { + stroke: @green !important; + } + + /* Upload files button */ + .submission-type-icon-contents { + &:has(svg[name="IconUpload"]) { + background-color: @accent; + + svg[name="IconUpload"] { + fill: @crust !important; + } + } + + border-color: @accent; + + &:has(svg[name="IconMore"]) { + background-color: @base; + + svg[name="IconMore"] { + fill: @accent !important; + } + } + } + [color="primary-inverse"] { + color: @crust; + } + + /* Upload files panel */ + [style*="background-color: rgb(245, 245, 245);"] { + background-color: @surface0 !important; + } + div[style]:has(> div > [data-testid="upload-pane"]) { + border-top-color: @surface2 !important; + + label[for="inputFileDrop"] { + [class*="fileDrop__labelContent"] { + border-color: @overlay1; + } + div:has(> [class*="-screenReaderContent"]) { + background-color: @base; + } + } + + div:has(> [class*="block-baseButton"]) { + background-color: @base; + border-color: @surface1; + [class*="block-baseButton"]:hover > [class$="-baseButton__content"] { + background-color: @surface0; + } + + img { + filter: @text-filter; + } + svg[name="IconFolder"] { + color: @text; + } + } + } + button[id^="webcam"] { + .neutral-button(); + } + + /* GRADES */ + .ic-Table th { + border-color: @surface2; + } + .ic-Table.ic-Table--hover-row tbody tr { + &:hover, + &.ic-Table__row--bg-neutral:hover, + &.ic-Table__row--bg-success:hover, + &.ic-Table__row--bg-alert:hover, + &.ic-Table__row--bg-danger:hover { + background-color: @hover-accent; + } + } + .react-rubric * { + color: @text; + border-color: @surface1; + background-color: transparent; + } + .react-rubric .rating-tier.selected { + .meetsMasteryShader { + background-color: @green; + .triangle { + color: @green; + background-color: transparent; + } + } + .nearMasteryShader { + background-color: @yellow; + .triangle { + color: @yellow; + background-color: transparent; + } + } + .wellBelowMasteryShader { + background-color: @red; + .triangle { + color: @red; + background-color: transparent; + } + } + } + + #grades_summary { + th.title { + border-color: @surface1; + } + tr.final_grade { + border-color: @surface2; + } + a[role="button"] { + .neutral-button(); + } + } + + .ic-Form-control.ic-Form-control--checkbox .ic-Label::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + background-color: @surface0; + border-color: @surface2; + } + .selected-assignment { + background-color: @hover-accent; + } + [data-id="submissions-comments-tray"] { + background-color: @mantle; + div:has(> a[class$="Button"]) { + color: @text; + background-color: @surface0; + } + } + #apply_select_menus { + .accent-button(); + } + #GradeSummarySelectMenuGroup label > span { + color: @text; + } + + /* PEOPLE */ + .ic-Table.ic-Table--striped tbody tr:nth-child(odd) { + background-color: @mantle; + } + + /* COURSE NOTIFICATIONS MENU */ + table[class$="view-table"], + table[class$="view-table"] :is(tr, th, td) { + background-color: @base; + } + thead > tr[class$="view-row"] { + border-color: @surface2; + } + .notifications tr > th span { + color: @text; + } + + /* SYLLABUS */ + #syllabus tr.date.related td, + #syllabus tr.date.related th, + #syllabus tr.date.selected td, + #syllabus tr.date.selected th { + background-color: @hover-accent; + } + #syllabus tr.date.date_passed td, + #syllabus tr.date.date_passed th { + background-color: @mantle; + } + #syllabus tr.detail_list td.not_last { + border-color: @surface0; + } + #immersive_reader_mount_point button, + #immersive_reader_mobile_mount_point button { + .neutral-button(); + } + + .mini_calendar { + .day { + color: @subtext0; + } + .day.has_event { + background-color: @surface0; + } + .day.today { + background-color: mix(@red, @surface0, 10%); + } + } + .mini-cal-header { + border-color: @surface1; + } + + /* FILES */ + .ef-header, + .ef-directory-header, + .ef-footer, + .ef-main .ef-folder-content { + border-color: @surface1; + } + .ef-item-row:hover { + background-color: @hover-regular; + } + .ef-item-row.ef-item-selected { + background-color: @hover-regular; + } + .ef-file-preview-header { + color: @text; + background-color: @mantle; + } + .ef-file-preview-header > * { + border-color: @surface1; + } + .ef-file-preview-button { + color: @subtext0 !important; + } + .ViewerControls { + background-color: @surface1; + } + .ViewerControls--current-page { + color: @text; + } + .AnnotationControlButton, + .AnnotationControlButton-outer { + background-color: @surface1; + border-color: @surface1; + } + .mimeClass-folder { + @svg: escape( + 'folder' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + .ef-big-icon { + filter: @text-filter; + } + .al-trigger-gray { + color: @overlay1; + } + + /* CHAT */ + /* this has terrible autogenerated css class names */ + .ctf-container > *, + .ctf-container { + background-color: @base; + } + .ctf-header, + .header-contents { + border-color: @surface1; + } + .header-contents span { + color: @text; + } + .ding-toggle { + label:has(svg[name="IconCheck"]) > span > span { + background-color: @green; + } + } + .ctf-message-input { + background-color: @base; + } + .ctf-message-input .ctf-message-input__wrapper { + background-color: @surface0; + border-color: @surface2; + input { + background-color: transparent; + } + } + + /* LOGIN PAGE */ + + .ic-flash-info, + .ic-flash-success, + .ic-flash-warning, + .ic-flash-error { + background-color: @surface0; + } + + /* ACCOUNT PAGE */ + th[class$="colHeader"] { + color: @text; + } + .feature-flag-wrapper { + tr span[class$="Text"] { + color: @text; + } + } + + /* CREATOR SIDE */ + /* not prioritized in this userstyle */ + + /* DASHBOARD */ + .unpublished_courses_redesign .ic-DashboardCard__box__header { + background-color: transparent; + border-color: @surface1; + } + /* MODULES */ + .module-publish-icon { + button > span { + background-color: transparent; + } + button:hover > span { + background-color: @hover-button; + } + } + .NewUserTutorialTray__Content > div > * { + border-color: @surface1; + } + .slick-header-column { + background-color: @surface0; + } + .slick-header-column.ui-state-default { + border-color: @surface1; + } + /* PAGES */ + button[class$="tag"] { + background-color: @surface0; + border-color: @surface1; + color: @text; + &:hover { + background-color: @surface1; + } + svg { + fill: @text; + } + } + + /* GRADEBOOK */ + .ui-state-default, + .ui-widget-header { + color: @subtext1; + } + button[data-testid="gradebook-settings-button"] { + .neutral-button(); + } + #gradebook-assignment-search, + #gradebook-student-search { + label span { + color: @subtext1; + } + } + + /* OUTCOMES */ + #outcome_management { + footer { + color: @text; + background-color: @base !important; + } + } + #management > div { + color: @subtext1; + } + .management-panel { + div[data-testid="outcome-group-container"] [class$="view"] { + border-color: @surface1; + } + svg { + fill: @text; + } + } + div[role="separator"] > div { + background-color: @surface0 !important; + } + span[class$="view-heading"], + h2, + h2 > span[class$="text"] { + color: @subtext1; + } + span[class$="billboard__message"], + h3, + h3 > span[class$="text"] { + color: @subtext0; + } + span[class$="billboard"] { + background-color: transparent; + } + + /* DISCUSSIONS */ + /* create discussion page */ + .discussions fieldset span:has(> button[data-testid="save-button"]) { + border-color: @surface1; + } + #manage-assign-to-container div[data-testid="item-assign-to-card"] { + border-color: @surface1; + } + + /* STUDIO */ + #settings_page_wrapper, + #collection_shared_content, + #collection_user_content { + background-color: @base; + span[role="contentinfo"] { + border-color: @surface1; + } + } + .CollectionShow__mediaListWrapper { + img { + background-color: transparent; + } + } + .DefaultLayout__main { + color: @text; + } + h1 { + color: @text; + } + #lti_media_picker { + nav { + background-color: @mantle; + border-block-end-color: @surface0; + } + ul a[class$="Button"] div { + color: @text; + } + li div[class$="topNavBarItem__container"]::after { + background-color: @surface1; + } + } + #media_upload_holder button img { + filter: @text-filter; + } + span[class$="toggleDetails__summary"] > span { + color: @text; + } + div[class$="toggleDetails__details"] { + color: @text; + } + + /* ASSIGNMENT CREATION */ + .page-action-list a { + border-bottom-color: @surface1; + } + + /* EXTENSIONS */ + /* BetterCampus */ + --bcsidebar-selection: @accent; + --bcbackground-0-ungradient: @base; + --bcbackground-0: @base; + --bcbackground-1-ungradient: @surface0; + --bcbackground-1: @surface0; + --bcbackground-2-ungradient: @surface1; + --bcbackground-2: @surface1; + --bcborders-ungradient: @surface0; + --bcborders: @surface0; + --bclinks-ungradient: @blue; + --bclinks: @blue; + --bctext-0-ungradient: @text; + --bctext-0: @text; + --bctext-1-ungradient: @subtext0; + --bctext-1: @subtext0; + --bctext-2-ungradient: @subtext1; + --bctext-2: @subtext1; + --bccards-ungradient: @surface0; + --bccards: @surface0; + --bcshadow: 0 0 10px 0 transparent; + } +} diff --git a/styles/canvas-lms/preview.webp b/styles/canvas-lms/preview.webp deleted file mode 100644 index 7164f62165..0000000000 --- a/styles/canvas-lms/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a1985cf2f2066fc5ef3ff25b78d0878fb5916c343d4cb74f9e5d5ff9c1cb420 -size 104552 diff --git a/styles/chatgpt/README.md b/styles/chatgpt/README.md index ccc3aee400..6c52244531 100644 --- a/styles/chatgpt/README.md +++ b/styles/chatgpt/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/chatgpt/catppuccin.user.css b/styles/chatgpt/catppuccin.user.css deleted file mode 100644 index 15caa572a2..0000000000 --- a/styles/chatgpt/catppuccin.user.css +++ /dev/null @@ -1,1232 +0,0 @@ -/* ==UserStyle== -@name ChatGPT Catppuccin -@namespace github.com/catppuccin/userstyles/styles/chatgpt -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chatgpt -@version 0.3.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chatgpt/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achatgpt -@description Soothing pastel theme for ChatGPT -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("chatgpt.com") { - @import url("https://unpkg.com/@catppuccin/highlightjs@0.1.2/css/catppuccin.variables.css"); - - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } - - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - code.hljs { - background: none; - } - pre { - .bg-token-main-surface-secondary { - background-color: @surface0; - } - .bg-gray-950 { - background-color: @crust; - } - .text-token-text-secondary { - color: @subtext0; - } - } - - color: @text; - - @white: if(@lookup=latte, @crust, @text); - @black: if(@lookup=latte, @text, @crust); - --white: @white; - --black: @black; - - & when not (@lookup = latte) { - --gray-50: lighten(mix(@text, @subtext0), 5%); - --gray-100: @text; - --gray-200: @subtext1; - --gray-300: @overlay2; - --gray-400: @overlay0; - --gray-500: @surface2; - --gray-600: @surface1; - --gray-700: @surface0; - --gray-800: @base; - --gray-900: @mantle; - --gray-950: @crust; - --brand-purple: @accent-color; - --text-primary: var(--gray-100) !important; - --text-secondary: var(--gray-200) !important; - --text-tertiary: var(--gray-300) !important; - --text-quaternary: var(--gray-500) !important; - --main-surface-primary: var(--gray-800) !important; - --main-surface-secondary: var(--gray-700) !important; - --main-surface-tertiary: var(--gray-600) !important; - --sidebar-surface-primary: var(--gray-900); - --sidebar-surface-secondary: var(--gray-800); - --sidebar-surface-tertiary: var(--gray-700); - .popover, - .dark .popover, - .dark.popover, - .popover .dark { - --main-surface-primary: var(--gray-700) !important; - --main-surface-secondary: var(--gray-600) !important; - --main-surface-tertiary: var(--gray-500) !important; - --text-primary: var(--white) !important; - --text-secondary: var(--gray-200) !important; - --text-tertiary: var(--gray-300) !important; - } - } - & when (@lookup = latte) { - --gray-50: @crust; - --gray-100: @mantle; - --gray-200: @base; - --gray-300: @surface0; - --gray-400: @surface1; - --gray-500: @surface2; - --gray-600: @overlay0; - --gray-700: @overlay1; - --gray-800: @subtext0; - --gray-900: @subtext1; - --gray-950: @text; - --brand-purple: @accent-color; - --text-primary: var(--gray-950); - --text-secondary: var(--gray-600); - --text-tertiary: var(--gray-400); - --text-quaternary: var(--gray-300); - --main-surface-primary: var(--gray-200); - --main-surface-secondary: var(--gray-100); - --main-surface-tertiary: var(--gray-50); - --sidebar-surface-primary: var(--gray-100); - --sidebar-surface-secondary: var(--gray-200); - --sidebar-surface-tertiary: var(--gray-300); - .popover, - .dark .popover, - .dark.popover, - .popover .dark { - --main-surface-primary: var(--gray-200) !important; - --main-surface-secondary: var(--gray-100) !important; - --main-surface-tertiary: var(--gray-50) !important; - --text-primary: var(--gray-950) !important; - --text-secondary: var(--gray-600) !important; - --text-tertiary: var(--gray-500) !important; - } - } - - --border-light: fade(@text, 10%); - --border-medium: fade(@text, 15%); - --border-heavy: fade(@text, 20%); - --border-xheavy: fade(@text, 25%); - --link: @accent-color; - --link-hover: if( - @lookup = latte, - lighten(@accent-color, 10%), - darken(@accent-color, 10%) - ); - - *:focus { - --tw-ring-offset-color: @base; - --tw-ring-color: @accent-color; - } - - /* ChatGPT logo */ - [style*="background-color: rgb(25, 195, 125);"] { - background-color: @green !important; - color: @base !important; - } - - /* Input */ - - select { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;@{svg}"); - } - - [multiple], - [type="date"], - [type="datetime-local"], - [type="email"], - [type="month"], - [type="number"], - [type="password"], - [type="search"], - [type="tel"], - [type="text"], - [type="time"], - [type="url"], - [type="week"], - select, - textarea { - background-color: @base; - border-color: @overlay2; - } - - [type="checkbox"], - [type="radio"] { - background-color: @base; - border-color: @overlay2; - color: @accent-color; - } - - .form-input, - .form-multiselect, - .form-select, - .form-textarea { - background-color: @base; - border-color: @overlay2; - } - - .form-input:focus, - .form-multiselect:focus, - .form-select:focus, - .form-textarea:focus { - border-color: @accent-color; - } - - .form-input::placeholder, - .form-textarea::placeholder { - color: @overlay2; - } - - /* Buttons */ - - .btn-primary, - .btn-green { - background-color: @accent-color; - color: @base; - - &:hover { - background-color: darken(@accent-color, 10%); - } - - &:focus-visible { - --tw-ring-color: darken(@accent-color, 10%) !important; - } - } - - .btn-danger { - background-color: @red; - color: @base; - - &:hover:not(:disabled) { - background-color: darken(@red, 10%); - } - - &.focus-visible, - &:focus-visible { - --tw-ring-color: darken(@red, 10%) !important; - } - } - - .btn-danger-outline { - border-color: @red; - color: @red; - - &.focus-visible, - &:focus-visible { - --tw-ring-color: lighten(@red, 10%) !important; - } - } - - .btn-neutral { - &.focus-visible, - &:focus-visible { - --tw-ring-color: @overlay0 !important; - } - } - - .btn-dark { - background-color: @surface0; - border-color: @overlay0; - color: @text; - - &:hover { - background-color: @surface1; - } - } - - .btn-light { - background-color: @overlay1; - color: @black; - - &:hover { - background-color: @overlay0; - } - } - - .btn-disabled, - .btn-disabled:hover { - background-color: @text; - } - - /* Borders */ - - .border-black, - .border-black\/10, - .border-black\/20, - .border-black\/30, - .border-black\/5 { - border-color: var(--border-light); - } - - .border-gray-100 { - border-color: var(--gray-100); - } - - .border-gray-200 { - border-color: var(--gray-200); - } - - .border-gray-300 { - border-color: var(--gray-300); - } - - .border-gray-400 { - border-color: var(--gray-400); - } - - .border-gray-500 { - border-color: var(--gray-500); - } - - .border-gray-700 { - border-color: var(--gray-700); - } - - .border-gray-950 { - border-color: var(--gray-950); - } - - .border-green-500 { - border-color: lighten(@green, 10%); - } - - .border-green-600 { - border-color: @green; - } - - .border-orange-400 { - border-color: lighten(mix(@red, @yellow), 10%); - } - - .border-orange-500 { - border-color: mix(@red, @yellow); - } - - .border-red-500 { - border-color: darken(@red, 10%); - } - - .border-white { - border-color: @white; - } - - .border-white\/20 { - border-color: fade(@white, 20%); - } - - .border-t-[\#0077FF] { - border-top-color: @blue; - } - - /* Backgrounds */ - .bg-token-main-surface-primary { - background-color: var(--main-surface-primary); - } - - .\!bg-brand-purple { - background-color: @accent-color !important; - } - - .\!bg-gray-200 { - background-color: var(--gray-200) !important; - } - - .btn-blue { - background-color: @blue; - color: @crust; - - &:hover { - background-color: darken(@blue, 5%); - } - } - - .bg-[\#0077FF], - .bg-\[\#3C46FF\], - .bg-[\#3C46FF], - .bg-[\#4046EC] { - background-color: @blue; - } - - .hover\:bg-\[\#0000FF\]:hover { - background-color: darken(@blue, 5%); - } - - .bg-[\#10A37F] { - background-color: @green; - } - - .bg-[\#B161FD] { - background-color: @accent-color; - } - - .bg-[\#F8CA27] { - background-color: @yellow; - } - - .bg-[\#FF5588] { - background-color: mix(@red, @pink); - } - - .bg-[\#FF6E3C] { - background-color: saturate(mix(@red, @yellow), 10%); - } - .dark\:radix-highlighted\:bg-\[\#2E2F33\][data-highlighted] { - background-color: @surface0; - } - - .bg-black { - background-color: @black; - } - - .bg-black\/20 { - background-color: fade(@black, 20%); - } - - .bg-black\/5 { - background-color: fade(@black, 5%); - } - - .bg-black\/50 { - background-color: fade(@black, 50%); - } - - .bg-black\/90 { - background-color: fade(@black, 90%); - } - - .bg-black\/\[\.04\] { - background-color: fade(@black, 4%); - } - - .bg-black\/\[\.08\] { - background-color: fade(@black, 8%); - } - - .bg-black\/\[\.12\] { - background-color: fade(@black, 12%); - } - - .bg-blue-100 { - background-color: lighten(@blue, 30%); - } - - .bg-blue-200 { - background-color: lighten(@blue, 20%); - } - - .bg-blue-300 { - background-color: lighten(@blue, 10%); - } - - .bg-blue-400 { - background-color: @blue; - } - - .bg-blue-500 { - background-color: darken(@blue, 5%); - } - - .bg-blue-700 { - background-color: darken(@blue, 10%); - } - - .hover\:bg-blue-700:hover { - background-color: darken(@blue, 15%); - } - - .bg-brand-blue-800 { - background-color: darken(@blue, 10%); - } - - .bg-blue-950 { - background-color: darken(@blue, 30%); - } - - .checked\:bg-blue-600:checked { - background-color: @accent-color; - } - - .bg-brand-green { - background-color: lighten(@green, 10%); - } - - .bg-brand-green\/20 { - background-color: fade(lighten(@green, 10%), 20%); - } - - .bg-brand-green\/40 { - background-color: fade(lighten(@green, 10%), 40%); - } - - .bg-brand-purple { - background-color: @accent-color; - } - - .bg-gray-100 { - background-color: var(--gray-100); - } - - .bg-gray-200 { - background-color: var(--gray-200); - } - - .bg-gray-300 { - background-color: var(--gray-300); - } - - .bg-gray-400 { - background-color: var(--gray-400); - } - - .bg-gray-50 { - background-color: var(--gray-50); - } - - .bg-gray-500 { - background-color: var(--gray-500); - } - - .bg-gray-600 { - background-color: var(--gray-600); - } - - .bg-gray-700 { - background-color: var(--gray-700); - } - - .bg-gray-900 { - background-color: var(--gray-900); - } - - .bg-gray-950 { - background-color: var(--gray-950); - } - - .bg-green-100 { - background-color: lighten(@green, 30%); - } - - .bg-green-200 { - background-color: lighten(@green, 20%); - } - - .bg-green-500 { - background-color: lighten(@green, 10%); - } - - .bg-green-500\/10 { - background-color: fade(lighten(@green, 10%), 10%); - } - - .bg-green-600 { - background-color: @green; - } - - .bg-orange-500 { - background-color: mix(@yellow, @red); - } - - .bg-orange-500\/10 { - background-color: fade(mix(@yellow, @red), 10%); - } - - .bg-red-100 { - background-color: fade(lighten(@red, 10%), 30%); - } - - .bg-red-200 { - background-color: lighten(@red, 20%); - } - - .bg-red-500 { - background-color: @red; - } - - .bg-red-500\/10 { - background-color: fade(@red, 10%); - } - - .bg-red-600 { - background-color: lighten(@red, 10%); - } - - .bg-white { - background-color: @white; - } - - .bg-white\/20 { - background-color: fade(@white, 20%); - } - - .bg-white\/25 { - background-color: fade(@white, 25%); - } - - .bg-yellow-100 { - background-color: lighten(@yellow, 20%); - } - - .bg-yellow-200 { - background-color: lighten(@yellow, 10%); - } - - .bg-yellow-400 { - background-color: @yellow; - } - - .bg-yellow-500 { - background-color: darken(@yellow, 10%); - } - - .radix-state-checked\:\!bg-green-600[data-state="checked"] { - background-color: @accent-color !important; - } - - .dark\:radix-state-checked\:border-green-600[data-state="checked"]:is( - .dark * - ) { - border-color: @accent-color; - } - - [class*="bg-transparent"] { - background-color: transparent; - } - - /* Gradients */ - - .from-white { - --tw-gradient-from: @base var(--tw-gradient-from-position); - } - - /* Fill/stroke */ - - .fill-yellow-500 { - fill: @yellow; - } - - .stroke-black { - stroke: @black; - } - - .stroke-brand-purple\/25 { - stroke: fade(@accent-color, 25%); - } - - .stroke-gray-400 { - stroke: @subtext0; - } - - /* Text */ - - .\!text-black { - color: @black !important; - } - - .text-\[\#FE7600\] { - color: mix(@yellow, @red); - } - - .text-\[\#fff\] { - color: @base; - } - - .text-black { - color: @black; - } - - .text-black\/60 { - color: fade(@black, 60%); - } - - .text-black\/70 { - color: fade(@black, 70%); - } - - .text-blue-500 { - color: lighten(@blue, 10%); - } - - .text-blue-600 { - color: @blue; - } - - .text-brand-blue-800 { - color: @blue; - } - - .text-brand-purple { - color: @accent-color; - } - - .text-gray-100 { - color: var(--gray-100); - } - - .text-gray-300 { - color: var(--gray-300); - } - - .text-gray-400 { - color: var(--gray-400); - } - - .text-gray-500 { - color: var(--gray-500); - } - - .text-gray-600 { - color: var(--gray-600); - } - - .text-gray-700 { - color: var(--gray-700); - } - - .text-gray-800 { - color: var(--gray-800); - } - - .text-gray-900 { - color: var(--gray-900); - } - - .text-green-500 { - color: lighten(@green, 10%); - } - - .text-green-600 { - color: @green; - } - - .text-green-700 { - color: darken(@green, 10%); - } - - .text-green-800 { - color: darken(@green, 20%); - } - - .text-green-900 { - color: darken(@green, 30%); - } - - .text-orange-300 { - color: lighten(mix(@yellow, @red), 15%); - } - - .text-orange-400 { - color: lighten(mix(@yellow, @red), 10%); - } - - .text-orange-500 { - color: mix(@yellow, @red); - } - - .text-red-500 { - color: @red; - } - - .text-red-600 { - color: lighten(@red, 10%); - } - - .text-red-700 { - color: @red; - } - - .text-red-800 { - color: darken(@red, 10%); - } - - .text-token-text-error { - --text-error: @red; - } - - .text-white { - color: @white; - } - - .text-white\/25 { - color: fade(@white, 25%); - } - - .text-white\/50 { - color: fade(@white, 50%); - } - - .text-white\/80 { - color: fade(@white, 80%); - } - - .text-yellow-500 { - color: @yellow; - } - - .text-yellow-700 { - color: darken(@yellow, 10%); - } - - .text-yellow-800 { - color: darken(@yellow, 20%); - } - - .text-yellow-900 { - color: darken(@yellow, 30%); - } - - /* Dark mode overrides */ - /* stylelint-disable-next-line no-duplicate-selectors */ - & when not (@lookup = latte) { - .dark\:bg-black { - background-color: @black; - } - - .dark\:bg-white { - background-color: @white; - } - - .dark\:bg-gray-700 { - background-color: var(--gray-700); - } - - /* "Was this response better or worse" dialog button hover */ - .dark\:hover\:bg-gray-800:hover { - background-color: transparent; - } - - .dark\:text-white { - color: @white; - } - - .dark\:text-black { - color: @black; - } - - /* Chat suggestions on new chat page */ - .dark\:text-gray-500 { - color: var(--gray-300); - } - - .dark\:text-\[\#D292FF\] { - color: @mauve; - } - - .dark\:focus\:border-white:focus { - border-color: @text; - } - - .dark\:border-gray-700 { - border-color: var(--gray-700); - } - - /* Up arrow send message button */ - .disabled\:dark\:bg-token-text-quaternary:is(.dark *):disabled { - background-color: var(--text-quaternary); - } - .dark\:disabled\:text-token-main-surface-secondary:disabled:is(.dark *) { - color: var(--main-surface-secondary); - } - } - - /* Other */ - - .ring-black { - --tw-ring-color: @black; - } - - .ring-black\/10 { - --tw-ring-color: fade(@black, 10%); - } - - .ring-white { - --tw-ring-color: @base; - } - - .ring-offset-black { - --tw-ring-offset-color: @base; - } - - /* Invalid LaTeX expressions */ - [style*="color: rgb(204, 0, 0)"] { - color: @red; - } - - /* Circle around OpenAI logo in center of chat */ - .gizmo-shadow-stroke::after { - --tw-shadow: inset 0 0 0 1px @surface0; - } - - .katex-error { - color: @red !important; - } - - [style="background-color: rgb(0, 0, 46);"], - [style="background-color: rgb(255, 255, 219);"] { - background-color: @crust !important; - } - - /* Icon colors for chat suggestion icons on new chat page */ - svg[style="color: rgb(203, 139, 208);"] { - color: @pink !important; - } - svg[style="color: rgb(226, 197, 65);"] { - color: @yellow !important; - } - svg[style="color: rgb(118, 208, 235);"] { - color: @teal !important; - } - svg[style="color: rgb(237, 98, 98);"] { - color: @red !important; - } - } -} - -@-moz-document domain("auth.openai.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - color: @text; - caret-color: @text; - - a { - color: @accent-color; - } - - body, - .oai-header, - .login-container { - background-color: @base; - } - - .oai-header img { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - background-color: transparent; - } - - .title { - color: @text; - } - - .email-input { - background-color: @base; - border-color: @surface0; - color: @text; - - &:focus, - &:valid { - border-color: @accent-color; - - + .email-label { - color: @accent-color; - background-color: @base; - } - } - } - .email-label { - background-color: @base; - color: @subtext0; - } - - .continue-btn { - background-color: @accent-color; - color: @base; - } - - .divider-wrapper { - &::before, - &::after { - border-bottom-color: @surface2; - } - } - - .social-btn { - background-color: @mantle; - border-color: @surface0; - color: @text; - } - - @orange: mix(@red, @yellow); - - img[alt="Google logo"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - img[alt="Microsoft logo"] { - @svg: escape( - '' - ); - - content: url("data:image/svg+xml,@{svg}"); - } - img[alt="Apple logo"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - } -} - -@-moz-document domain("auth0.openai.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --primary-color: @accent-color; - --primary-color-no-override: @accent-color; - --action-primary-color: @accent-color; - --link-color: @accent-color; - --page-background-color: @base; - --info-color: @blue; - --success-color: @green; - --error-color: @red; - --error-text-color: @text; - --warning-color: @yellow; - --button-font-color: @text; - --widget-background-color: @base; - --presentational-content-color: @overlay2; - --gray-lightest: @base; - --gray-light: @crust; - --gray-mid: @surface0; - --gray-mid-dark: @surface1; - --gray-dark: @overlay2; - --gray-darkest: @text; - --gray-social-border: @surface0; - - ._button-login-password, - ._button-login-id { - background-color: @accent-color; - color: @base; - } - - .password-icon-tooltip { - background-color: @text; - - &::before { - border-top-color: @text; - } - } - - .oai-header svg { - fill: @text; - } - - @orange: mix(@red, @yellow); - - button > span { - &[data-provider^="google"] { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - } - &[data-provider^="windowslive"] { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - } - &[data-provider^="apple"] { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - } - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/chatgpt/catppuccin.user.less b/styles/chatgpt/catppuccin.user.less new file mode 100644 index 0000000000..98dedf0f68 --- /dev/null +++ b/styles/chatgpt/catppuccin.user.less @@ -0,0 +1,242 @@ +/* ==UserStyle== +@name ChatGPT Catppuccin +@namespace github.com/catppuccin/userstyles/styles/chatgpt +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chatgpt +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chatgpt/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achatgpt +@description Soothing pastel theme for ChatGPT +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("chatgpt.com") { + // TODO: Codemirror syntax highlighting. + + .light { + #catppuccin(@lightFlavor); + } + + .dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + * { + --text-primary: @text; + --text-secondary: @subtext1; + --text-tertiary: @subtext0; + --text-quaternary: @overlay2; + --bg-primary: @base; + --bg-secondary: @surface0; + --bg-tertiary: @surface1; + + --bg-secondary-surface: @mantle; // sidebar + + --bg-elevated-primary: @base; // settings main panel + --bg-elevated-secondary: @mantle; + + --bg-tooltip: @crust; + + --main-surface-primary: @base; + --main-surface-secondary: @surface0; + --main-surface-tertiary: @surface1; + --interactive-bg-secondary-hover: @surface1; + --interactive-bg-secondary-press: @surface0; + + --interactive-label-accent-default: @accent; // some dropdowns in settings + + --border-light: @surface0; + --border-default: @surface1; + --border-medium: @surface2; + --interactive-border-focus: @overlay0; + + --theme-user-msg-bg: @surface0; + --theme-user-msg-text: @text; + --theme-submit-btn-bg: @accent; + --theme-submit-btn-text: @base; + + --theme-secondary-btn-bg: @surface1; + --theme-secondary-btn-text: @text; + + --sidebar-surface: @mantle; // modal backgrounds + --sidebar-surface-primary: @mantle; // syntax highlighted code block backgrounds + + --surface-hover: @surface0; // some button hovers + + --icon-tertiary: @overlay2; + + --text-status-error: @red; + + // chat input prompt border + --shadow-color-1: fade(@mantle, 50%); + --shadow-color-2: fade(@text, 80%); + + .__menu-item[data-sidebar-item] { + --menu-item-highlighted: @surface0; + } + + .__menu-item[data-color="danger"] { + --menu-item-highlighted: fade(@red, 20%); + --menu-item-active: fade(@red, 30%); + --menu-item-open: fade(@red, 30%); + } + + /* Markdown */ + + /* Inline code */ + code:not(pre > code) { + background-color: @surface0; + } + + code[class*="language-"], + pre[class*="language-"], + code.hljs { + color: @text !important; + } + + /* Components */ + + .btn-primary { + background-color: @text; + color: @base; + } + + .btn-purple { + color: @base; + background-color: @accent; + + &:hover { + background-color: lighten(@accent, 5%); + } + + &:focus, &:active { + background-color: darken(@accent, 5%); + } + } + + .btn-danger-outline { + color: @red; + border-color: @red; + } + + .btn-ghost { + &:not(:disabled) { + &:hover { + background-color: @surface0; + } + } + } + + /* Dark Overrides */ + .bg-token-bg-primary { + background-color: var(--bg-primary); + } + .bg-token-main-surface-primary { + background-color: var(--main-surface-primary); + } + .bg-token-sidebar-surface { + background-color: var(--sidebar-surface); + } + + /* Tailwind Utilities */ + .__tailwind-utility(@color, @shade, @value) { + .text-@{color}-@{shade}, + .dark\:text-@{color}-@{shade} { + color: @value; + } + .bg-@{color}-@{shade}, + .dark\:bg-@{color}-@{shade} { + background-color: @value; + } + .border-@{color}-@{shade} { + border-color: @value; + } + .radix-state-checked\:bg-@{color}-@{shade}[data-state="checked"] { + background-color: @value; + } + } + + .__tailwind-utility(green, 600, @green); // confirmation toasts + .__tailwind-utility(red, 500, @red); // failure toasts + .__tailwind-utility(blue, 400, @accent); // toggled checkmarks + .__tailwind-utility(gray, 600, @overlay0); // untoggled checkmarks + .__tailwind-utility(gray, 500, @overlay2); // faint text in/and dividers + + .text-white { + color: @base; + } + + .bg-black { + background-color: @mantle; + } + } + } +} + +@-moz-document domain("auth.openai.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + color: @text; + + background-color: @base; + --main-page-background: @base; + + // Logo + a[href="https://chatgpt.com"] > svg { + filter: @text-filter; + } + + --text-primary: @text; + --text-secondary: @subtext1; + --text-tertiary: @subtext0; + --text-placeholder: @subtext0; // form field labels above the input (e.g. "Email" and "Password") + + --accent-blue: @accent; + --link: @accent; + + --border-medium: @surface2; + + --button-primary-background: @text; + --button-primary-hover: @subtext1; + --button-text-on-primary: @base; + + --button-outline-hover: @surface0; + + --gray-100: @surface2; // divider lines + + input { + color: @text; + } + + [class*="_toggleVisibilityButton"]:where(:hover, :focus-visible)::before { + background-color: @surface0; + } + + [data-overlay-container] [class*="_tooltip"] { + --tooltip-background-color: @mantle !important; + --tooltip-color: @text !important; + } + } +} diff --git a/styles/chatgpt/preview.webp b/styles/chatgpt/preview.webp deleted file mode 100644 index a003bace3b..0000000000 --- a/styles/chatgpt/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:43e822e5ce7a62a4e99e4c920b3894d7e94ec6469254687dcb3f61ce8898cc96 -size 72220 diff --git a/styles/chatreplay/README.md b/styles/chatreplay/README.md index 195aae5929..575a88c34b 100644 --- a/styles/chatreplay/README.md +++ b/styles/chatreplay/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/chatreplay/catppuccin.user.css b/styles/chatreplay/catppuccin.user.css deleted file mode 100644 index 18ef3cd01f..0000000000 --- a/styles/chatreplay/catppuccin.user.css +++ /dev/null @@ -1,204 +0,0 @@ -/* ==UserStyle== -@name ChatReplay Catppuccin -@namespace github.com/catppuccin/userstyles/styles/chatreplay -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chatreplay -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chatreplay/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achatreplay -@description Soothing pastel theme for ChatReplay -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var range bg-opacity "Background Opacity" [0.2 , -0.05 , 1 , 0.05] -@var range bg-blur "Background Blur" [20, 0, 100, 1, 'px'] -==/UserStyle== */ - -@-moz-document domain("chatreplay.stream") { - :root[dark] #chat-container { - #catppuccin(@darkFlavor, @accentColor, chat); - } - :root #chat-container { - #catppuccin(@lightFlavor, @accentColor, chat); - } - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor, base); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor, base); - } - } - - /* prettier-ignore */ - @catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; - } - - #catppuccin(@lookup, @accent, @platform) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - & when (@platform = chat) { - a:not(.username), - i { - color: @accent-color; - } - color: @text; - --text-color: @text; - --timestamp-color: @subtext1; - --bg-color: @base; - --bg-color-transparent: fade(@base, 10%); - --settings-bg-color: @mantle; - --btn-bg-color: @surface0; - --bg-color-highlight: @surface0; - --scrollbar-thumb: @surface0; - --btn-hover-bg: @surface1; - --link-color: @accent-color; - --border-color: @surface0; - --settings-shadow: 0 4px 8px rgba(@crust, 0.4), 0 0 4px rgba(@crust, 0.4); - .message-notice { - border-left-color: @accent-color; - } - .message--highlighted a { - color: @accent-color; - } - .message--highlighted { - background: @accent-color; - border-color: @accent-color; - color: @base; - text-shadow: none; - } - .red-dot::after { - background: @red; - } - &[overlay] { - --bg-color: rgba(@base, var(--overlay-opacity)); - --bg-color-highlight: rgba( - @base, - max(0.4, calc(var(--overlay-opacity) * 1.2)) - ); - --text-shadow: -1px -1px 0px @base, 0px -1px 0px @base, - 1px -1px 0px @base, -1px 0px 0px @base, 1px 0px 0px @base, - -1px 1px 0px @base, 0px 1px 0px @base, 1px 1px 0px @base; - --text-color: @text; - } - .resume-scroll { - background-color: @surface0; - } - } - @keyframes rotating { - 0% { - transform: rotate(0); - } - - 100% { - transform: rotate(360deg); - scale: 1.5; - fill: @red; - } - } - - & when (@platform = base) { - background-color: @base; - color: @text; - - body { - color: @text; - } - .card { - background: fade(@crust, 80%); - } - .card.c1cw4bqg.c1cw4bqg { - color: @subtext0; - } - a, - i { - color: @accent-color; - } - button.gradient, - .btn.gradient { - background: linear-gradient( - 45deg, - @accent-color, - spin(@accent-color, 45) - ); - color: @base; - text-shadow: none; - } - button:not(.custom), - .btn { - background: @surface0; - text-shadow: none; - color: @text; - } - .item.zmyc33:hover, - .item.active.zmyc33 { - background-color: @surface0; - } - .video-title.damcrq, - .logo-text.c1j5psx1.c1j5psx1 { - color: @text; - } - [d="M 4,0 1,3 v 10 h 4 v 3 l 3,-3 h 2 L 15,8 V 0 Z m 10,7 -3,3 H 9 L 7,12 V 10 H 5 V 1 h 9 z"], - [d="m 8.5,3 3,2 -3,2 z"] { - fill: @accent-color; - } - [d="m 4,1 h 10 v 7 l -4,4 H 4 Z"] { - fill: @base; - } - .delete.c19loos5.c19loos5 { - border-color: @red; - } - .mark.z8oy0d.z8oy0d { - background: @accent-color; - color: @base; - } - .bg.c1ejz165.c1ejz165 { - opacity: @bg-opacity; - filter: blur(@bg-blur); - } - // .topbar-container.c1j5psx1.c1j5psx1 { - // border-bottom: none; - // } - #inner-a.tmgko.tmgko { - background: @mantle; - } - } - } -} -// vim:ft=less diff --git a/styles/chatreplay/catppuccin.user.less b/styles/chatreplay/catppuccin.user.less new file mode 100644 index 0000000000..fad9fbfedd --- /dev/null +++ b/styles/chatreplay/catppuccin.user.less @@ -0,0 +1,171 @@ +/* ==UserStyle== +@name ChatReplay Catppuccin +@namespace github.com/catppuccin/userstyles/styles/chatreplay +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chatreplay +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chatreplay/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achatreplay +@description Soothing pastel theme for ChatReplay +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var range bg-opacity "Background Opacity" [0.2 , -0.05 , 1 , 0.05] +@var range bg-blur "Background Blur" [20, 0, 100, 1, 'px'] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("chatreplay.stream") { + :root[dark] #chat-container { + #catppuccin(@darkFlavor, chat); + } + :root #chat-container { + #catppuccin(@lightFlavor, chat); + } + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor, base); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor, base); + } + } + + #catppuccin(@flavor, @platform) { + #lib.palette(); + #lib.defaults(); + + & when (@platform = chat) { + a:not(.username), + i { + color: @accent; + } + color: @text; + --text-color: @text; + --timestamp-color: @subtext1; + --bg-color: @base; + --bg-color-transparent: fade(@base, 10%); + --settings-bg-color: @mantle; + --btn-bg-color: @surface0; + --bg-color-highlight: @surface0; + --scrollbar-thumb: @surface0; + --btn-hover-bg: @surface1; + --link-color: @accent; + --border-color: @surface0; + --settings-shadow: 0 4px 8px fade(@crust, 40%), 0 0 4px fade(@crust, 40%); + .message-notice { + border-left-color: @accent; + } + .message--highlighted a { + color: @accent; + } + .message--highlighted { + background: @accent; + border-color: @accent; + color: @base; + text-shadow: none; + } + .red-dot::after { + background: @red; + } + &[overlay] { + --bg-color: rgba(@base, var(--overlay-opacity)); + --bg-color-highlight: rgba( + @base, + max(0.4, calc(var(--overlay-opacity) * 1.2)) + ); + --text-shadow: + -1px -1px 0px @base, 0px -1px 0px @base, 1px -1px 0px @base, -1px 0px + 0px @base, 1px 0px 0px @base, -1px 1px 0px @base, 0px 1px 0px @base, + 1px 1px 0px @base; + --text-color: @text; + } + .resume-scroll { + background-color: @surface0; + } + } + @keyframes rotating { + 0% { + transform: rotate(0); + } + + 100% { + transform: rotate(360deg); + scale: 1.5; + fill: @red; + } + } + + & when (@platform = base) { + background-color: @base; + color: @text; + + body { + color: @text; + } + .card { + background: fade(@crust, 80%); + } + .card.c1cw4bqg.c1cw4bqg { + color: @subtext0; + } + a, + i { + color: @accent; + } + button.gradient, + .btn.gradient { + background: linear-gradient( + 45deg, + @accent, + spin(@accent, 45) + ); + color: @base; + text-shadow: none; + } + button:not(.custom), + .btn { + background: @surface0; + text-shadow: none; + color: @text; + } + .item.zmyc33:hover, + .item.active.zmyc33 { + background-color: @surface0; + } + .video-title.damcrq, + .logo-text.c1j5psx1.c1j5psx1 { + color: @text; + } + [d="M 4,0 1,3 v 10 h 4 v 3 l 3,-3 h 2 L 15,8 V 0 Z m 10,7 -3,3 H 9 L 7,12 V 10 H 5 V 1 h 9 z"], + [d="m 8.5,3 3,2 -3,2 z"] { + fill: @accent; + } + [d="m 4,1 h 10 v 7 l -4,4 H 4 Z"] { + fill: @base; + } + .delete.c19loos5.c19loos5 { + border-color: @red; + } + .mark.z8oy0d.z8oy0d { + background: @accent; + color: @base; + } + .bg.c1ejz165.c1ejz165 { + opacity: @bg-opacity; + filter: blur(@bg-blur); + } + // .topbar-container.c1j5psx1.c1j5psx1 { + // border-bottom: none; + // } + #inner-a.tmgko.tmgko { + background: @mantle; + } + } + } +} diff --git a/styles/chatreplay/preview.webp b/styles/chatreplay/preview.webp deleted file mode 100644 index 777b2920fb..0000000000 --- a/styles/chatreplay/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a2f4d528c7d7629767c5aad2ce7394a8afcbb0137e7da581ff5aca5a2d8557d -size 1148418 diff --git a/styles/chess.com/README.md b/styles/chess.com/README.md index 6b61b5881b..beae41cc0c 100644 --- a/styles/chess.com/README.md +++ b/styles/chess.com/README.md @@ -10,21 +10,20 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) ## ๐Ÿ’– Past Maintainers -- [skele](https://github.com/skelebro1) -- [Isabel](https://github.com/isabelroses) +- [skelebro1](https://github.com/skelebro1) +- [isabelroses](https://github.com/isabelroses) - [coldenate](https://github.com/coldenate)   diff --git a/styles/chess.com/assets/base/b/bb.png b/styles/chess.com/assets/base/b/bb.png deleted file mode 100644 index fcf4c29084..0000000000 --- a/styles/chess.com/assets/base/b/bb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17f3966c1ebe4c53ea448e4a46ed2ba119a1fac123732ae5eb1bb5df73cec348 -size 1395 diff --git a/styles/chess.com/assets/base/b/bk.png b/styles/chess.com/assets/base/b/bk.png deleted file mode 100644 index 316f437e87..0000000000 --- a/styles/chess.com/assets/base/b/bk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19962633023e6c23cff4d2dbb74791ad80396a0456f9c8321b5e045c040ad3e1 -size 1453 diff --git a/styles/chess.com/assets/base/b/bn.png b/styles/chess.com/assets/base/b/bn.png deleted file mode 100644 index 244524a07a..0000000000 --- a/styles/chess.com/assets/base/b/bn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b592d594ec7980e44ab3a55b9e2a37a4d0d909b6efc7c7c408534c6096d0b768 -size 1563 diff --git a/styles/chess.com/assets/base/b/bp.png b/styles/chess.com/assets/base/b/bp.png deleted file mode 100644 index 964a6e05f3..0000000000 --- a/styles/chess.com/assets/base/b/bp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1004722f7697c28779a4ccec503c3452a2515478f9b563cf991a8ecd9b971a5e -size 1168 diff --git a/styles/chess.com/assets/base/b/bq.png b/styles/chess.com/assets/base/b/bq.png deleted file mode 100644 index 6d86f98ad1..0000000000 --- a/styles/chess.com/assets/base/b/bq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91daa3ecc466f723cd9ce698c1e463de32e652c9d7f83dfcc26e8a1c42130c76 -size 1901 diff --git a/styles/chess.com/assets/base/b/br.png b/styles/chess.com/assets/base/b/br.png deleted file mode 100644 index a007aa1e18..0000000000 --- a/styles/chess.com/assets/base/b/br.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e5cf795f5c4f6dbc2dee061981b0276d2f2e977fabadc3669a384e8b996c6ac -size 1303 diff --git a/styles/chess.com/assets/base/board.png b/styles/chess.com/assets/base/board.png deleted file mode 100644 index 81537ada2e..0000000000 --- a/styles/chess.com/assets/base/board.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9f70b1ce1add395a8e96ef86eb5c89d19f81724b66adff1a7fd4fb8bfb3db6f -size 848 diff --git a/styles/chess.com/assets/base/colorboard.png b/styles/chess.com/assets/base/colorboard.png deleted file mode 100644 index 58d3696ab1..0000000000 --- a/styles/chess.com/assets/base/colorboard.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b4044fb478a75ab6e7f42965f2501c690628293ee9da4c74c01fa0db961312e -size 3299 diff --git a/styles/chess.com/assets/base/w/wb.png b/styles/chess.com/assets/base/w/wb.png deleted file mode 100644 index 9263f9e74d..0000000000 --- a/styles/chess.com/assets/base/w/wb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:02ae27a6bda80a3e1d556f272f0673a2382b07fc1a2ce91c0d340bef30a52d3e -size 1643 diff --git a/styles/chess.com/assets/base/w/wk.png b/styles/chess.com/assets/base/w/wk.png deleted file mode 100644 index b462d31024..0000000000 --- a/styles/chess.com/assets/base/w/wk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff7e0abfd0ed4cb50f07a15716d8bd67c2f19b3a94361eebcd79895ac7ad0e78 -size 1707 diff --git a/styles/chess.com/assets/base/w/wn.png b/styles/chess.com/assets/base/w/wn.png deleted file mode 100644 index 8f34bfd8d4..0000000000 --- a/styles/chess.com/assets/base/w/wn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:70e80ab4cd34373f354fb46e0d42dd223652ffaa1bc216581a230f6c5eadda4e -size 1682 diff --git a/styles/chess.com/assets/base/w/wp.png b/styles/chess.com/assets/base/w/wp.png deleted file mode 100644 index e7b5698879..0000000000 --- a/styles/chess.com/assets/base/w/wp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e701753136fe460125bb1edf2d5746cae16387c0c3e8d934b14616202dbfc64e -size 1183 diff --git a/styles/chess.com/assets/base/w/wq.png b/styles/chess.com/assets/base/w/wq.png deleted file mode 100644 index bfbb71c170..0000000000 --- a/styles/chess.com/assets/base/w/wq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:55a19926673f15637881e2b16c4a34d473ade9e4eebeb804c93f4afbe5c346ba -size 2171 diff --git a/styles/chess.com/assets/base/w/wr.png b/styles/chess.com/assets/base/w/wr.png deleted file mode 100644 index 0a754f318f..0000000000 --- a/styles/chess.com/assets/base/w/wr.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bde0be75f74114eb1ffe781ec15d999ecc318b30e51e8e4c1933c192428c054c -size 1490 diff --git a/styles/chess.com/assets/frappe/b/bb.png b/styles/chess.com/assets/frappe/b/bb.png deleted file mode 100644 index 6289170102..0000000000 --- a/styles/chess.com/assets/frappe/b/bb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23fb1dc34abdd37519f2599a9fb629d7058c145acad996b2d87cefd46ac4b018 -size 3249 diff --git a/styles/chess.com/assets/frappe/b/bk.png b/styles/chess.com/assets/frappe/b/bk.png deleted file mode 100644 index 0148ad8c06..0000000000 --- a/styles/chess.com/assets/frappe/b/bk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3835d2041ff5cbbe592c038c7890246ade959658ff14874a2f8eda3af76fe79b -size 3323 diff --git a/styles/chess.com/assets/frappe/b/bn.png b/styles/chess.com/assets/frappe/b/bn.png deleted file mode 100644 index d084b319df..0000000000 --- a/styles/chess.com/assets/frappe/b/bn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a715e49cf19e6b23f93fca069387cd2d7f752328c37660330fd5acd17baa1ca -size 3343 diff --git a/styles/chess.com/assets/frappe/b/bp.png b/styles/chess.com/assets/frappe/b/bp.png deleted file mode 100644 index a175ee38c8..0000000000 --- a/styles/chess.com/assets/frappe/b/bp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0425e2818a6e8ba8e7804c47435e0c30e6bb70ebf3959427ab8d1d813ec1f671 -size 2606 diff --git a/styles/chess.com/assets/frappe/b/bq.png b/styles/chess.com/assets/frappe/b/bq.png deleted file mode 100644 index 3804650671..0000000000 --- a/styles/chess.com/assets/frappe/b/bq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dad984bff15e9b9cf4943962d1e0739537e515a281e972d4a765656d779abc8e -size 4023 diff --git a/styles/chess.com/assets/frappe/b/br.png b/styles/chess.com/assets/frappe/b/br.png deleted file mode 100644 index 7127a48b88..0000000000 --- a/styles/chess.com/assets/frappe/b/br.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e06c1af2d6fefe677e8d712227b40dffb18e448aba5fa521296b621db6f732c6 -size 2954 diff --git a/styles/chess.com/assets/frappe/blue.png b/styles/chess.com/assets/frappe/blue.png deleted file mode 100644 index 6bf183b08e..0000000000 --- a/styles/chess.com/assets/frappe/blue.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:053a6f91c29db63209922ba82c590c7a462566256cea3a1891dc3214ea8c9673 -size 28327 diff --git a/styles/chess.com/assets/frappe/flamingo.png b/styles/chess.com/assets/frappe/flamingo.png deleted file mode 100644 index 10e9b03532..0000000000 --- a/styles/chess.com/assets/frappe/flamingo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a206d8edcb33ed1124f2f537c2430219b4ce90bc026dc1585a653a451e47656 -size 28317 diff --git a/styles/chess.com/assets/frappe/green.png b/styles/chess.com/assets/frappe/green.png deleted file mode 100644 index 7eaa208fc3..0000000000 --- a/styles/chess.com/assets/frappe/green.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a5ae12aefb9aa7ef379c6f55da121a0ddc75c206c1d94a1bb2f2a5c6abca05a -size 28328 diff --git a/styles/chess.com/assets/frappe/lavender.png b/styles/chess.com/assets/frappe/lavender.png deleted file mode 100644 index 0aa1f667e2..0000000000 --- a/styles/chess.com/assets/frappe/lavender.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aab0d67b0effbf90701d91404a0a5fd077bd7f219f2dee4de479128d2b84b94f -size 28328 diff --git a/styles/chess.com/assets/frappe/maroon.png b/styles/chess.com/assets/frappe/maroon.png deleted file mode 100644 index 088c7c2111..0000000000 --- a/styles/chess.com/assets/frappe/maroon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:331b152f11b24177136f9078f9be98a78389684147d22423a4947ee87be10644 -size 28322 diff --git a/styles/chess.com/assets/frappe/mauve.png b/styles/chess.com/assets/frappe/mauve.png deleted file mode 100644 index edd9ff3c40..0000000000 --- a/styles/chess.com/assets/frappe/mauve.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff39ba0bf2bb7597ad54886bdae36a888e11720ebb3242c3695690a37e16effa -size 28327 diff --git a/styles/chess.com/assets/frappe/peach.png b/styles/chess.com/assets/frappe/peach.png deleted file mode 100644 index 06e5b89b03..0000000000 --- a/styles/chess.com/assets/frappe/peach.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cee4ee724fb875c6a87bade871f67dd2fbcec5531645813b08b1a0b82d4fb63d -size 28299 diff --git a/styles/chess.com/assets/frappe/pink.png b/styles/chess.com/assets/frappe/pink.png deleted file mode 100644 index 88e2d0c3d0..0000000000 --- a/styles/chess.com/assets/frappe/pink.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c59008de93afbc43ad17b17d39f9ef8df74f65ff5472244f4c07c7274009f88b -size 28329 diff --git a/styles/chess.com/assets/frappe/red.png b/styles/chess.com/assets/frappe/red.png deleted file mode 100644 index 3f56131e03..0000000000 --- a/styles/chess.com/assets/frappe/red.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:890f80a9e79696be7338310068c51660ac83c5b8eddf67320bd232179d27bfc3 -size 28296 diff --git a/styles/chess.com/assets/frappe/rosewater.png b/styles/chess.com/assets/frappe/rosewater.png deleted file mode 100644 index bcba4652c5..0000000000 --- a/styles/chess.com/assets/frappe/rosewater.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e71c415203590c4c55116261743ff1d6c4ee8fc9056c4c194aefd539ca36e914 -size 28330 diff --git a/styles/chess.com/assets/frappe/sapphire.png b/styles/chess.com/assets/frappe/sapphire.png deleted file mode 100644 index f541e5a2d8..0000000000 --- a/styles/chess.com/assets/frappe/sapphire.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e99274e9fb9dce90e6d153f81280766be40669209f557f76c94a9464768767d -size 28330 diff --git a/styles/chess.com/assets/frappe/sky.png b/styles/chess.com/assets/frappe/sky.png deleted file mode 100644 index d2a5fd50f4..0000000000 --- a/styles/chess.com/assets/frappe/sky.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77bd097f2410f1203a63d05e9c2a05cbdd265f8a469f1975871e119990f0260f -size 28323 diff --git a/styles/chess.com/assets/frappe/teal.png b/styles/chess.com/assets/frappe/teal.png deleted file mode 100644 index a5ddb48739..0000000000 --- a/styles/chess.com/assets/frappe/teal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:540247183c99511c88ec25b308659bce8d4e5413ac04446ab9fdb45b048790c7 -size 28329 diff --git a/styles/chess.com/assets/frappe/w/wb.png b/styles/chess.com/assets/frappe/w/wb.png deleted file mode 100644 index cc652db092..0000000000 --- a/styles/chess.com/assets/frappe/w/wb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1cbbc043170ea2dc03264487a3ab1e083d1e7b6e1a4361022e8a3f88afc7cfc1 -size 3007 diff --git a/styles/chess.com/assets/frappe/w/wk.png b/styles/chess.com/assets/frappe/w/wk.png deleted file mode 100644 index b039582f5d..0000000000 --- a/styles/chess.com/assets/frappe/w/wk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa99a6294dd5102ef75accc06170c0344850ca365544a84e941c726d0e6d68f8 -size 3357 diff --git a/styles/chess.com/assets/frappe/w/wn.png b/styles/chess.com/assets/frappe/w/wn.png deleted file mode 100644 index 961535bbb9..0000000000 --- a/styles/chess.com/assets/frappe/w/wn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9430f95a1831d6ea2e3874a4e532b209ba1b2844eccfc114919dd2f8836d58f2 -size 2972 diff --git a/styles/chess.com/assets/frappe/w/wp.png b/styles/chess.com/assets/frappe/w/wp.png deleted file mode 100644 index 43dbe7ee7f..0000000000 --- a/styles/chess.com/assets/frappe/w/wp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ee62937fd8e1b4d175663a406b7b8d074827a70feb703c484478e11112c25e6e -size 2288 diff --git a/styles/chess.com/assets/frappe/w/wq.png b/styles/chess.com/assets/frappe/w/wq.png deleted file mode 100644 index 69cd725663..0000000000 --- a/styles/chess.com/assets/frappe/w/wq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57429ebfd580d8f74fc6b10abc8c4af0a261880d4be2f7fc6c7c6513874a4364 -size 3888 diff --git a/styles/chess.com/assets/frappe/w/wr.png b/styles/chess.com/assets/frappe/w/wr.png deleted file mode 100644 index 7b471a33f4..0000000000 --- a/styles/chess.com/assets/frappe/w/wr.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f13cd0d41a52dd764915e906cf3535a4838dbd4b433c418adebaa49d4a50edf -size 2794 diff --git a/styles/chess.com/assets/frappe/yellow.png b/styles/chess.com/assets/frappe/yellow.png deleted file mode 100644 index 4cbcda8cef..0000000000 --- a/styles/chess.com/assets/frappe/yellow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2649d3c18b60b41c26de3104b054364ad38a59f015ee28b50660f33d4262abf8 -size 28325 diff --git a/styles/chess.com/assets/latte/b/bb.png b/styles/chess.com/assets/latte/b/bb.png deleted file mode 100644 index ac01897864..0000000000 --- a/styles/chess.com/assets/latte/b/bb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3c296560d7a4870ad856b921ff11e52a601b9dbae39919036ac32005b0dcce27 -size 3104 diff --git a/styles/chess.com/assets/latte/b/bk.png b/styles/chess.com/assets/latte/b/bk.png deleted file mode 100644 index 4944ed18b0..0000000000 --- a/styles/chess.com/assets/latte/b/bk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dcb8b5db299a7a00b49b976bdcf075a669c03627d8acb5e956e674b6619e06b3 -size 3168 diff --git a/styles/chess.com/assets/latte/b/bn.png b/styles/chess.com/assets/latte/b/bn.png deleted file mode 100644 index 5d9dfc9571..0000000000 --- a/styles/chess.com/assets/latte/b/bn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a81be4313282fcee4f895c1419011ca29e35692285a6a05b092a51887646f7d2 -size 3131 diff --git a/styles/chess.com/assets/latte/b/bp.png b/styles/chess.com/assets/latte/b/bp.png deleted file mode 100644 index 3eb4a53753..0000000000 --- a/styles/chess.com/assets/latte/b/bp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a056ef7253fa83525da4d350c6d243971ed8724f769e5a85948ef0c2f317e592 -size 2531 diff --git a/styles/chess.com/assets/latte/b/bq.png b/styles/chess.com/assets/latte/b/bq.png deleted file mode 100644 index 35b3484d8f..0000000000 --- a/styles/chess.com/assets/latte/b/bq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:546da558bc352ea45883ee4d9d8ed3b23a3de283e808bcfec1f06fe7b49879a8 -size 3810 diff --git a/styles/chess.com/assets/latte/b/br.png b/styles/chess.com/assets/latte/b/br.png deleted file mode 100644 index d98022c3d4..0000000000 --- a/styles/chess.com/assets/latte/b/br.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ecae99e4efb0983b0056a4561efd8e4a2cb992933c543fd5e94d8de48bd2bd6 -size 2695 diff --git a/styles/chess.com/assets/latte/blue.png b/styles/chess.com/assets/latte/blue.png deleted file mode 100644 index 44c4975eb3..0000000000 --- a/styles/chess.com/assets/latte/blue.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c350275fe629f0ba17f3810b5fb7e615e576fa6a45ec27840ae4380e46462bf -size 28301 diff --git a/styles/chess.com/assets/latte/flamingo.png b/styles/chess.com/assets/latte/flamingo.png deleted file mode 100644 index 610e2ec5dd..0000000000 --- a/styles/chess.com/assets/latte/flamingo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66a07736e319a1f829f14918f671e8e5f41b55b84bd84167c4289359effdbd1b -size 28293 diff --git a/styles/chess.com/assets/latte/green.png b/styles/chess.com/assets/latte/green.png deleted file mode 100644 index d36f7fb889..0000000000 --- a/styles/chess.com/assets/latte/green.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f537cd2a783dcd9867d71bf78e1688ffe4626664e63eec3859a8387813b5a3ac -size 28316 diff --git a/styles/chess.com/assets/latte/lavender.png b/styles/chess.com/assets/latte/lavender.png deleted file mode 100644 index eee08de194..0000000000 --- a/styles/chess.com/assets/latte/lavender.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a78c44162772eb0711981e6e9a9b2095586ae5ac5dbb0e107ebecace3d689733 -size 28319 diff --git a/styles/chess.com/assets/latte/maroon.png b/styles/chess.com/assets/latte/maroon.png deleted file mode 100644 index aa3ab82f65..0000000000 --- a/styles/chess.com/assets/latte/maroon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:533cdf9aad65552f7e3d8d867f0bf229df3f26a16f566d0d942007d4be303a98 -size 28319 diff --git a/styles/chess.com/assets/latte/mauve.png b/styles/chess.com/assets/latte/mauve.png deleted file mode 100644 index dd18d436b9..0000000000 --- a/styles/chess.com/assets/latte/mauve.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bec805ed6b4030b9fdc10622eae7b7b4735f9ac1e66a3b0bf0d7a16cfb8456c0 -size 28297 diff --git a/styles/chess.com/assets/latte/peach.png b/styles/chess.com/assets/latte/peach.png deleted file mode 100644 index 6ec94b2330..0000000000 --- a/styles/chess.com/assets/latte/peach.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa0f7a7a39812bff6e5e7fe08322b5786bcf9b24236b7e51f75df04a192bd7fe -size 28316 diff --git a/styles/chess.com/assets/latte/pink.png b/styles/chess.com/assets/latte/pink.png deleted file mode 100644 index d11e7379a8..0000000000 --- a/styles/chess.com/assets/latte/pink.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c9bba9cbd280f07c5a3d3c9910c1bc870667939e903b20eae9d5533312f42e0 -size 28295 diff --git a/styles/chess.com/assets/latte/red.png b/styles/chess.com/assets/latte/red.png deleted file mode 100644 index 0492d2d8e8..0000000000 --- a/styles/chess.com/assets/latte/red.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a96917717102925522f1edf717b6c33b225c5a118d38076cd6f3ae4e28f3d27 -size 28322 diff --git a/styles/chess.com/assets/latte/rosewater.png b/styles/chess.com/assets/latte/rosewater.png deleted file mode 100644 index 4fa28e993a..0000000000 --- a/styles/chess.com/assets/latte/rosewater.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3c69456a8a5195e7bb69c56257e026de26274298b6b2be7c8cdf0f114c073ed -size 28297 diff --git a/styles/chess.com/assets/latte/sapphire.png b/styles/chess.com/assets/latte/sapphire.png deleted file mode 100644 index 02aef36251..0000000000 --- a/styles/chess.com/assets/latte/sapphire.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b81dac689520727bf1e6d0933e16ab2a83eba84e4752fbc0bb739a4193469155 -size 28301 diff --git a/styles/chess.com/assets/latte/sky.png b/styles/chess.com/assets/latte/sky.png deleted file mode 100644 index a242a03b77..0000000000 --- a/styles/chess.com/assets/latte/sky.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4899a34edde6afda6d8ccf228c8c982b9ba9f0994bb6137d21278e0aade86c72 -size 28294 diff --git a/styles/chess.com/assets/latte/teal.png b/styles/chess.com/assets/latte/teal.png deleted file mode 100644 index 6d98c2368b..0000000000 --- a/styles/chess.com/assets/latte/teal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa19a84737aaae84332912509f6c5f937cac3eadf4020ce6548997813ae4691b -size 28297 diff --git a/styles/chess.com/assets/latte/w/wb.png b/styles/chess.com/assets/latte/w/wb.png deleted file mode 100644 index 898b0a52db..0000000000 --- a/styles/chess.com/assets/latte/w/wb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40759ad095760e2ce55a7981c9d1269cff6af7c74cfd3e2336762ce66051d3cd -size 3669 diff --git a/styles/chess.com/assets/latte/w/wk.png b/styles/chess.com/assets/latte/w/wk.png deleted file mode 100644 index 46f0cb73d6..0000000000 --- a/styles/chess.com/assets/latte/w/wk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93548e1d13d0395544fa4f8ab0333aede212675d448d1c93a585e26297dc7aaa -size 3882 diff --git a/styles/chess.com/assets/latte/w/wn.png b/styles/chess.com/assets/latte/w/wn.png deleted file mode 100644 index ab8c6385b2..0000000000 --- a/styles/chess.com/assets/latte/w/wn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44665c779ec4ef72926667a3db5aab386cf4262f95873d3b65e58232e3de14df -size 3529 diff --git a/styles/chess.com/assets/latte/w/wp.png b/styles/chess.com/assets/latte/w/wp.png deleted file mode 100644 index 2345881760..0000000000 --- a/styles/chess.com/assets/latte/w/wp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:970a66b77f98bc68889bf617b59b85dcf42c30014c66ba7105b34cd1f2094e05 -size 2691 diff --git a/styles/chess.com/assets/latte/w/wq.png b/styles/chess.com/assets/latte/w/wq.png deleted file mode 100644 index 4ba1bf596a..0000000000 --- a/styles/chess.com/assets/latte/w/wq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:faef34bcac4c1d97a288b7bea2d8de90ae00308b6adc2c215ae2f70ee00c0813 -size 4648 diff --git a/styles/chess.com/assets/latte/w/wr.png b/styles/chess.com/assets/latte/w/wr.png deleted file mode 100644 index 7bf4db9476..0000000000 --- a/styles/chess.com/assets/latte/w/wr.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d34215d679429388d7d7658599059ab2dcc4541f5ccf5b0ccdfc18f23145d907 -size 3322 diff --git a/styles/chess.com/assets/latte/yellow.png b/styles/chess.com/assets/latte/yellow.png deleted file mode 100644 index a6931ebf9a..0000000000 --- a/styles/chess.com/assets/latte/yellow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:22608b3f316821b010ec6a596c6cee6cfcf106d2a7a80acfd89cf65928ad1fe9 -size 28297 diff --git a/styles/chess.com/assets/macchiato/b/bb.png b/styles/chess.com/assets/macchiato/b/bb.png deleted file mode 100644 index 1175157cbe..0000000000 --- a/styles/chess.com/assets/macchiato/b/bb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79361017da3e22acb1fc8f58a65c4e28d376706e92a3eea42776fa59104ab140 -size 3243 diff --git a/styles/chess.com/assets/macchiato/b/bk.png b/styles/chess.com/assets/macchiato/b/bk.png deleted file mode 100644 index e6e85c7052..0000000000 --- a/styles/chess.com/assets/macchiato/b/bk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a12c706b54a3fdec1c9f1661cc4b468931ce1242f5146fb28d4b64f2b45ec38 -size 3625 diff --git a/styles/chess.com/assets/macchiato/b/bn.png b/styles/chess.com/assets/macchiato/b/bn.png deleted file mode 100644 index 4b34bed72a..0000000000 --- a/styles/chess.com/assets/macchiato/b/bn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:910235c34c6c1129913d49f4db98da4dcd8270b2cf9fb2b0e0d1987418ccd31b -size 3331 diff --git a/styles/chess.com/assets/macchiato/b/bp.png b/styles/chess.com/assets/macchiato/b/bp.png deleted file mode 100644 index 1b8175c097..0000000000 --- a/styles/chess.com/assets/macchiato/b/bp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6154621561dc85567d709324c19567e79216d1c246f32b84566f5a806e80032c -size 2712 diff --git a/styles/chess.com/assets/macchiato/b/bq.png b/styles/chess.com/assets/macchiato/b/bq.png deleted file mode 100644 index 796758dd56..0000000000 --- a/styles/chess.com/assets/macchiato/b/bq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6312d5cf3bf10c523f218d5915fbf9f04181277bc082c0b16827b7f42e370cc -size 4061 diff --git a/styles/chess.com/assets/macchiato/b/br.png b/styles/chess.com/assets/macchiato/b/br.png deleted file mode 100644 index e81c0c7ebd..0000000000 --- a/styles/chess.com/assets/macchiato/b/br.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:735e02cdcdab6bb23d55bfb605fe4b1db97d0bf72b6715f369c4c4c9927f4dce -size 2910 diff --git a/styles/chess.com/assets/macchiato/blue.png b/styles/chess.com/assets/macchiato/blue.png deleted file mode 100644 index 203baf0455..0000000000 --- a/styles/chess.com/assets/macchiato/blue.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:882a1da0f97cedfb67e2ce8331eac37b7446af65ea33da805ad21b7b04c39507 -size 28331 diff --git a/styles/chess.com/assets/macchiato/flamingo.png b/styles/chess.com/assets/macchiato/flamingo.png deleted file mode 100644 index 5f6fcc553c..0000000000 --- a/styles/chess.com/assets/macchiato/flamingo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99096e1e9afab14f467b30d98815a195706f59865d7f4bf8b7bece87701a92ba -size 28326 diff --git a/styles/chess.com/assets/macchiato/green.png b/styles/chess.com/assets/macchiato/green.png deleted file mode 100644 index 57da448182..0000000000 --- a/styles/chess.com/assets/macchiato/green.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9824dad577f74a8dc130aa5ecd766364c744c027e2e21558d678bb29c0c5c344 -size 28329 diff --git a/styles/chess.com/assets/macchiato/lavender.png b/styles/chess.com/assets/macchiato/lavender.png deleted file mode 100644 index 9c36c6f6ca..0000000000 --- a/styles/chess.com/assets/macchiato/lavender.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b2b04612ab5d5b9174065d17bd3068310eabf6b50fd49e090a9c0993b01bd03 -size 28323 diff --git a/styles/chess.com/assets/macchiato/maroon.png b/styles/chess.com/assets/macchiato/maroon.png deleted file mode 100644 index 0da5a30db6..0000000000 --- a/styles/chess.com/assets/macchiato/maroon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ba907de08dbfe055295ce3803ab9166344aa37a6b24dda03a13dcb29d9ba48a -size 28327 diff --git a/styles/chess.com/assets/macchiato/mauve.png b/styles/chess.com/assets/macchiato/mauve.png deleted file mode 100644 index a71d99989f..0000000000 --- a/styles/chess.com/assets/macchiato/mauve.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d8400e96674081f306be031b0468bed9d48e60658dd4646fd55d7b4098f5ff7 -size 28328 diff --git a/styles/chess.com/assets/macchiato/peach.png b/styles/chess.com/assets/macchiato/peach.png deleted file mode 100644 index b9c0db7d4c..0000000000 --- a/styles/chess.com/assets/macchiato/peach.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd4e18a1420f3a1a6e4aa41b61ecf4c1a3e18285d421b27bf73c23471f3d9650 -size 28324 diff --git a/styles/chess.com/assets/macchiato/pink.png b/styles/chess.com/assets/macchiato/pink.png deleted file mode 100644 index 700870b6f1..0000000000 --- a/styles/chess.com/assets/macchiato/pink.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:782c5382540a4095935b904bc4fef668abc86d394127c77c02bceb37f22a7488 -size 28330 diff --git a/styles/chess.com/assets/macchiato/red.png b/styles/chess.com/assets/macchiato/red.png deleted file mode 100644 index 957bb248bc..0000000000 --- a/styles/chess.com/assets/macchiato/red.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dabb6eea4369a95b9320599a9f1cefd468aa76a90ace6545a09ffe999f1dd290 -size 28300 diff --git a/styles/chess.com/assets/macchiato/rosewater.png b/styles/chess.com/assets/macchiato/rosewater.png deleted file mode 100644 index e4330a77a5..0000000000 --- a/styles/chess.com/assets/macchiato/rosewater.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d8cae8904603d138a1b9ae41fd591522573da955e47d51b66a735d3d554a858e -size 28328 diff --git a/styles/chess.com/assets/macchiato/sapphire.png b/styles/chess.com/assets/macchiato/sapphire.png deleted file mode 100644 index c2e4b3de65..0000000000 --- a/styles/chess.com/assets/macchiato/sapphire.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6af40b15fe2ef586f75caf4132f9453954f43ce9a3a82a7f55425c0822bdfe9 -size 28328 diff --git a/styles/chess.com/assets/macchiato/sky.png b/styles/chess.com/assets/macchiato/sky.png deleted file mode 100644 index e1640f91ef..0000000000 --- a/styles/chess.com/assets/macchiato/sky.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ddcd900760f9e40346bb9890dfb9a41fd2c458cb56047dbb9ca405206d8901b -size 28329 diff --git a/styles/chess.com/assets/macchiato/teal.png b/styles/chess.com/assets/macchiato/teal.png deleted file mode 100644 index 57650b32b7..0000000000 --- a/styles/chess.com/assets/macchiato/teal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:330f8e656244875cb73f4b447b0f54b8a5c533f61fe53a3d1a5f54e016055bae -size 28329 diff --git a/styles/chess.com/assets/macchiato/w/wb.png b/styles/chess.com/assets/macchiato/w/wb.png deleted file mode 100644 index fddf4fe5d9..0000000000 --- a/styles/chess.com/assets/macchiato/w/wb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d23feb659591d710a4f9307c059ccd7424b70fe1973252134bec603f066d94b -size 3103 diff --git a/styles/chess.com/assets/macchiato/w/wk.png b/styles/chess.com/assets/macchiato/w/wk.png deleted file mode 100644 index 7700bcb8ab..0000000000 --- a/styles/chess.com/assets/macchiato/w/wk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:207fa41c3d3d65a1a75ca317039c8bf709e89ef41116eba112da0eee9f8efee4 -size 3381 diff --git a/styles/chess.com/assets/macchiato/w/wn.png b/styles/chess.com/assets/macchiato/w/wn.png deleted file mode 100644 index 00f83d2550..0000000000 --- a/styles/chess.com/assets/macchiato/w/wn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e84ab3b5f682f8f0df1a64dc550819cab5099984e629dc7308815e276d38016 -size 3109 diff --git a/styles/chess.com/assets/macchiato/w/wp.png b/styles/chess.com/assets/macchiato/w/wp.png deleted file mode 100644 index 975621c372..0000000000 --- a/styles/chess.com/assets/macchiato/w/wp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3e0e7a9aaaea3defe695abbad862590b1cc2346fb5d965c608a5f1193a3513d -size 2277 diff --git a/styles/chess.com/assets/macchiato/w/wq.png b/styles/chess.com/assets/macchiato/w/wq.png deleted file mode 100644 index d4cd6d1267..0000000000 --- a/styles/chess.com/assets/macchiato/w/wq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24e8909e33fd3d6a5a74035cdbd6e2830ffca0a10a24a2a9db27539702dbcc76 -size 3893 diff --git a/styles/chess.com/assets/macchiato/w/wr.png b/styles/chess.com/assets/macchiato/w/wr.png deleted file mode 100644 index 2a2e61c72a..0000000000 --- a/styles/chess.com/assets/macchiato/w/wr.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f375ae2b0ac8948efa72240ccda234d0e5d52f2d51f79e341a216b8eccfb840f -size 2920 diff --git a/styles/chess.com/assets/macchiato/yellow.png b/styles/chess.com/assets/macchiato/yellow.png deleted file mode 100644 index 72eea1d7d7..0000000000 --- a/styles/chess.com/assets/macchiato/yellow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b6e7fa5803381e46a83f3bb80ed2e4dc9e5888f897b752d37637e4e9c9eb1fb -size 28330 diff --git a/styles/chess.com/assets/mocha/b/bb.png b/styles/chess.com/assets/mocha/b/bb.png deleted file mode 100644 index 735328c4ca..0000000000 --- a/styles/chess.com/assets/mocha/b/bb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2831d162d07b88ab8b4a83da15cec56a6ab0bf9a112ebe1da0e146db8be5390d -size 3249 diff --git a/styles/chess.com/assets/mocha/b/bk.png b/styles/chess.com/assets/mocha/b/bk.png deleted file mode 100644 index e9bf90f84c..0000000000 --- a/styles/chess.com/assets/mocha/b/bk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d5b4881bb20aa8094674717db5eb19169bf12770f8356df60f75dd566b04a65 -size 3651 diff --git a/styles/chess.com/assets/mocha/b/bn.png b/styles/chess.com/assets/mocha/b/bn.png deleted file mode 100644 index db2940a39b..0000000000 --- a/styles/chess.com/assets/mocha/b/bn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef8dd88ec0f18bbe5e37b35b81f39c13f3cb72a3f06fa673ea275e2ccac38f9e -size 3332 diff --git a/styles/chess.com/assets/mocha/b/bp.png b/styles/chess.com/assets/mocha/b/bp.png deleted file mode 100644 index 8aec3e73cc..0000000000 --- a/styles/chess.com/assets/mocha/b/bp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b217943ecada45d34a812b463fda20d8bd2c3039c8ad4de260b0295e07ea11e8 -size 2732 diff --git a/styles/chess.com/assets/mocha/b/bq.png b/styles/chess.com/assets/mocha/b/bq.png deleted file mode 100644 index f25209524c..0000000000 --- a/styles/chess.com/assets/mocha/b/bq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bd2568aa0e3f419798f7297deca1fb32af1e247f3cedd7ac2ef3daba0e1d6afa -size 4049 diff --git a/styles/chess.com/assets/mocha/b/br.png b/styles/chess.com/assets/mocha/b/br.png deleted file mode 100644 index 7e08e5387e..0000000000 --- a/styles/chess.com/assets/mocha/b/br.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:954ee8137f718d20b71cefa15f80b87369abd7e4b3a2ccba641d0a384ed9aec1 -size 2948 diff --git a/styles/chess.com/assets/mocha/blue.png b/styles/chess.com/assets/mocha/blue.png deleted file mode 100644 index 6b45737a79..0000000000 --- a/styles/chess.com/assets/mocha/blue.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de754c691fa5c5aca9dcce9d82fe6dad0093735d5a69865c4452c57850ae4231 -size 28321 diff --git a/styles/chess.com/assets/mocha/flamingo.png b/styles/chess.com/assets/mocha/flamingo.png deleted file mode 100644 index f6305e3e3a..0000000000 --- a/styles/chess.com/assets/mocha/flamingo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed48f0530ec0c5ac6304f0ede8acb501b8450e290ddeab6ce74faaa8af61bb9d -size 28321 diff --git a/styles/chess.com/assets/mocha/green.png b/styles/chess.com/assets/mocha/green.png deleted file mode 100644 index 357b0c6486..0000000000 --- a/styles/chess.com/assets/mocha/green.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c110eb389aad37123877e99286fb208ab4d7a8ff3bea885b38923a8f16bc88b1 -size 28326 diff --git a/styles/chess.com/assets/mocha/lavender.png b/styles/chess.com/assets/mocha/lavender.png deleted file mode 100644 index b0598284f2..0000000000 --- a/styles/chess.com/assets/mocha/lavender.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d11e2708e5fce0b548fab998a20f96aea74cdc4cba81689096ca690dd46da2be -size 28321 diff --git a/styles/chess.com/assets/mocha/maroon.png b/styles/chess.com/assets/mocha/maroon.png deleted file mode 100644 index 734f56fcfa..0000000000 --- a/styles/chess.com/assets/mocha/maroon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a605a9c185c742a1c19e37b7e66b6f4d2912fb04a9bcf7a8a4bd48bf2b59d70 -size 28315 diff --git a/styles/chess.com/assets/mocha/mauve.png b/styles/chess.com/assets/mocha/mauve.png deleted file mode 100644 index 73e16b2358..0000000000 --- a/styles/chess.com/assets/mocha/mauve.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e2f9eada62ace1cb353c249d7e1236e9a25494fd9dca33e0800b59989f4374c -size 28324 diff --git a/styles/chess.com/assets/mocha/peach.png b/styles/chess.com/assets/mocha/peach.png deleted file mode 100644 index 2b66690a43..0000000000 --- a/styles/chess.com/assets/mocha/peach.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dbfe09d04ad4bbf7a8a201fbb73209f5438d0c6c57135fe49815334420216ada -size 28326 diff --git a/styles/chess.com/assets/mocha/pink.png b/styles/chess.com/assets/mocha/pink.png deleted file mode 100644 index 8265135024..0000000000 --- a/styles/chess.com/assets/mocha/pink.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d1325d5a665d8e0f04959c3ce8469c17dba3cfd99b9f73c891166e0e4eabb7b9 -size 28325 diff --git a/styles/chess.com/assets/mocha/red.png b/styles/chess.com/assets/mocha/red.png deleted file mode 100644 index 405e42743c..0000000000 --- a/styles/chess.com/assets/mocha/red.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c389d64ededcf3a679dee3fcdca05f096d730d6c0df91374b0c28f78eea76e2d -size 28326 diff --git a/styles/chess.com/assets/mocha/rosewater.png b/styles/chess.com/assets/mocha/rosewater.png deleted file mode 100644 index a1935d9a80..0000000000 --- a/styles/chess.com/assets/mocha/rosewater.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78f3469bd33308b536f6ac3f1d2280a5400ffc9048c5894ff1a594d4cfe01317 -size 28324 diff --git a/styles/chess.com/assets/mocha/sapphire.png b/styles/chess.com/assets/mocha/sapphire.png deleted file mode 100644 index 1e9d2c3866..0000000000 --- a/styles/chess.com/assets/mocha/sapphire.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c1a40603467d4fe110e6d85a3dc5fd03440d0ea27314c6e1c274f856acd2b60a -size 28322 diff --git a/styles/chess.com/assets/mocha/sky.png b/styles/chess.com/assets/mocha/sky.png deleted file mode 100644 index 050053f101..0000000000 --- a/styles/chess.com/assets/mocha/sky.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f0a0f3b93bb5acb93546f324994752cb7b231ca467b4cb31ec385f177ed5ea5 -size 28322 diff --git a/styles/chess.com/assets/mocha/teal.png b/styles/chess.com/assets/mocha/teal.png deleted file mode 100644 index e5452485bd..0000000000 --- a/styles/chess.com/assets/mocha/teal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3417ff53ca7fe248c282d0417c926d45b2c905969f39f22aefd99579baad712f -size 28328 diff --git a/styles/chess.com/assets/mocha/w/wb.png b/styles/chess.com/assets/mocha/w/wb.png deleted file mode 100644 index ca720ff0d9..0000000000 --- a/styles/chess.com/assets/mocha/w/wb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92429827710931867431b9d8f82ad0b8711d9b9304c75d72a9c5b75ac7e9f974 -size 2969 diff --git a/styles/chess.com/assets/mocha/w/wk.png b/styles/chess.com/assets/mocha/w/wk.png deleted file mode 100644 index 3c0d94de16..0000000000 --- a/styles/chess.com/assets/mocha/w/wk.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20c47e09e59a1103ab2ca62026a9289297d88c9c1cba650ad1bb54a61f5ec075 -size 3379 diff --git a/styles/chess.com/assets/mocha/w/wn.png b/styles/chess.com/assets/mocha/w/wn.png deleted file mode 100644 index 98316aa1bf..0000000000 --- a/styles/chess.com/assets/mocha/w/wn.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e34de37a7b2edc99ec664e5e06f6da8086e3b6f16abb57ea7ac23a778d4e880 -size 2978 diff --git a/styles/chess.com/assets/mocha/w/wp.png b/styles/chess.com/assets/mocha/w/wp.png deleted file mode 100644 index 5a8ee28f51..0000000000 --- a/styles/chess.com/assets/mocha/w/wp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab0f9c41b2bd06a0428473a485313e21204e0695f6e6a8e2bc7bf86b3089bdd7 -size 2270 diff --git a/styles/chess.com/assets/mocha/w/wq.png b/styles/chess.com/assets/mocha/w/wq.png deleted file mode 100644 index 623d82f0c9..0000000000 --- a/styles/chess.com/assets/mocha/w/wq.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:129ecf923e8e932602f404fabd72914dd938c47b57f67975acf808c9d5231504 -size 3861 diff --git a/styles/chess.com/assets/mocha/w/wr.png b/styles/chess.com/assets/mocha/w/wr.png deleted file mode 100644 index 7975e239ac..0000000000 --- a/styles/chess.com/assets/mocha/w/wr.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f97b0ecc753e5318a61fb35b81e66d293f5f66e95f6ca16b72d1a47a8b98b12 -size 2753 diff --git a/styles/chess.com/assets/mocha/yellow.png b/styles/chess.com/assets/mocha/yellow.png deleted file mode 100644 index e9efbca861..0000000000 --- a/styles/chess.com/assets/mocha/yellow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fde045c037a5a7a08e585bab4fb4326cdd714811e44a6ec731d0dd45247ec1c1 -size 28323 diff --git a/styles/chess.com/catppuccin.user.css b/styles/chess.com/catppuccin.user.css deleted file mode 100644 index cd970465c6..0000000000 --- a/styles/chess.com/catppuccin.user.css +++ /dev/null @@ -1,469 +0,0 @@ -/* ==UserStyle== -@name Chess.com Catppuccin -@namespace github.com/catppuccin/userstyles/styles/chess.com -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chess.com -@version 0.1.5 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chess.com/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achess.com -@description Soothing pastel theme for Chess.com -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("chess.com") { - body { - #catppuccin(@lightFlavor, @accentColor); - } - - .dark-mode body { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, - @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - #piece(@piece) { - @url: url("https://media.githubusercontent.com/media/catppuccin/userstyles/main/styles/chess.com/assets/@{lookup}/@{piece}.png"); - } - - @bb: #piece("b/bb") []; - @bk: #piece("b/bk") []; - @bn: #piece("b/bn") []; - @bp: #piece("b/bp") []; - @bq: #piece("b/bq") []; - @br: #piece("b/br") []; - @wb: #piece("w/wb") []; - @wk: #piece("w/wk") []; - @wn: #piece("w/wn") []; - @wp: #piece("w/wp") []; - @wq: #piece("w/wq") []; - @wr: #piece("w/wr") []; - - --theme-background-color: @base !important; - --globalBackground: @mantle !important; - --globalBackgroundOpaque: @mantle !important; - --globalSecondaryBackground: @crust !important; - --globalTertiaryBackground: @surface0 !important; - --globalAccentBackground: @accent-color !important; - --globalSecondaryAccentBackground: darken(@accent-color, 20%) !important; - --globalSiteBackground: @base !important; - --subtleButtonBackground: hsla(0, 0%, 100%, 0.16); - --globalBorder: @surface0 !important; - --globalGray: hsla(0, 0%, 100%, 0.08); - --globalGraySoft: hsla(0, 0%, 100%, 0.08); - --globalColorThemeFull: @text !important; - --globalColorThemeHigh: @text; - --globalColorThemeMid: @overlay2 !important; - --globalColorThemeLow: @overlay0 !important; - --globalColorThemeLower: @base !important; - --globalColorThemeLink: @sapphire !important; - --globalColorThemeBlueToWhite: #fff; - --globalColorThemeBlueToMid: hsla(0, 0%, 100%, 0.72); - --globalColorThemeBlueToMidHover: hsla(0, 0%, 100%, 0.85); - --globalColorThemeBlueToHigh: hsla(0, 0%, 100%, 0.85); - --globalColorThemeBlueToHighHover: #fff; - --globalColorThemeHighToMid: hsla(0, 0%, 100%, 0.72); - --globalColorThemeFullToMid: hsla(0, 0%, 100%, 0.72); - --globalColorNeutral50: rgba(0, 0, 0, 0.1); - --globalColorNeutral100: rgba(0, 0, 0, 0.2); - --globalColorNeutral200: rgba(0, 0, 0, 0.4); - --globalOverlayBackground: @base !important; - --globalColorWin: @green !important; - --globalColorDraw: @accent-color !important; - --globalColorLoss: @red !important; - - /* index page */ - .promo-title, - .index-title { - color: @text !important; - } - - .play-quick-links-title, - .promo-rank, - .v5-header-name, - .promo-subtitle, - #tb .toolbar-action-icon { - color: @text; - } - - .home-username-link { - color: @accent-color; - } - - .index-info-item-counter { - color: @text !important; - } - - .index-info-item { - color: @subtext0 !important; - } - - .index-quote-author .index-chess-title { - background: @accent-color !important; - color: @crust !important; - } - - .authentication-intro-levels { - --labelBackground: @surface0 !important; - --labelBackgroundHover: @surface1 !important; - - .authentication-intro-level-v5.authentication-intro-selected { - border-color: @accent-color !important; - } - } - - /* ui */ - .user-username-component { - color: @text; - } - - .user-tagline-rating.user-tagline-white { - color: @overlay1; - } - - .nav-link-text { - color: @text !important; - } - .nav-menu-area:last-of-type .icon-font-chess { - color: @mantle !important; - } - #sb .nav-popover.dark .btn-link { - color: @text; - } - #sb .nav-menu-area:last-of-type .icon-font-chess { - color: @text !important; - } - .nav-link-main-design:hover, - .nav-link-main-link:hover { - color: darken(@text, 20%) !important; - } - .nav-link-main-design, - .nav-link-main-link { - color: @text !important; - } - .ui_v5-button-component { - --boxShadow: none; - --boxShadowHover: none; - - box-shadow: none; - - &.ui_v5-button-basic { - --basicColor: @text !important; - --basicHoverColor: @text !important; - --basicBgColor: @surface1 !important; - --basicBghover: @surface2 !important; - --borderColor: @surface0 !important; - } - - &.ui_v5-button-primary { - color: @crust !important; - background-color: @accent-color !important; - --borderColor: darken(@accent-color, 20%) !important; - - &:hover { - --secondaryBorderColor: fadeout(@accent-color, 20%) !important; - box-shadow: none; - } - } - } - - .ui_v5-select-component { - &:not(.ui_v5-select-light), - &.ui_v5-select-dark { - background: @base; - } - } - - .ui_v5-input-component { - background: @base; - } - - .ui_v5-input-dark { - --secondaryTextColor: @subtext0; - } - - .ui_v5-switch-checkbox:not(.ui_v5-switch-readonly):checked - + .ui_v5-switch-label { - background: @green; - } - - .nav-panel-shade { - background: @mantle; - } - - .nav-popover.dark { - background: @mantle; - } - - .nav-section-header-component { - background: @base; - } - - #sb .nav-action.has-popover + .nav-popover { - background: @mantle; - } - - .popover-friends-header { - background: @mantle; - } - - .popover-friends-content { - background: @mantle; - } - - .popover-messages-header { - background: @mantle; - } - - .popover-messages-content { - background: @mantle; - } - - .popover-settings-header { - background: @mantle; - } - - .popover-settings-content { - background: @mantle; - } - - .selector-button-button { - background: @surface0; - - &:hover { - background: @surface1; - } - } - - .time-selector-button-button { - background: @surface0; - - &:hover { - background: @surface1; - } - } - - .clock-component.clock-black { - background: @surface0; - } - - .clock-component.clock-white { - background: @text; - } - - .highlight { - background: @peach !important; - } - - .hint { - background-color: @overlay1; - filter: drop-shadow(0 0 1px @crust); - } - - .capture-hint { - background-color: @overlay1; - filter: drop-shadow(0 0 1px @crust); - z-index: -1; - } - - .modal-game-over-header-grey { - background-color: @base; - } - - .modal-content-component.modal-content-light { - background-color: @base; - } - - .modal-game-over-user-winner-active { - border-color: @lavender; - } - - .modal-game-over-user-crown { - background: @lavender; - } - - .placeholder-ad-upgrade { - background-color: @accent-color; - } - - .placeholder-ad-link { - color: @crust; - } - - div.mode-selection-button-selected > .mode-selection-button-description { - color: @surface1; - } - - div.mode-selection-button-selected > .mode-selection-button-mode { - color: @mantle; - } - - /* crowns */ - img.crowns-full-crown { - /* this selects the crown, but tbh its not easy to rotate-hue an svg to an exact color. we might make more svgs for the crowns? */ - } - - /* Board */ - .board { - background-image: url("https://media.githubusercontent.com/media/catppuccin/userstyles/main/styles/chess.com/assets/@{lookup}/@{accent}.png") !important; - } - - .game-preview-legacy-component { - background-image: url("https://media.githubusercontent.com/media/catppuccin/userstyles/main/styles/chess.com/assets/@{lookup}/@{accent}.png") !important; - } - - /* Black Pieces */ - .piece.bp { - background-image: @bp !important; - } - - .piece.bn { - background-image: @bn !important; - } - - .piece.bb { - background-image: @bb !important; - } - - .piece.br { - background-image: @br !important; - } - - .piece.bk { - background-image: @bk !important; - } - - .piece.bq { - background-image: @bq !important; - } - - /* -- Previews */ - .game-preview-legacy-piece[alt="bb"] { - content: @bb !important; - } - - .game-preview-legacy-piece[alt="bk"] { - content: @bk !important; - } - - .game-preview-legacy-piece[alt="bn"] { - content: @bn !important; - } - - .game-preview-legacy-piece[alt="bp"] { - content: @bp !important; - } - - .game-preview-legacy-piece[alt="bq"] { - content: @bq !important; - } - - .game-preview-legacy-piece[alt="br"] { - content: @br !important; - } - - .game-preview-legacy-piece[alt="wb"] { - content: @wb !important; - } - - .game-preview-legacy-piece[alt="wk"] { - content: @wk !important; - } - - .game-preview-legacy-piece[alt="wn"] { - content: @wn !important; - } - - .game-preview-legacy-piece[alt="wp"] { - content: @wp !important; - } - - .game-preview-legacy-piece[alt="wq"] { - content: @wq !important; - } - - .game-preview-legacy-piece[alt="wr"] { - content: @wr !important; - } - - /* White Pieces */ - .piece.wp { - background-image: @wp !important; - } - - .piece.wn { - background-image: @wn !important; - } - - .piece.wb { - background-image: @wb !important; - } - - .piece.wr { - background-image: @wr !important; - } - - .piece.wk { - background-image: @wk !important; - } - - .piece.wq { - background-image: @wq !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/chess.com/catppuccin.user.less b/styles/chess.com/catppuccin.user.less new file mode 100644 index 0000000000..e4b47d4a8e --- /dev/null +++ b/styles/chess.com/catppuccin.user.less @@ -0,0 +1,740 @@ +/* ==UserStyle== +@name Chess.com Catppuccin +@namespace github.com/catppuccin/userstyles/styles/chess.com +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/chess.com +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/chess.com/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Achess.com +@description Soothing pastel theme for Chess.com +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var select highlightColor1 "Highlight 1" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var select highlightColor2 "Highlight 2" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green*", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var select highlightColor3 "Highlight 3" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach*", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var select highlightColor4 "Highlight 4" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue*", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var checkbox styleBoardAndPieces "Style Board & Pieces" 1 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("chess.com") { + .light-mode { + #catppuccin(@lightFlavor); + } + + .dark-mode { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @highlight1: @catppuccin[@@flavor][@@highlightColor1]; + @highlight2: @catppuccin[@@flavor][@@highlightColor2]; + @highlight3: @catppuccin[@@flavor][@@highlightColor3]; + @highlight4: @catppuccin[@@flavor][@@highlightColor4]; + + --color-bg-opaque: @mantle; + --color-bg-opaque-lighter: @base; + --color-bg-subtle: @surface1; + --color-bg-subtler: @surface0; + --color-bg-input: @mantle; + --color-bg-speech: @surface0; + --color-bg-secondary: @surface0; + --color-bg-tertiary: @surface1; + --color-bg-quaternary: @surface2; + --color-gray-100: @overlay1; + --color-text-speech: @text; + + --color-icon-default: @subtext0; + --color-icon-default-hovered: @subtext1; + --color-icon-bolder: @subtext1; + --color-icon-boldest: @text; + + --color-text-boldest: @text; + --color-text-bolder: @text; + --color-text-default: @text; + --color-text-default-hovered: @subtext1; + --color-text-subtle: @subtext1; + --color-text-placeholder: @subtext0; + --color-text-inverse: @crust; + --color-text-link: @blue; + --color-text-link-hovered: @sky; + + --color-border-default: @surface1; + --color-border-subtle: @overlay2; + --color-border-selected: @accent; + + --color-green-200: lighten(@accent, 5%); + --color-green-300: @accent; + --color-green-400: darken(@accent, 5%); + + --color-red-300: @red; /* Danger */ + --color-red-400: @red; /* Danger */ + + /* Links */ + --color-blue-200: @sapphire; + --color-blue-300: @sky; + --color-blue-400: @blue; + + --color-classification-blunder: @red; + --color-classification-miss: @maroon; + --color-classification-mistake: @peach; + --color-classification-inaccuracy: @yellow; + --color-classification-best: @green; + --color-classification-excellent: @green; + --color-classification-good: @teal; + --color-classification-great: @blue; + --color-classification-brilliant: @sapphire; + --color-classification-book: @rosewater; + + --color-icon-win: @green; + --color-text-win: @green; + --color-icon-draw: @subtext0; + --color-text-draw: @subtext0; + --color-bg-draw: @subtext0; + --color-border-draw: var(--color-transparent-white-10); + --color-icon-loss: @red; + --color-text-loss: @red; + --color-border-loss: @red; + + --color-icon-bullet: @peach; + --color-icon-blitz: @yellow; + + body { + --theme-background-color: @base !important; + --theme-background-image: none; + + --globalBackground: @mantle !important; + --globalBackgroundOpaque: @mantle !important; + --globalSecondaryBackground: @crust !important; + --globalTertiaryBackground: @surface0 !important; + --globalAccentBackground: @accent !important; + --globalSecondaryAccentBackground: @surface0 !important; + --globalSiteBackground: @base !important; + --globalBorder: @surface0 !important; + --globalColorThemeFull: @text !important; + --globalColorThemeHigh: @text; + --globalColorThemeMid: @overlay2 !important; + --globalColorThemeLow: @overlay0 !important; + --globalColorThemeLower: @base !important; + --globalColorThemeLink: @sapphire !important; + --globalColorThemeBlueToMid: @text; + --globalOverlayBackground: @base !important; + --globalColorWin: @green !important; + --globalColorDraw: @accent !important; + --globalColorLoss: @red !important; + + --labelBgColor: @surface1; + --activeLabelColor: @accent; + --buttonBgColor: @text; + + --nodeColor: @text; + --nodeBackground: @yellow; + } + + /* Home page */ + .index-title, + .index-info-item-counter { + color: @text !important; + } + .index-info-item { + color: @subtext0 !important; + } + .index-suggestion-title, + .index-posts-title, + .index-post-name { + color: @text; + } + .index-quote-author, + .index-quote-body, + .index-post-author { + color: @subtext1; + } + + .promo-title, + .promo-rank { + color: @text; + } + .promo-subtitle { + color: @subtext1; + } + + .home-username-link { + color: @text; + } + + /* Lessons page */ + .level-title { + color: @text; + } + .level-desc, + .course-header-description strong { + color: @subtext1; + } + + .lessons-search-filter { + .form-dropdown-chevron, + .form-dropdown-control-label, + .form-dropdown-value { + color: @subtext1; + } + } + + /* Play lesson video */ + .lesson-status { + background-color: @text; + } + + /* More page */ + .landing-header { + color: @text; + } + + /* UI */ + .v5-title-label { + color: @text; + } + .v5-tabs-list, + .v5-tabs-list-dark { + --borderColor: @surface2; + --tabTitleColor: @subtext0; + --tabHoverTitleColor: @subtext1; + --tabSelectedBorderColor: @subtext1; + --tabSelectedTitleColor: @text; + } + .ui_v5-input-component { + --borderColor: @surface0; + --borderFocus: @surface1; + --bgColor: @base; + --textColor: @text; + --secondaryTextColor: @subtext1; + } + .ui_v5-input-group-component { + --inputIconColor: @subtext0; + } + .ui_v5-button-component { + --boxShadow: none; + --boxShadowHover: none; + box-shadow: none; + + &.ui_v5-button-basic { + --basicColor: @text !important; + --basicHoverColor: @text !important; + --basicBgColor: @surface1 !important; + --basicBghover: @surface2 !important; + --borderColor: @surface0 !important; + } + + &.ui_v5-button-primary { + color: @crust !important; + background-color: @accent; + + &:hover { + background-color: darken(@accent, 5%); + box-shadow: none; + } + } + } + .ui_v5-select-component { + --borderColor: @surface0; + --borderFocus: @surface1; + --bgColor: @base; + --textColor: @text; + --arrowColor: @subtext0; + } + + .ui_pagination-item-component { + --paginationColor: @text; + --paginationBgColor: @surface1; + --paginationBgHover: @surface2; + --paginationColorMuted: @base; + --paginationBgColorMuted: @overlay1; + } + + .nav-link-text { + color: @text !important; + } + .nav-menu-area:last-of-type .icon-font-chess { + color: @mantle !important; + } + .nav-link-main-design, + .nav-link-main-link { + color: @text !important; + + &:hover { + color: @subtext1 !important; + } + } + + #tb { + .toolbar-action-icon { + color: @subtext1; + } + + .toolbar-action-wrapper:hover .toolbar-action-icon { + color: @text !important; + } + } + + #sb { + color: @subtext0; + + &.open { + background-color: @mantle; + } + + .nav-action:hover { + background-color: @surface0; + color: @text; + } + + .nav-panel-shade, + .nav-panel-theme-bg, + .nav-action.has-popover + .nav-popover { + background: @mantle !important; + } + + .nav-popover.dark .btn-link { + color: @text; + } + .nav-menu-area:last-of-type { + color: @text !important; + } + .nav-popover.nav-search { + --search-bg-color: @surface0; + } + } + + .nav-popover.dark { + background: @mantle; + } + + .section-heading-component .back-link-component { + color: currentcolor; + } + .section-heading-black { + background-color: @surface1; + color: @text; + } + .nav-section-header-component { + background-color: @base; + color: @text; + } + + .popover-friends-header, + .popover-friends-content, + .popover-messages-header, + .popover-messages-content, + .popover-settings-header, + .popover-settings-content { + background: @mantle; + } + + /* Buttons */ + + .selector-button-button, + .time-selector-button-button { + background: @surface0; + + &:hover { + background: @surface1; + } + } + + .cc-switch-checkbox:not(.cc-switch-readonly):checked + + .cc-switch-label + .cc-switch-button { + background-color: @surface1; + } + + .cc-button-component, + .cc-button-primary { + --bgColor: @accent; + --bgColorHover: darken(@accent, 5%); + --textColor: @crust; + --textColorHover: @crust; + box-shadow: none; + } + + .cc-button-primary, + .cc-button-monetization { + --borderBottomLine: darken(@accent, 2%); + --borderBottomLineHover: darken(@accent, 4%); + } + + .cc-button-secondary { + --bgColor: @surface0; + --bgColorHover: darken(@surface0, 5%); + --iconColor: @text; + --iconColorHover: @text; + --textColor: @text; + --textColorHover: @text; + } + + .cc-button-danger { + --bgColor: @red; + --bgColorHover: darken(@red, 5%); + color: @crust; + } + + .v5-section-shadow, + .v5-section-shadow-hover { + --linkHoverBackground: @surface1; + --linkBoxShadow: 0 0.5rem 0 0 @surface2; + } + + /* Game */ + + .user-username-component, + .cc-user-username-white, + .cc-user-rating-white { + color: @text; + text-shadow: none; + } + + .user-tagline-rating.user-tagline-white { + color: @overlay1; + } + + .clock-component.clock-black { + background: @surface0; + } + .clock-component.clock-white { + background: @text; + } + + .highlight { + &[style*="rgb(235, 97, 80)"] { + background: fade(@highlight1, 80%) !important; + } + &[style*="rgb(172, 206, 89)"] { + background: fade(@highlight2, 80%) !important; + } + &[style*="rgb(255, 170, 0)"] { + background: fade(@highlight3, 80%) !important; + } + &[style*="rgb(82, 176, 220)"] { + background: fade(@highlight4, 80%) !important; + } + opacity: 1 !important; + } + .hover-square rect { + stroke: @overlay1 !important; + } + .hint { + background-color: @overlay1; + filter: drop-shadow(0 0 1px @crust); + } + .capture-hint { + background-color: @overlay1; + filter: drop-shadow(0 0 1px @crust); + z-index: -1; + } + + /* Review/evaluation */ + + .evaluation-bar-bar { + .evaluation-bar-black { + background-color: @surface2; + } + .evaluation-bar-draw { + background-color: @overlay1; + } + .evaluation-bar-white { + background-color: @text; + } + } + + .review-rating-white { + background-color: @text; + } + .review-rating-black { + background-color: @surface0; + color: @text; + } + + .overview-view-new-game-button { + background-color: @surface1; + } + + .arrow { + &[style*="rgba(248, 85, 63, 0.8)"] { + fill: @highlight1 !important; + } + &[style*="rgba(159, 207, 63, 0.8)"] { + fill: @highlight2 !important; + } + &[style*="rgba(255, 170, 0, 0.8)"] { + fill: @highlight3 !important; + } + &[style*="rgba(72, 193, 249, 0.8)"] { + fill: @highlight4 !important; + } + } + + g#winner [fill="#dbac16"] { + fill: @yellow !important; + } + + /* Game over */ + + .modal-game-over-header-grey, + .modal-game-over-header-black-win, + .game-over-header-component { + background-color: @base; + color: @text; + } + + .modal-game-over-user-winner-active, + .modal-game-over-user-crown { + background: @lavender; + } + + .game-over-review-button-label { + color: @crust; + text-shadow: none; + } + + /* Ads */ + + .placeholder-ad-upgrade { + background-color: @accent; + } + .placeholder-ad-link { + color: @crust; + } + + .modal-trial-component.modal-trial-special-offer { + .modal-trial-header-background { + background-color: @accent; + } + } + + .coach-nudges-modal-component { + background: @mantle; + } + + .ready-to-play-banner-component { + background-color: @mantle; + + .ready-to-play-banner-title, + .ready-to-play-banner-list { + color: @text; + } + } + + .notifications-links-trial .nav-link-text { + color: @crust !important; + } + + /* Misc */ + + /* GM/IM/etc badge */ + --color-bg-chesstitle: @accent; + .course-author-title, + .course-header-author-title, + .form-dropdown-short-title, + .index-chess-title, + .leaderboard-index-chess-title, + .player-header-title, + .category-headline-chess-title { + color: @crust !important; + } + + .tooltip-body { + background: @surface0; + color: @text; + + &::after { + border-top-color: @surface0 !important; + } + } + .popup-component { + background-color: @surface0; + color: @text; + &.popup-left .popup-arrow { + border-left-color: @surface0; + } + &.popup-right .popup-arrow { + border-right-color: @surface0; + } + } + + /* Error banner */ + .alerts-alert { + color: @crust; + } + + div.mode-selection-button-selected { + > .mode-selection-button-description { + color: @surface1; + } + + > .mode-selection-button-mode { + color: @mantle; + } + } + + .status-component { + background-color: @accent; + color: @crust; + } + + .navigation-footer-page-component, + .navigation-footer-platform-icon { + color: @subtext1; + text-shadow: none; + } + + .download-button-button { + color: @crust !important; + } + + .table-hover tbody tr:hover { + background-color: @surface2; + } + + /* Board */ + @light-cell: @catppuccin[@mocha][@text]; + @dark-cell: @catppuccin[@mocha][@@accentColor]; + + @board: escape( + '' + ); + + & when (@styleBoardAndPieces = 1) { + #board-play-computer, + .board.theme-selector-preview-board, + .fade-in-overlay { + background-image: url("data:image/svg+xml,@{board}") !important; + } + + /* Coordinates - Inside */ + .coordinate-light { + fill: @dark-cell; + } + .coordinate-dark { + fill: @light-cell; + } + /* Coordinates - Outside */ + .coordinate-grey { + fill: @subtext0; + } + } + + #piece(@piece, @type) { + @border: @catppuccin[@mocha][@base]; + @darkest: if( + @type = black, + @catppuccin[@mocha][@base], + @catppuccin[@mocha][@text] + ); + @darker: if( + @type = black, + @catppuccin[@mocha][@surface0], + @catppuccin[@mocha][@subtext1] + ); + @main: if( + @type = black, + @catppuccin[@mocha][@surface1], + @catppuccin[@mocha][@subtext0] + ); + @lighter: if( + @type = black, + @catppuccin[@mocha][@surface2], + @catppuccin[@mocha][@overlay2] + ); + @lightest: if( + @type = black, + @catppuccin[@mocha][@overlay0], + @catppuccin[@mocha][@overlay1] + ); + + @bishop: ''; + @king: ''; + @knight: ''; + @rook: ''; + @pawn: ''; + @queen: ''; + + @svg: escape(@@piece); + @result: url("data:image/svg+xml,@{svg}"); + } + + .board-popover-component { + background-color: @surface0; + } + + & when (@styleBoardAndPieces = 1) { + --theme-board-style-image: url("data:image/svg+xml,@{board}"); + --theme-board-style-highlight-color: @highlight1; + + --theme-piece-set-wp: #piece(pawn, white)[]; + --theme-piece-set-wn: #piece(knight, white)[]; + --theme-piece-set-wr: #piece(rook, white)[]; + --theme-piece-set-wb: #piece(bishop, white)[]; + --theme-piece-set-wq: #piece(queen, white)[]; + --theme-piece-set-wk: #piece(king, white)[]; + --theme-piece-set-bp: #piece(pawn, black)[]; + --theme-piece-set-bn: #piece(knight, black)[]; + --theme-piece-set-bb: #piece(bishop, black)[]; + --theme-piece-set-br: #piece(rook, black)[]; + --theme-piece-set-bq: #piece(queen, black)[]; + --theme-piece-set-bk: #piece(king, black)[]; + + .piece { + /* Black */ + &.bp { + background-image: #piece(pawn, black)[] !important; + } + &.bn { + background-image: #piece(knight, black)[] !important; + } + &.bb { + background-image: #piece(bishop, black)[] !important; + } + &.br { + background-image: #piece(rook, black)[] !important; + } + &.bk { + background-image: #piece(king, black)[] !important; + } + &.bq { + background-image: #piece(queen, black)[] !important; + } + + /* White */ + &.wp { + background-image: #piece(pawn, white)[] !important; + } + &.wn { + background-image: #piece(knight, white)[] !important; + } + &.wb { + background-image: #piece(bishop, white)[] !important; + } + &.wr { + background-image: #piece(rook, white)[] !important; + } + &.wk { + background-image: #piece(king, white)[] !important; + } + &.wq { + background-image: #piece(queen, white)[] !important; + } + } + } + + .chessboard-pkg-move-list-component .dark-row { + background-color: @surface1; + } + } +} diff --git a/styles/chess.com/preview.webp b/styles/chess.com/preview.webp deleted file mode 100644 index 7618bb8906..0000000000 --- a/styles/chess.com/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:222cc0947504de46fe00a085110efc78f6fa53ce9b44789765ca3947802b3f45 -size 150756 diff --git a/styles/chess.com/scripts/generate/generate/__init__.py b/styles/chess.com/scripts/generate/generate/__init__.py deleted file mode 100644 index 9226cc7dd4..0000000000 --- a/styles/chess.com/scripts/generate/generate/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -from catppuccin import PALETTE -from boardinator.boardinator import replace_colors - - -def generate_boards(): - for flavor in PALETTE: - for color in flavor.colors: - if not color.accent: - continue - color_dict = { - # Light grayish yellow green - (237, 238, 209): ( - flavor.colors.base.rgb.r, - flavor.colors.base.rgb.g, - flavor.colors.base.rgb.b, - ), - # Dark grayish yellow green - (119, 153, 82): ( - color.rgb.r, - color.rgb.g, - color.rgb.b, - ), - } - replace_colors( - image_path="../../assets/base/colorboard.png", - output_path=f"../../assets/{flavor.identifier}/{color.identifier}.png", - color_dict=color_dict, - ) diff --git a/styles/chess.com/scripts/generate/poetry.lock b/styles/chess.com/scripts/generate/poetry.lock deleted file mode 100644 index 420bb3ceca..0000000000 --- a/styles/chess.com/scripts/generate/poetry.lock +++ /dev/null @@ -1,385 +0,0 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. - -[[package]] -name = "astroid" -version = "3.2.2" -description = "An abstract syntax tree for Python with inference support." -category = "dev" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "astroid-3.2.2-py3-none-any.whl", hash = "sha256:e8a0083b4bb28fcffb6207a3bfc9e5d0a68be951dd7e336d5dcf639c682388c0"}, - {file = "astroid-3.2.2.tar.gz", hash = "sha256:8ead48e31b92b2e217b6c9733a21afafe479d52d6e164dd25fb1a770c7c3cf94"}, -] - -[[package]] -name = "black" -version = "24.4.2" -description = "The uncompromising code formatter." -category = "dev" -optional = false -python-versions = ">=3.8" -files = [ - {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, - {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, - {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, - {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, - {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, - {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, - {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, - {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, - {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, - {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, - {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, - {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, - {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, - {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, - {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, - {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, - {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, - {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, - {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, - {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, - {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, - {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -packaging = ">=22.0" -pathspec = ">=0.9.0" -platformdirs = ">=2" - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "boardinator" -version = "0.1.0" -description = "A tool made to generate custom Chess.com boards from the terminal." -category = "main" -optional = false -python-versions = ">=3.11,<4.0" -files = [ - {file = "boardinator-0.1.0-py3-none-any.whl", hash = "sha256:acf2446fed7ddbdb0e8c5834724137e50e7e2bc687ce95b7e27bd44373ce8344"}, - {file = "boardinator-0.1.0.tar.gz", hash = "sha256:617eb1217dea8f858e85481d0d15e79d8855c4e99843babc97f1024e593d7f5f"}, -] - -[package.dependencies] -numpy = ">=1.24.3,<2.0.0" -pillow = ">=9.5.0,<10.0.0" - -[[package]] -name = "catppuccin" -version = "2.3.0" -description = "๐Ÿ Soothing pastel theme for Python." -category = "main" -optional = false -python-versions = "<4.0.0,>=3.9.0" -files = [ - {file = "catppuccin-2.3.0-py3-none-any.whl", hash = "sha256:cab824094309b5c638bc269d9bb23e3ec7bd76c8ba890d01545f3710b0ad5110"}, - {file = "catppuccin-2.3.0.tar.gz", hash = "sha256:a8bbcde3b1f661d70509ebdb526ebc95b073899f2c7700b104d9c0fbb0407a24"}, -] - -[package.extras] -gh-pages = ["tinycss2 (>=1.2.1,<2.0.0)"] -matplotlib = ["matplotlib (>=3.8.4,<4.0.0)"] -pygments = ["pygments (>=2.17.2,<3.0.0)"] -rich = ["rich (>=13.7.0,<14.0.0)"] - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -category = "dev" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -category = "dev" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "dill" -version = "0.3.8" -description = "serialize all of Python" -category = "dev" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -category = "dev" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -category = "dev" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" -optional = false -python-versions = ">=3.5" -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "numpy" -version = "1.26.4" -description = "Fundamental package for array computing in Python" -category = "main" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, - {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, - {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, - {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, - {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, - {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, - {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, - {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, - {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, - {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, -] - -[[package]] -name = "packaging" -version = "23.2" -description = "Core utilities for Python packages" -category = "dev" -optional = false -python-versions = ">=3.7" -files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, -] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "pillow" -version = "9.5.0" -description = "Python Imaging Library (Fork)" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"}, - {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"}, - {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"}, - {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"}, - {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"}, - {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"}, - {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"}, - {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"}, - {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"}, - {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"}, - {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"}, - {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"}, - {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"}, - {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"}, - {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"}, - {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"}, - {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"}, - {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"}, - {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"}, - {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"}, - {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"}, - {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"}, - {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"}, - {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"}, - {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"}, - {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"}, - {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"}, - {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"}, - {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"}, - {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"}, - {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "platformdirs" -version = "4.2.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, - {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] - -[[package]] -name = "pylint" -version = "3.2.5" -description = "python code static checker" -category = "dev" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "pylint-3.2.5-py3-none-any.whl", hash = "sha256:32cd6c042b5004b8e857d727708720c54a676d1e22917cf1a2df9b4d4868abd6"}, - {file = "pylint-3.2.5.tar.gz", hash = "sha256:e9b7171e242dcc6ebd0aaa7540481d1a72860748a0a7816b8fe6cf6c80a6fe7e"}, -] - -[package.dependencies] -astroid = ">=3.2.2,<=3.3.0-dev0" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = [ - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, - {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, -] -isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomlkit = ">=0.10.1" - -[package.extras] -spelling = ["pyenchant (>=3.2,<4.0)"] -testutils = ["gitpython (>3)"] - -[[package]] -name = "tomlkit" -version = "0.12.4" -description = "Style preserving TOML library" -category = "dev" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"}, - {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"}, -] - -[metadata] -lock-version = "2.0" -python-versions = "^3.11" -content-hash = "69ff73f6a71dd44452d7dc7bbb3b7f3c4cf9b7375f45a9ed539fba519c3fa290" diff --git a/styles/chess.com/scripts/generate/pyproject.toml b/styles/chess.com/scripts/generate/pyproject.toml deleted file mode 100644 index bc6c4c7180..0000000000 --- a/styles/chess.com/scripts/generate/pyproject.toml +++ /dev/null @@ -1,22 +0,0 @@ -[tool.poetry] -name = "generate" -version = "0.1.0" -description = "Generate the board images for Chess.com Catppuccin." -authors = ["Catppuccin"] - -[tool.poetry.scripts] -gen = "generate:generate_boards" - -[tool.poetry.dependencies] -python = "^3.11" -boardinator = "^0.1.0" -catppuccin = "^2.1.0" - -[tool.poetry.group.dev.dependencies] -isort = "^5.13.2" -black = "^24.2.0" -pylint = "^3.1.0" - -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" diff --git a/styles/cinny/README.md b/styles/cinny/README.md index 32c4aa69e0..f1d14d34d9 100644 --- a/styles/cinny/README.md +++ b/styles/cinny/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Sena](https://github.com/jn-sena) +- [jn-sena](https://github.com/jn-sena)   diff --git a/styles/cinny/catppuccin.user.css b/styles/cinny/catppuccin.user.less similarity index 55% rename from styles/cinny/catppuccin.user.css rename to styles/cinny/catppuccin.user.less index 2b65eb4143..fe025d7165 100644 --- a/styles/cinny/catppuccin.user.css +++ b/styles/cinny/catppuccin.user.less @@ -2,8 +2,8 @@ @name Cinny Catppuccin @namespace github.com/catppuccin/userstyles/styles/cinny @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/cinny -@version 2.3.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/cinny/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/cinny/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acinny @description Soothing pastel theme for Cinny @author Catppuccin @@ -15,120 +15,30 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain("cinny.in") { - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } +@-moz-document domain("cinny.in") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + code .token { + opacity: 1 !important; + } - /* Backgrounds */ - --bg-surface: @base; - --bg-surface-transparent: fade(@base, 0%); - --bg-surface-low: @mantle; - --bg-surface-low-transparent: fade(@mantle, 0%); - --bg-surface-extra-low: @crust; - --bg-surface-extra-low-transparent: fade(@crust, 0%); - --bg-surface-border: fade(@crust, 20%); - --bg-surface-hover: @surface0; - --bg-surface-active: @surface1; - --bg-overlay: fade(@crust, 60%); - --bg-overlay-low: fade(@crust, 80%); - --bg-primary: @accent-color; - --bg-primary-hover: fade(@accent-color, 80%); - --bg-primary-active: fade(@accent-color, 70%); - --bg-primary-border: fade(@accent-color, 38%); - --bg-tooltip: @surface0; - --bg-badge: @lavender; - --bg-positive: @green; - --bg-positive-hover: fade(@green, 8%); - --bg-positive-active: fade(@green, 15%); - --bg-positive-border: fade(@green, 40%); - --bg-caution: @peach; - --bg-caution-hover: fade(@peach, 8%); - --bg-caution-active: fade(@peach, 15%); - --bg-caution-border: fade(@peach, 40%); - --bg-danger: @maroon; - --bg-danger-hover: fade(@maroon, 5%); - --bg-danger-active: fade(@maroon, 10%); - --bg-danger-border: fade(@maroon, 20%); - --bg-ping: fade(@green, 40%); - --bg-ping-hover: fade(@green, 50%); + :root, + .silver-theme { + #catppuccin(@lightFlavor); + } - /* Texts */ - --tc-surface-high: @text; - --tc-surface-normal: @text; - --tc-surface-normal-low: @subtext1; - --tc-surface-low: @subtext0; - --tc-primary-high: @crust; - --tc-primary-normal: @text; - --tc-primary-low: @subtext1; - --tc-tooltip: @subtext0; - --tc-code: @mauve; - --tc-link: @rosewater; - --tc-badge: @crust; - --tc-positive-high: @green; - --tc-positive-normal: @green; - --tc-positive-low: @green; - --tc-caution-high: @peach; - --tc-caution-normal: @peach; - --tc-caution-low: @peach; - --tc-danger-high: @maroon; - --tc-danger-normal: @maroon; - --tc-danger-low: @maroon; + .dark-theme, + .butter-theme { + #catppuccin(@darkFlavor); + } - /* Icons */ - --ic-surface-high: @text; - --ic-surface-normal: @text; - --ic-surface-low: @subtext1; - --ic-primary-high: @crust; - --ic-primary-normal: @crust; - --ic-primary-low: @crust; - --ic-positive-high: @green; - --ic-positive-normal: @maroon; - --ic-caution-high: @peach; - --ic-caution-normal: @peach; - --ic-danger-high: @maroon; - --ic-danger-normal: @maroon; + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); - /* Users */ + /* Legacy user colors */ --mx-uc-1: @blue; --mx-uc-2: @pink; --mx-uc-3: @teal; @@ -165,10 +75,10 @@ --oq6d07j: @base; - --oq6d07k: fade(@accent-color, 50%); - --oq6d07l: fade(@accent-color, 40%); - --oq6d07m: fade(@accent-color, 30%); - --oq6d07n: fade(@accent-color, 20%); + --oq6d07k: fade(@accent, 50%); + --oq6d07l: fade(@accent, 40%); + --oq6d07m: fade(@accent, 30%); + --oq6d07n: fade(@accent, 20%); --oq6d07o: @text; --oq6d07p: @subtext1; @@ -181,7 +91,7 @@ --oq6d07v: @surface1; --oq6d07w: @surface2; --oq6d07x: @overlay0; - --oq6d07y: @subtext0; + --oq6d07y: @text; --oq6d07z: fade(@green, 90%); --oq6d0710: fade(@green, 95%); @@ -222,24 +132,9 @@ --oq6d071v: fade(@crust, 60%); } - /* Syntax highlighting */ - body.prism-light, - &.prism-light, - &.prism-dark { - --prism-comment: @overlay0; - --prism-punctuation: @sky; - --prism-property: @yellow; - --prism-boolean: @peach; - --prism-selector: @green; - --prism-operator: @sky; - --prism-atrule: @pink; - --prism-keyword: @mauve; - --prism-regex: @maroon; - } - /* Search results */ - ._1m2qi7rn { - background-color: @accent-color; + ._1m2qi7rq { + background-color: @accent; color: @base; } @@ -258,25 +153,77 @@ background-color: @base; } - } - :root, - .silver-theme { - #catppuccin(@lightFlavor, @accentColor); - } + /* I don't think these actually do anything anymore, but they are + still defined in the app. They _might_ be removed in a future release. */ - .dark-theme, - .butter-theme { - #catppuccin(@darkFlavor, @accentColor); - } -} + /* Backgrounds */ + --bg-surface: @base; + --bg-surface-transparent: fade(@base, 0%); + --bg-surface-low: @mantle; + --bg-surface-low-transparent: fade(@mantle, 0%); + --bg-surface-extra-low: @crust; + --bg-surface-extra-low-transparent: fade(@crust, 0%); + --bg-surface-border: fade(@crust, 20%); + --bg-surface-hover: @surface0; + --bg-surface-active: @surface1; + --bg-overlay: fade(@crust, 60%); + --bg-overlay-low: fade(@crust, 80%); + --bg-primary: @accent; + --bg-primary-hover: fade(@accent, 80%); + --bg-primary-active: fade(@accent, 70%); + --bg-primary-border: fade(@accent, 38%); + --bg-tooltip: @surface0; + --bg-badge: @lavender; + --bg-positive: @green; + --bg-positive-hover: fade(@green, 8%); + --bg-positive-active: fade(@green, 15%); + --bg-positive-border: fade(@green, 40%); + --bg-caution: @peach; + --bg-caution-hover: fade(@peach, 8%); + --bg-caution-active: fade(@peach, 15%); + --bg-caution-border: fade(@peach, 40%); + --bg-danger: @maroon; + --bg-danger-hover: fade(@maroon, 5%); + --bg-danger-active: fade(@maroon, 10%); + --bg-danger-border: fade(@maroon, 20%); + --bg-ping: fade(@green, 40%); + --bg-ping-hover: fade(@green, 50%); -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} + /* Texts */ + --tc-surface-high: @text; + --tc-surface-normal: @text; + --tc-surface-normal-low: @subtext1; + --tc-surface-low: @subtext0; + --tc-primary-high: @crust; + --tc-primary-normal: @text; + --tc-primary-low: @subtext1; + --tc-tooltip: @subtext0; + --tc-code: @mauve; + --tc-link: @blue; + --tc-badge: @crust; + --tc-positive-high: @green; + --tc-positive-normal: @green; + --tc-positive-low: @green; + --tc-caution-high: @peach; + --tc-caution-normal: @peach; + --tc-caution-low: @peach; + --tc-danger-high: @maroon; + --tc-danger-normal: @maroon; + --tc-danger-low: @maroon; -// vim:ft=less + /* Icons */ + --ic-surface-high: @text; + --ic-surface-normal: @text; + --ic-surface-low: @subtext1; + --ic-primary-high: @crust; + --ic-primary-normal: @crust; + --ic-primary-low: @crust; + --ic-positive-high: @green; + --ic-positive-normal: @maroon; + --ic-caution-high: @peach; + --ic-caution-normal: @peach; + --ic-danger-high: @maroon; + --ic-danger-normal: @maroon; + } +} diff --git a/styles/cinny/preview.webp b/styles/cinny/preview.webp deleted file mode 100644 index 50392ab14d..0000000000 --- a/styles/cinny/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d064d47f4799db15b55da3a2933a6659ee0bae9118073cccdbf73ed036d5463 -size 168466 diff --git a/styles/claude/README.md b/styles/claude/README.md new file mode 100644 index 0000000000..c64d398cfb --- /dev/null +++ b/styles/claude/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Claude + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [ruiiiijiiiiang](https://github.com/ruiiiijiiiiang) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/claude/catppuccin.user.less b/styles/claude/catppuccin.user.less new file mode 100644 index 0000000000..8c08642295 --- /dev/null +++ b/styles/claude/catppuccin.user.less @@ -0,0 +1,231 @@ +/* ==UserStyle== +@name Claude Catppuccin +@namespace github.com/catppuccin/userstyles/styles/claude +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/claude +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/claude/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aclaude +@description Soothing pastel theme for Claude +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("claude.ai") { + :root[data-color-version="v2"] { + &[data-mode="dark"] { + #catppuccin(@darkFlavor); + } + &[data-mode="light"] { + #catppuccin(@lightFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --accent-brand: #hslify(@accent)[]; + --accent-000: #hslify(@accent)[]; + --accent-100: #hslify(@accent)[]; + --accent-200: #hslify(lighten(@accent, 5%))[]; + --accent-900: #hslify(darken(@accent, 10%))[]; + --accent-main-000: #hslify(@accent)[]; + --accent-main-100: #hslify(@accent)[]; + --accent-main-200: #hslify(@accent)[]; + --accent-main-900: #hslify(@accent)[]; + --accent-pro-000: #hslify(@accent)[]; + --accent-pro-100: #hslify(@accent)[]; + --accent-pro-200: #hslify(@accent)[]; + --accent-pro-900: #hslify(@accent)[]; + --accent-secondary-000: #hslify(@accent)[]; + --accent-secondary-100: #hslify(@accent)[]; + --accent-secondary-200: #hslify(@accent)[]; + --accent-secondary-900: #hslify(@accent)[]; + --bg-000: #hslify(@surface0)[]; + --bg-100: #hslify(@base)[]; + --bg-200: #hslify(@mantle)[]; + --bg-300: #hslify(@surface0)[]; + --bg-400: #hslify(@surface1)[]; + --bg-500: #hslify(@surface2)[]; + --brand-000: #hslify(@accent)[]; + --brand-100: #hslify(lighten(@accent, 5%))[]; + --brand-200: #hslify(lighten(@accent, 5%))[]; + --brand-900: #hslify(@crust)[]; + --border-000: #hslify(@base)[]; + --border-100: #hslify(@crust)[]; + --border-200: #hslify(@crust)[]; + --border-300: #hslify(@overlay0)[]; + --border-400: #hslify(@overlay1)[]; + --border-500: #hslify(@overlay2)[]; + --danger-000: #hslify(@maroon)[]; + --danger-100: #hslify(@red)[]; + --danger-200: #hslify(@red)[]; + --danger-900: #hslify(@pink)[]; + --oncolor-000: #hslify(darken(@mantle, 5%))[]; + --oncolor-100: #hslify(@mantle)[]; + --oncolor-200: #hslify(@mantle)[]; + --oncolor-300: #hslify(lighten(@mantle, 5%))[]; + --success-000: #hslify(@green)[]; + --success-100: #hslify(lighten(@green, 5%))[]; + --success-200: #hslify(lighten(@green, 5%))[]; + --success-900: #hslify(lighten(@green, 15%))[]; + --text-000: #hslify(darken(@text, 5%))[]; + --text-100: #hslify(@text)[]; + --text-200: #hslify(@text)[]; + --text-300: #hslify(@subtext0)[]; + --text-400: #hslify(@subtext1)[]; + --text-500: #hslify(@subtext0)[]; + --warning-000: #hslify(@yellow)[]; + --warning-100: #hslify(lighten(@yellow, 5%))[]; + --warning-200: #hslify(lighten(@yellow, 5%))[]; + --warning-900: #hslify(lighten(@yellow, 15%))[]; + + /* Side bar */ + nav.\!bg-bg-200 { + background: @mantle !important; + } + + /* Code blocks */ + .code-block__code { + background: @crust !important; + + code { + /* Default color */ + span { + color: @text !important; + } + + /* Green */ + span.token[style="color: rgb(152, 195, 121);"] { + color: @green !important; + } + + /* Yellow */ + span.token[style="color: rgb(209, 154, 102);"] { + color: @yellow !important; + } + + /* Blue */ + span.token[style="color: rgb(97, 175, 239);"] { + color: @blue !important; + } + + /* Red */ + span.token[style="color: rgb(224, 108, 117);"] { + color: @red !important; + } + + /* Magenta */ + span.token[style="color: rgb(198, 120, 221);"] { + color: @mauve !important; + } + + /* Gray */ + span.token[style="color: rgb(171, 178, 191);"] { + color: @overlay2 !important; + } + } + } + + /* Inline code */ + code.text-danger-000 { + color: @accent !important; + } + + /* Tooltip */ + div.bg-black\/80 { + background: @crust !important; + } + div.text-white { + color: @text !important; + } + + /* Logo */ + div.text-\[\#D97757\] { + color: @accent !important; + } + + /* "New chat" plus icon */ + div.text-always-white svg { + color: @base !important; + } + + /* "Subscribe to Pro" and "Create Team Account" buttons */ + button.bg-accent-pro-100 > span.inline-block { + color: @base !important; + } + + /* Pay monthly/annually buttons */ + button.bg-accent-secondary-900 { + span.text-text-000 { + color: @base !important; + } + span.text-text-300 { + color: @surface2 !important; + } + div.bg-accent-secondary-000 { + background: darken(@accent, 15%) !important; + } + } + + /* Delete conversation button */ + div.\!text-danger-000.\[\&\[data-highlighted\]\]\:bg-danger-900[data-highlighted] { + background: fade(@red, 20%) !important; + } + + /* Checkbox */ + input[type="checkbox"] + div.bg-bg-000 { + background: @text !important; + } + + /* "Add writing example" button */ + button.\!text-accent-secondary-100.bg-accent-secondary-900 { + color: @base !important; + &:hover { + color: @text !important; + } + } + + /* "Describe your style" list */ + button.\!bg-accent-secondary-900.text-accent-secondary-000 { + color: @base !important; + } + + /* "Be as descriptive as possible..." helper text */ + div.bg-accent-secondary-900.text-text-200 { + color: @base !important; + } + + /* "Preview with an example..." pills */ + button.hover\:bg-accent-secondary-900.hover\:text-accent-secondary-000 { + color: @accent !important; + &:hover { + color: @base !important; + } + } + + /* "Previewing with ..." dropdown button */ + button.\!text-accent-secondary-100.hover\:\!bg-accent-secondary-900 { + color: @accent !important; + &:hover { + color: @base !important; + } + } + + /* White background (e.g., toggle switch thumb) */ + .bg-white { + background-color: @text; + } + } +} + +#hslify(@color) { + @raw: e(%("%s %s% %s%", hue(@color), saturation(@color), lightness(@color))); +} diff --git a/styles/cobalt/README.md b/styles/cobalt/README.md index 9c29e5f5e7..31effbfe17 100644 --- a/styles/cobalt/README.md +++ b/styles/cobalt/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [keri](https://github.com/kerichdev) +- [kerichdev](https://github.com/kerichdev)   diff --git a/styles/cobalt/catppuccin.user.css b/styles/cobalt/catppuccin.user.css deleted file mode 100644 index 23533b2b61..0000000000 --- a/styles/cobalt/catppuccin.user.css +++ /dev/null @@ -1,92 +0,0 @@ -/* ==UserStyle== -@name cobalt Catppuccin -@namespace github.com/catppuccin/userstyles/styles/cobalt -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/cobalt -@version 0.1.0 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/cobalt/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acobalt -@description Soothing pastel theme for cobalt -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('cobalt.tools') { - :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --accent: @accent-color; - --accent-highlight: fade(@accent-color, 4%); - --accent-subtext: @text; - --accent-hover: @surface1; - --accent-hover-elevated: @surface2; - --accent-hover-transparent: fade(@surface1, 5%); - --accent-button: @surface0; - --accent-button-elevated: @surface1; - --glass: fade(@base, 85%); - --glass-lite: fade(@base, 98%); - --subbackground: @surface0; - --background: @base; - --background-backdrop: fade(@crust, 5%); - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/cobalt/catppuccin.user.less b/styles/cobalt/catppuccin.user.less new file mode 100644 index 0000000000..6b7c224ce3 --- /dev/null +++ b/styles/cobalt/catppuccin.user.less @@ -0,0 +1,105 @@ +/* ==UserStyle== +@name cobalt Catppuccin +@namespace github.com/catppuccin/userstyles/styles/cobalt +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/cobalt +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/cobalt/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acobalt +@description Soothing pastel theme for cobalt +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("cobalt.tools") { + [data-theme="dark"] { + #catppuccin(@darkFlavor); + } + [data-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --primary: @base; + --secondary: @text; + --gray: @subtext0; + --blue: @blue; + --green: @green; + --red: @maroon; + --medium-red: @red; + --dark-red: @red; + --white: @crust; + --button: @surface0; + --button-hover: darken(@surface0, 5%); + --button-active-hover: darken(@subtext0, 5%); + --button-elevated: @surface1; + --button-elevated-hover: darken(@surface1, 5%); + --button-text: @text; + --sidebar-bg: @mantle; + --sidebar-hover: @surface0; + --sidebar-highlight: @text; + --input-border: @surface2; + --popup-bg: @mantle; + --toggle-bg-enabled: @accent; + + #donate-page { + --donate-gradient-start: @surface1 !important; + --donate-gradient-end: @surface0 !important; + } + + #banner-left { + color: @text; + } + + #banner-subtitle { + color: @subtext0; + opacity: 1; + } + + .donate-card button { + color: @text !important; + } + + .donate-card { + color: @text; + } + + .donate-card-title { + color: @text; + } + + .donate-card-subtitle { + color: @subtext0; + opacity: 1; + } + + #input-container.focused { + box-shadow: 0 0 0 2px @text inset !important; + } + + #input-dollar-sign { + color: @text; + } + + #donation-custom-input { + color: @text !important; + } + + #cobalt-logo path { + fill: @text; + } + + .sidebar-tab.active { + background-color: @accent !important; + } + } +} diff --git a/styles/cobalt/preview.webp b/styles/cobalt/preview.webp deleted file mode 100644 index 24542342dd..0000000000 --- a/styles/cobalt/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b39566cb865648dcf86f0c0f609a0b41be0fbd877ca6e562158864a8646a4452 -size 31614 diff --git a/styles/codeberg/README.md b/styles/codeberg/README.md index 778b197d14..c8663c5ca1 100644 --- a/styles/codeberg/README.md +++ b/styles/codeberg/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Isabel](https://github.com/isabelroses) +- [isabelroses](https://github.com/isabelroses) ## ๐Ÿ’– Past Maintainer - [justTOBBI](https://github.com/justTOBBI) diff --git a/styles/codeberg/catppuccin.user.css b/styles/codeberg/catppuccin.user.css deleted file mode 100644 index 0a85237ea7..0000000000 --- a/styles/codeberg/catppuccin.user.css +++ /dev/null @@ -1,134 +0,0 @@ -/* ==UserStyle== -@name Codeberg Catppuccin -@namespace github.com/catppuccin/userstyles/styles/codeberg -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/codeberg -@version 1.1.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/codeberg/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acodeberg -@description Soothing pastel theme for Codeberg -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('codeberg.org') { - @import (css) - url("https://catppuccin.github.io/gitea/theme-catppuccin-@{lightFlavor}-@{accentColor}.css") - (prefers-color-scheme: light); - @import (css) - url("https://catppuccin.github.io/gitea/theme-catppuccin-@{darkFlavor}-@{accentColor}.css") - (prefers-color-scheme: dark); -} - -@-moz-document domain('codeberg.org') { - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - /* Base styles not needed, themed in upstream Gitea port. */ - - --color-body: @base; - --color-nav-text: @crust; - --color-nav-hover-bg: darken(@accent-color, 5%); - --color-secondary-nav-bg: @surface0; - --color-link: @blue; - --color-footer-text: @text; - - .ui.secondary.menu .dropdown.item:hover, - .ui.secondary.menu a.item:hover, - .ui.secondary.menu a.active.item:hover { - background-color: var(--color-nav-hover-bg); - color: var(--color-black); - } - - .ui.basic.red.buttons .button, - .ui.basic.red.button { - &:hover, - &:focus { - background-color: @red; - border-color: var(--color-light-border); - color: @crust; - } - } - - #codeberg-logo (@color) { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - #navbar-logo img { - #codeberg-logo(@crust); - } - .branding img { - #codeberg-logo(@text); - } - - footer { - .button:hover { - background-color: @accent-color; - color: @crust; - } - - a:hover { - color: @blue !important; - } - } - } - - @media (prefers-color-scheme: light) { - [data-theme="codeberg-dark"], - [data-theme="codeberg-light"], - [data-theme="codeberg-auto"] { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - [data-theme="codeberg-dark"], - [data-theme="codeberg-light"], - [data-theme="codeberg-auto"] { - #catppuccin(@darkFlavor, @accentColor); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/codeberg/catppuccin.user.less b/styles/codeberg/catppuccin.user.less new file mode 100644 index 0000000000..61a3b6efdb --- /dev/null +++ b/styles/codeberg/catppuccin.user.less @@ -0,0 +1,109 @@ +/* ==UserStyle== +@name Codeberg Catppuccin +@namespace github.com/catppuccin/userstyles/styles/codeberg +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/codeberg +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/codeberg/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acodeberg +@description Soothing pastel theme for Codeberg +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("codeberg.org") { + @import (css) + url("https://catppuccin.github.io/gitea/theme-catppuccin-@{lightFlavor}-@{accentColor}.css") + (prefers-color-scheme: light); + @import (css) + url("https://catppuccin.github.io/gitea/theme-catppuccin-@{darkFlavor}-@{accentColor}.css") + (prefers-color-scheme: dark); +} + +@-moz-document domain("codeberg.org") { + [data-theme="codeberg-dark"], + [data-theme="codeberg-light"], + [data-theme="codeberg-auto"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + // #lib.defaults(); // Not needed, themed in upstream Gitea port. + + --color-body: @base; + --color-nav-text: @crust; + --color-nav-hover-bg: darken(@accent, 5%); + --color-secondary-nav-bg: @surface0; + --color-link: @blue; + --color-footer-text: @text; + + .ui.basic.red.buttons .button, + .ui.basic.red.button { + &:hover, + &:focus { + background-color: @red; + border-color: var(--color-light-border); + color: @crust; + } + } + + #codeberg-logo(@color) { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .branding { + img[src^="https://design.codeberg.org/logo-kit/"] { + #codeberg-logo(@text); + } + } + + #navbar { + a#navbar-logo { + img { + #codeberg-logo(@base); + } + } + + .menu { + > a, button, details > summary { + color: @base; + } + + .donation-pretty { + --color-secondary-alpha-60: fade(darken(@accent, 10%), 60%) + !important; + + &:hover { + background: darken(@accent, 3%) !important; + } + } + } + } + + footer { + .button:hover { + background-color: @accent; + color: @crust; + } + + a:hover { + color: @blue !important; + } + } + } +} diff --git a/styles/codeberg/preview.webp b/styles/codeberg/preview.webp deleted file mode 100644 index e5190d7ffe..0000000000 --- a/styles/codeberg/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b65028faf3cc3f033987944220f1b0a5d25322606ca4cf630b41ffa35c45859 -size 1059076 diff --git a/styles/crates.io/README.md b/styles/crates.io/README.md index 0083912948..10a0778baf 100644 --- a/styles/crates.io/README.md +++ b/styles/crates.io/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/crates.io/catppuccin.user.css b/styles/crates.io/catppuccin.user.css deleted file mode 100644 index 8bce22c252..0000000000 --- a/styles/crates.io/catppuccin.user.css +++ /dev/null @@ -1,326 +0,0 @@ -/* ==UserStyle== -@name crates.io Catppuccin -@namespace github.com/catppuccin/userstyles/styles/crates.io -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/crates.io -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/crates.io/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acrates.io -@description Soothing pastel theme for crates.io -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('crates.io') { - @import url("https://unpkg.com/@catppuccin/highlightjs@0.2.2/css/catppuccin.variables.important.css"); - - code.hljs { - background: none !important; - } - - @media (prefers-color-scheme: light) { - :root[data-color-scheme="system"] { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root[data-color-scheme="system"] { - #catppuccin(@darkFlavor, @accentColor); - } - } - - :root[data-color-scheme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - :root[data-color-scheme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &, - * { - --shadow: none !important; - --csstools-color-scheme--dark: none; - - --header-bg-color: @mantle; - --main-color: @text; - --main-color-light: @subtext1; - --main-shadow-color: @surface0; - --main-bg: @mantle; - --main-bg-dark: @base; - --gray-border: @surface0; - --link-color: @accent-color; - --link-hover-color: darken(@accent-color, 5%); - --footer-header-color: @text; - - /* Main article/readme background */ - --csstools-light-dark-toggle--49: @base; - - /* Inline code background */ - --csstools-light-dark-toggle--85: @mantle; - /* Code block background */ - --csstools-light-dark-toggle--86: @mantle; - /* Copyable text hover */ - --csstools-light-dark-toggle--3: @base; - - /* Versions cards */ - --csstools-light-dark-toggle--108: @base; - --csstools-light-dark-toggle--110: @surface0; - --csstools-light-dark-toggle--105: @surface0; - [class*="_new"] { - color: @green; - } - /* Dependencies cards */ - --csstools-light-dark-toggle--73: @base; - --csstools-light-dark-toggle--69: @surface0; - --grey600: @subtext0; - --grey700: @text; - /* Dependents cards */ - --csstools-light-dark-toggle--84: @base; - --csstools-light-dark-toggle--81: @surface0; - /* Search results cards */ - --csstools-light-dark-toggle--2: @base; - /* Homepage cards */ - --csstools-light-dark-toggle--77: @base; - --csstools-light-dark-toggle--80: @surface0; - --csstools-light-dark-toggle--78: @subtext1; - - /* Header search bar */ - --csstools-light-dark-toggle--33: @crust; - --yellow500: @accent-color; - --yellow700: darken(@accent-color, 5%); - - /* Dropdown */ - --csstools-light-dark-toggle--20: @mantle; - /* Dropdown items */ - [class*="_item_"] { - button:hover, - > a:hover, - [class*="_selected_"] { - background: @surface0; - color: @text !important; - } - } - } - - /* Toasts */ - .c-notification { - --ecn-green: @green; - --ecn-blue: @blue; - --ecn-orange: @peach; - --ecn-red: @red; - - &, - .c-notification__icon { - color: @crust; - } - } - - /* Tooltips */ - .ember-tooltip { - color: @text; - background-color: @crust; - text-shadow: none; - - &[x-placement^="top"] .ember-tooltip-arrow { - border-top-color: @crust; - } - } - - /* Icons and icon badges */ - [class*="_crate-downloads_"] [class*="_stats_"] [fill="#FFF"] { - fill: @surface0 !important; - } - [fill="#B13B89"], - [fill="#B84D94"], - svg[class*="_download-icon"] { - fill: @accent-color !important; - } - [stroke="#B84D94"] { - stroke: @accent-color !important; - } - - /* Footer links */ - ._content_hautyr { - h1 { - text-shadow: none; - } - - a { - color: @accent-color; - - &:hover { - color: darken(@accent-color, 5%); - text-shadow: none; - } - } - } - - /* Misc header text */ - [class*="_header-inner_"] { - &, - a { - color: @text; - } - } - /* Header buttons and link text */ - nav, - nav + div { - button, - a { - color: @text; - } - } - - /* Search bar magnifying glass icon */ - form[action="/search"] button { - color: @crust; - } - - /* Sort by search results */ - ._icon_xsqxju { - color: @accent-color; - } - - /* Primary buttons */ - [class*="_tan-button_"], - [class*="_yellow-button_"] { - color: @crust; - background: @accent-color; - - &:hover { - background-color: darken(@accent-color, 5%); - } - } - - /* User email settings */ - [class*="_me-email_"] { - [class*="_row_"] { - border-color: @surface0; - } - [class*="_verified_"] { - color: @green; - } - } - - /* Logged out home page hero */ - [class*="_hero-title_"] { - color: @text; - text-shadow: none; - } - [class*="_hero-button_"] [class*="_icon_"] { - color: @crust; - } - [class*="_blurb_"] [class*="_stats-value_"] { - [class*="_label_"], - svg { - color: @subtext0; - } - } - - /* User avatar backgrounds */ - [class*="_avatar_"] { - background-color: @surface0; - box-shadow: none; - } - - [class*="_yanked-badge_"] { - background-color: @red; - color: @crust; - } - - /* Tables in READMEs */ - table { - th, - td { - border-color: @surface1; - } - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/crates.io/catppuccin.user.less b/styles/crates.io/catppuccin.user.less new file mode 100644 index 0000000000..3a441a2815 --- /dev/null +++ b/styles/crates.io/catppuccin.user.less @@ -0,0 +1,260 @@ +/* ==UserStyle== +@name crates.io Catppuccin +@namespace github.com/catppuccin/userstyles/styles/crates.io +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/crates.io +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/crates.io/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acrates.io +@description Soothing pastel theme for crates.io +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("crates.io") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + code.hljs { + background: none !important; + } + + :root[data-color-scheme="system"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root[data-color-scheme="dark"] { + #catppuccin(@darkFlavor); + } + :root[data-color-scheme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + &, + * { + --shadow: none !important; + --csstools-color-scheme--dark: none; + + --header-bg-color: @mantle; + --main-color: @text; + --main-color-light: @subtext1; + --main-shadow-color: @surface0; + --main-bg: @mantle; + --main-bg-dark: @base; + --gray-border: @surface0; + --link-color: @accent; + --link-hover-color: darken(@accent, 5%); + --footer-header-color: @text; + + /* Main article/readme background */ + --csstools-light-dark-toggle--63: @base; + + /* Inline code background */ + --csstools-light-dark-toggle--92: @mantle; + /* Code block background */ + --csstools-light-dark-toggle--91: @mantle; + /* Copyable text hover */ + --csstools-light-dark-toggle--78: @base; + + /* Versions cards */ + --csstools-light-dark-toggle--111: @text; + --csstools-light-dark-toggle--113: @base; + --csstools-light-dark-toggle--114: fade(@green, 15%); + --csstools-light-dark-toggle--117: fade(@yellow, 15%); + --csstools-light-dark-toggle--109: @surface0; + --csstools-light-dark-toggle--110: @surface0; + --csstools-light-dark-toggle--115: @surface0; + --csstools-light-dark-toggle--118: @surface0; + --csstools-light-dark-toggle--126: @text; + [class*="_new"] { + color: @green; + } + /* Dependencies cards */ + --csstools-light-dark-toggle--83: @base; + --csstools-light-dark-toggle--79: @surface0; + --csstools-light-dark-toggle--80: @text; + --csstools-light-dark-toggle--81: @text; + --csstools-light-dark-toggle--84: @subtext0; + --grey600: @subtext0; + --grey700: @text; + /* Dependents cards */ + --csstools-light-dark-toggle--89: @base; + --csstools-light-dark-toggle--86: @surface0; + /* Search results cards */ + --csstools-light-dark-toggle--2: @base; + /* Homepage cards */ + --csstools-light-dark-toggle--74: @base; + --csstools-light-dark-toggle--77: @surface0; + --csstools-light-dark-toggle--75: @subtext1; + --csstools-light-dark-toggle--76: @text; + --csstools-light-dark-toggle--19: @subtext0; + --csstools-light-dark-toggle--20: @subtext0; + + /* Header search bar */ + --csstools-light-dark-toggle--34: @crust; + --yellow500: @accent; + --yellow700: darken(@accent, 5%); + + /* Dropdown */ + --csstools-light-dark-toggle--23: @mantle; + --csstools-light-dark-toggle--35: @mantle; + /* Dropdown items */ + [class*="_item_"] { + button:hover, + > a:hover, + [class*="_selected_"] { + background: @surface0; + color: @text !important; + } + } + } + + /* Toasts */ + .c-notification { + --ecn-green: @green; + --ecn-blue: @blue; + --ecn-orange: @peach; + --ecn-red: @red; + + &, + .c-notification__icon { + color: @crust; + } + } + + /* Tooltips */ + .ember-tooltip { + color: @text; + background-color: @crust; + text-shadow: none; + + &[x-placement^="top"] .ember-tooltip-arrow { + border-top-color: @crust; + } + } + + /* Icons and icon badges */ + [class*="downloads_"] [fill="#FFF"] { + fill: @surface0 !important; + } + [fill="#B13B89"], + [fill="#B84D94"], + svg[class*="_download-icon"] { + fill: @accent !important; + } + [stroke="#B84D94"] { + stroke: @accent !important; + } + + /* Footer links */ + ._content_hautyr { + h1 { + text-shadow: none; + } + + a { + color: @accent; + + &:hover { + color: darken(@accent, 5%); + text-shadow: none; + } + } + } + + /* Misc header text */ + [class*="_header-inner_"] { + &, + a { + color: @text; + } + } + + /* Search bar magnifying glass icon */ + form[action="/search"] button { + color: @crust; + } + + /* Sort by search results */ + ._icon_xsqxju { + color: @accent; + } + + /* Primary buttons */ + [class*="_tan-button_"], + [class*="_yellow-button_"] { + color: @crust !important; + background: @accent; + + &:hover { + background-color: darken(@accent, 5%); + } + } + + [class*="_red-button_"] { + --bg-color-top: @maroon; + --bg-color-bottom: @maroon; + --bg-color-top-dark: @red; + --bg-color-bottom-dark: @red; + } + + /* User email settings */ + [class*="_me-email_"] { + [class*="_row_"] { + border-color: @surface0; + } + [class*="_verified_"] { + color: @green; + } + } + + /* Logged out home page hero */ + [class*="_hero-title_"] { + color: @text; + text-shadow: none; + } + [class*="_hero-button_"] [class*="_icon_"] { + color: @crust; + } + [class*="_blurb_"] [class*="_stats-value_"] { + [class*="_label_"], + svg { + color: @subtext0; + } + } + + /* User avatar backgrounds */ + [class*="_avatar_"] { + background-color: @surface0; + box-shadow: none; + } + + [class*="_yanked-badge_"] { + background-color: @red; + color: @crust; + } + + /* Tables in READMEs */ + table { + th, + td { + border-color: @surface1; + } + } + } +} diff --git a/styles/crates.io/preview.webp b/styles/crates.io/preview.webp deleted file mode 100644 index 5f7d9cddd5..0000000000 --- a/styles/crates.io/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf59d9a5acbcc80c6ff27ca237c21073b0c3d9bb57b64ac0bb97fbd832b77ade -size 191786 diff --git a/styles/crowdin/README.md b/styles/crowdin/README.md index 58aeaa1531..071b91ae3f 100644 --- a/styles/crowdin/README.md +++ b/styles/crowdin/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Ryan Cao](https://github.com/ryanccn) +- [ryanccn](https://github.com/ryanccn)   diff --git a/styles/crowdin/catppuccin.user.css b/styles/crowdin/catppuccin.user.css deleted file mode 100644 index 98a369638b..0000000000 --- a/styles/crowdin/catppuccin.user.css +++ /dev/null @@ -1,204 +0,0 @@ -/* ==UserStyle== -@name Crowdin Catppuccin -@namespace github.com/catppuccin/userstyles/styles/crowdin -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/crowdin -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/crowdin/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acrowdin -@description Soothing pastel theme for Crowdin -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document regexp("https://crowdin.com(?!/translate).*") -{ - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - :root:root:root:root:root { - --app-bg: @mantle; - --body-bg: @base; - --light-bg: @surface0; - --search-bg: @surface0; - --super-light-bg: @surface1; - --body-color: @text; - --link-hover: @green; - --primary: @green; - --secondary: @rosewater; - --tertiary: @pink; - --primary-btn: @green; - --primary-btn-hover: @teal; - --warning-content: @yellow; - --info: @blue; - --crowdin-primary-blue-gray-05: @surface1; - --crowdin-primary-blue-gray: @overlay0; - } - - .btn-primary, - .btn-primary:hover { - color: @base; - } - - .btn-outline-primary, - .btn-outline-primary:hover { - color: @green; - border-color: @green; - } - } -} - -@-moz-document regexp("https://crowdin.com/translate/.*") -{ - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @mantle !important; - color: @text !important; - } - - #left_panel, - .nav-tabs, - .navbar-inner.editor-navbar, - #discussions_control, - #main_menu { - background-color: @surface0 !important; - } - - #editor-center-layout, - .editor-pane-inner, - #translation_wrapper, - #translation_text_container, - .texts-to-translate-header, - #right_panel, - .texts-to-translate-paging, - #asset_preview_wrapper.no-preview, - .editor-pane-title-and-buttons-helper { - background-color: @base !important; - color: @text !important; - } - - .body.dark-theme #main_menu .nav-pills > li.active > a { - background-color: @blue; - } - - .progress .bar-validate { - background-color: @lavender; - } - .progress .bar-translate { - background-color: @sapphire; - } - - a, - .btn-link { - color: @rosewater !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/crowdin/catppuccin.user.less b/styles/crowdin/catppuccin.user.less new file mode 100644 index 0000000000..41fb8ac2ae --- /dev/null +++ b/styles/crowdin/catppuccin.user.less @@ -0,0 +1,120 @@ +/* ==UserStyle== +@name Crowdin Catppuccin +@namespace github.com/catppuccin/userstyles/styles/crowdin +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/crowdin +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/crowdin/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Acrowdin +@description Soothing pastel theme for Crowdin +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp("https://crowdin.com(?!/translate).*") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + :root:root:root:root:root { + --app-bg: @mantle; + --body-bg: @base; + --light-bg: @surface0; + --search-bg: @surface0; + --super-light-bg: @surface1; + --body-color: @text; + --link-hover: @green; + --primary: @green; + --secondary: @rosewater; + --tertiary: @pink; + --primary-btn: @green; + --primary-btn-hover: @teal; + --warning-content: @yellow; + --info: @blue; + --crowdin-primary-blue-gray-05: @surface1; + --crowdin-primary-blue-gray: @overlay0; + } + + .btn-primary, + .btn-primary:hover { + color: @base; + } + + .btn-outline-primary, + .btn-outline-primary:hover { + color: @green; + border-color: @green; + } + } +} + +@-moz-document regexp("https://crowdin.com/translate/.*") { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @mantle !important; + color: @text !important; + } + + #left_panel, + .nav-tabs, + .navbar-inner.editor-navbar, + #discussions_control, + #main_menu { + background-color: @surface0 !important; + } + + #editor-center-layout, + .editor-pane-inner, + #translation_wrapper, + #translation_text_container, + .texts-to-translate-header, + #right_panel, + .texts-to-translate-paging, + #asset_preview_wrapper.no-preview, + .editor-pane-title-and-buttons-helper { + background-color: @base !important; + color: @text !important; + } + + .body.dark-theme #main_menu .nav-pills > li.active > a { + background-color: @blue; + } + + .progress .bar-validate { + background-color: @lavender; + } + .progress .bar-translate { + background-color: @sapphire; + } + + a, + .btn-link { + color: @rosewater !important; + } + } +} diff --git a/styles/crowdin/preview.webp b/styles/crowdin/preview.webp deleted file mode 100644 index f652db8bc6..0000000000 --- a/styles/crowdin/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76db9036e754e9109311d90a900d12f859f7238c56c1c74c9b0762f620e9ddad -size 206804 diff --git a/styles/deepl/README.md b/styles/deepl/README.md index b3f35b2c1b..b54096642a 100644 --- a/styles/deepl/README.md +++ b/styles/deepl/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Ren](https://github.com/watatomo) +- [watatomo](https://github.com/watatomo)   diff --git a/styles/deepl/catppuccin.user.css b/styles/deepl/catppuccin.user.less similarity index 56% rename from styles/deepl/catppuccin.user.css rename to styles/deepl/catppuccin.user.less index a33b87b377..dbf76bed64 100644 --- a/styles/deepl/catppuccin.user.css +++ b/styles/deepl/catppuccin.user.less @@ -2,8 +2,8 @@ @name DeepL Catppuccin @namespace github.com/catppuccin/userstyles/styles/deepl @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/deepl -@version 1.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/deepl/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/deepl/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adeepl @description Soothing pastel theme for DeepL @author Catppuccin @@ -15,62 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document regexp("https:\\/\\/www.deepl.com\\/?(.*\\/)translator.*$") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @text-filter: @catppuccin[@@lookup][@text_filter]; - @blue-filter: @catppuccin[@@lookup][@blue_filter]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); /* header */ .BasePageHeader-module--container--d81cb { @@ -94,6 +53,10 @@ background-color: @mantle !important; } + .scrollablePopiverListRoot-module--root--588fe { + background-color: @base !important; + } + /* text color */ h1, h2, @@ -148,7 +111,7 @@ .TranslatorTab-module--active--0b6ea .TranslatorTab-module--innerLower--8a080 { - background-color: @accent-color !important; + background-color: @accent !important; } .ring-neutral-next-900 { @@ -178,16 +141,25 @@ } [class*="SourceTranslatorArea-module--focusBorder--"]:has( - div[contenteditable="true"]:focus - ) { - border-color: @accent-color; + div[contenteditable="true"]:focus + ) { + border-color: @accent; } [class*="PageHeaderLink-module--pageHeaderLink--"]:not( - [class*="PageHeaderLink-module--nohover--"] - ):hover { - color: @accent-color; - border-color: @accent-color; + [class*="PageHeaderLink-module--nohover--"] + ):hover { + color: @accent; + border-color: @accent; + } + + .hover\:bg-\[\#B4DAE8\]:hover { + background-color: @surface2 !important; + } + + /* highlight */ + .bg-\[\#E1F0F5\] { + background-color: @surface1 !important; } /* buttons */ @@ -310,8 +282,7 @@ #top-navi-sidemenu-opener, .pageFooterV2-module--socialMediaLinks--71305, .ProBanner2021-module--checkitem--2d8e7, - [src*="https://static.deepl.com/img/app_desktop.svg"] - { + [src*="https://static.deepl.com/img/app_desktop.svg"] { filter: @text-filter; } @@ -322,13 +293,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @blue_filter: brightness(0) saturate(100%) invert(26%) sepia(100%) saturate(1906%) hue-rotate(213deg) brightness(97%) contrast(97%); @lavender: #7287fd; @text: #4c4f69; @text_filter: brightness(0) saturate(100%) invert(31%) sepia(12%) saturate(1015%) hue-rotate(196deg) brightness(94%) contrast(91%); @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @blue_filter: brightness(0) saturate(100%) invert(68%) sepia(9%) saturate(1948%) hue-rotate(186deg) brightness(98%) contrast(90%); @lavender: #babbf1; @text: #c6d0f5; @text_filter: brightness(0) saturate(100%) invert(80%) sepia(11%) saturate(726%) hue-rotate(192deg) brightness(104%) contrast(92%); @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @blue_filter: brightness(0) saturate(100%) invert(65%) sepia(13%) saturate(1397%) hue-rotate(184deg) brightness(103%) contrast(91%); @lavender: #b7bdf8; @text: #cad3f5; @text_filter: brightness(0) saturate(100%) invert(84%) sepia(5%) saturate(1385%) hue-rotate(192deg) brightness(101%) contrast(92%); @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @blue_filter: brightness(0) saturate(100%) invert(65%) sepia(51%) saturate(534%) hue-rotate(188deg) brightness(98%) contrast(101%); @lavender: #b4befe; @text: #cdd6f4; @text_filter: brightness(0) saturate(100%) invert(87%) sepia(6%) saturate(985%) hue-rotate(191deg) brightness(96%) contrast(99%); @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/deepl/preview.webp b/styles/deepl/preview.webp deleted file mode 100644 index f9c4dfc221..0000000000 --- a/styles/deepl/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4aef20f73d0147512fcab6557ce8eb474f17da3738614d443e37c112149eb501 -size 127544 diff --git a/styles/deepseek/README.md b/styles/deepseek/README.md new file mode 100644 index 0000000000..0d252a88a6 --- /dev/null +++ b/styles/deepseek/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for DeepSeek + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [WalkQuackBack](https://github.com/WalkQuackBack) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/deepseek/catppuccin.user.less b/styles/deepseek/catppuccin.user.less new file mode 100644 index 0000000000..181ef9ead7 --- /dev/null +++ b/styles/deepseek/catppuccin.user.less @@ -0,0 +1,264 @@ +/* ==UserStyle== +@name DeepSeek Catppuccin +@namespace github.com/catppuccin/userstyles/styles/deepseek +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/deepseek +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/deepseek/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adeepseek +@description Soothing pastel theme for DeepSeek +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document url-prefix("https://chat.deepseek.com") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + + body[data-ds-dark-theme] { + #catppuccin(@darkFlavor); + } + body:not([data-ds-dark-theme]) { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + #ds-rgb() { + --ds-bordered-secondary-button-color: var(--dsr-text-1); + --ds-button-hover-color: initial; + --ds-input-prefix-color: var(--dsr-text-1); + --ds-modal-content-color: @surface0; + --ds-rgb-bg-base: var(--ds-rgb-black); + --ds-rgb-elevated: #lib.rgbify(@surface0)[]; + --ds-rgb-error: #lib.rgbify(@red)[]; + --ds-rgb-header: 40 40 40; + --ds-rgb-info: #lib.rgbify(@blue)[]; + --ds-rgb-input-focus: var(--ds-rgb-neutral-900); + --ds-rgb-input-strong: var(--ds-rgb-neutral-700); + --ds-rgb-input: var(--ds-rgb-neutral-800); + --ds-rgb-label-1: #lib.rgbify(@text)[]; + --ds-rgb-label-2: #lib.rgbify(@subtext0)[]; + --ds-rgb-label-3: #lib.rgbify(@overlay1)[]; + --ds-rgb-link: var(--ds-rgb-primary); + --ds-rgb-primary-foreground: #lib.rgbify(@base)[]; + --ds-rgb-primary: #lib.rgbify(@accent)[]; + --ds-rgb-segmented-button: var(--ds-rgb-neutral-500); + --ds-rgb-segmented-separator: var(--ds-rgb-neutral-500); + --ds-rgb-segmented: var(--ds-rgb-neutral-600); + --ds-rgb-separator-strong: #lib.rgbify(@overlay0)[]; + --ds-rgb-separator: #lib.rgbify(@surface2)[]; + --ds-rgb-success: #lib.rgbify(@green)[]; + --ds-rgb-tag: var(--ds-rgb-neutral-600); + --ds-rgb-thumb: var(--ds-rgb-neutral-200); + --ds-rgb-track: var(--ds-rgb-neutral-500); + --ds-rgb-warning: #lib.rgbify(@yellow)[]; + --ds-rgba-transparent: 255 255 255/0; + --ds-tabs-active-color: @accent; + --ds-text-primary-button-color: @accent; + --ds-rgb-hover: #lib.rgbify(mix(@text, @base, 8%))[]; + + --ds-toast-custom-color: @surface0; + --ds-toast-custom-text-color: @text; + --ds-toast-cutsom-border: 1px solid @surface1; + --ds-md-inline-code-color: @base; + } + + --dsw-alias-bg-base: @base; + --dsw-alias-bg-layer-1: @mantle; + --dsw-alias-bg-layer-2: @base; + --dsw-alias-bg-layer-3: @surface0; + + --dsw-alias-bg-mask-1: rgba(0, 0, 0, 0.5); + --dsw-alias-bg-mask-2: rgba(0, 0, 0, 0.2); + --dsw-alias-bg-multi-select: mix(@accent, @mantle, 8%); + --dsw-alias-bg-skeleton: fade(@text, 8%); + + --dsw-alias-border-inverted2: rgba(255, 255, 255, 0.08); + --dsw-alias-border-inverted: rgba(255, 255, 255, 0.06); + --dsw-alias-border-l1: rgba(255, 255, 255, 0.06); + --dsw-alias-border-l2-darkmode-thin: rgba(255, 255, 255, 0.06); + --dsw-alias-border-l2: @surface1; + --dsw-alias-border-l3: @surface2; + --dsw-alias-border-l4: @overlay0; + + --dsw-alias-brand-primary-invert: @text; + --dsw-alias-brand-primary: @accent; + --dsw-alias-brand-text: @accent; + + --dsw-alias-button-contrast-fill: @text; + --dsw-alias-button-elevated-fill: @surface1; + + --dsw-alias-button-floating-fill: @base; + --dsw-alias-button-floating-hover: mix(@text, @base, 8%); + + --dsw-alias-button-ghost-active-border: @accent; + --dsw-alias-button-ghost-active-fill: fade(@accent, 14%); + --dsw-alias-button-ghost-active-hover: fade(@accent, 18%); + + --dsw-alias-button-primary-dimmed: darken(@accent, 8%); + --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary); + --dsw-alias-button-primary-hover: lighten(@accent, 8%); + + --dsw-alias-interactive-bg-active: fade(@text, 14%); + --dsw-alias-interactive-bg-hover-accent: fade(@text, 24%); + --dsw-alias-interactive-bg-hover-danger: fade(@red, 15%); + --dsw-alias-interactive-bg-hover: fade(@text, 8%); + + --dsw-alias-label-caption: @overlay0; + --dsw-alias-label-dimmed: @surface1; + --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-100); + --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-800); + + --dsw-alias-label-primary: @text; + --dsw-alias-label-secondary: @subtext0; + --dsw-alias-label-tertiary: @overlay1; + + --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-800); + --dsw-alias-markdown-code-block-banner: @surface0; + --dsw-alias-markdown-code-block: @mantle; + --dsw-alias-markdown-code-segment-selected: var( + --dsw-static-neutral-bluish-800 + ); + --dsw-alias-markdown-code-segment-unselected: var( + --dsw-static-neutral-bluish-900 + ); + --dsw-alias-markdown-inline-code: @surface0; + --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-850); + + --dsw-alias-scrollbar-bg-l1: @surface2; + --dsw-alias-scrollbar-bg-l2: @overlay0; + --dsw-alias-scrollbar-hover-l1: @overlay0; + --dsw-alias-scrollbar-hover-l2: @overlay1; + + --dsw-alias-state-error-primary: @red; + --dsw-alias-state-error-secondary: @red; + + --dsw-alias-state-success-primary: @green; + --dsw-alias-state-success-secondary: @green; + + --dsw-alias-state-warn-label: var(--dsw-static-amber-600); + --dsw-alias-state-warn-primary: var(--dsw-static-amber-500); + --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400); + --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-900); + + --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-750); + --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-750); + + --dsw-specific-bubble: @surface0; + --dsw-specific-input-major: @surface0; + --dsw-specific-login-input: var(--dsw-static-neutral-900); + --dsw-specific-menu: var(--dsw-alias-bg-layer-3); + --dsw-specific-selector: fade(@text, 14%); + --dsw-specific-sidebar-fill: @mantle; + --dsw-specific-sidebar-nav-item-active-accent: @surface0; + --dsw-specific-sidebar-nav-item-active: @surface0; + --dsw-specific-sidebar-nav-item-hover: fade(@text, 8%); + --dsw-specific-tip: var(--dsw-static-neutral-bluish-800); + + --dsr-bg: @crust; + --dsr-text-0: @text; + --dsr-text-1: @subtext1; + --dsr-text-2: @subtext0; + --dsr-text-3: @overlay2; + --dsr-text-4: @overlay1; + --dsr-border-1: rgb(var(--ds-rgb-neutral-450)); + --dsr-border-2: rgb(var(--ds-rgb-neutral-600)); + --dsr-input-border: #5a5a69; + --dsr-input-bg: #404045; + --dsr-button-main-bg: #509fff; + --dsr-button-main-bg-hover: #4166d5; + --dsr-button-second-bg: var(--dsr-main-2); + --dsr-button-grey-0: rgb(var(--ds-rgb-neutral-600)); + --dsr-button-grey-1: rgb(var(--ds-rgb-neutral-650)); + --dsr-button-grey-2: rgb(var(--ds-rgb-neutral-700)); + --dsr-delete-button-bg: rgb(var(--ds-rgb-red-500) / 0.85); + --dsr-delete-button-bg-hover: rgb(var(--ds-rgb-red-550) / 0.45); + --dsr-tooltip-fg: rgb(var(--ds-rgb-zinc-650)); + --dsr-tooltip-bg: #000; + --dsr-side-bg: #212327; + --dsr-side-hover-bg-rgb: 51, 51, 51; + --dsr-side-hover-bg: rgb(var(--ds-rgb-neutral-750)); + --dsr-icon-fg-1: rgb(var(--ds-rgb-neutral-350)); + --dsr-icon-hover-0: rgb(var(--ds-rgb-neutral-500)); + --dsr-icon-hover-1: rgb(var(--ds-rgb-neutral-700)); + --dsr-side-icon-hover: rgb(var(--ds-rgb-zinc-750)); + --dsr-error-fg: rgb(var(--ds-rgb-red-450)); + --dsr-risk-text: #e4773d; + --dsr-risk-border: #4c4740; + --dsr-risk-fill: #31302e; + + .ds-elevated, [data-elevated] { + #ds-rgb() !important; + } + &, .ds-theme { + #ds-rgb() !important; + + --wip-ds-color-bg-tooltip: @surface0; + } + + .ds-sign-up-form__main { + background: @base; + } + .ds-switch.ds-switch.ds-switch { + --switch-color: @surface2; + --switch-thumb-color: if(@flavor = latte, @base, @text); + &.ds-switch--checked { + --switch-color: @accent; + --switch-thumb-color: @base; + } + } + .ds-basic-button--primary { + --ds-primary-button-text-color: @base; + } + .ds-checkbox svg { + color: @base; + } + + .ds-tooltip { + --tooltip-text-color: @text; + } + + /* Fade out text on active sidebar nav item */ + ._546d736.b64fb9ae ._254829d { + --mask-base-color: #lib.rgbify(@surface0)[]; + } + /* Fade out text on hovered sidebar nav item */ + ._546d736 ._254829d { + --mask-base-color: #lib.rgbify(@surface0)[]; + } + + /* Fade out on top of conversation */ + .c99b79f8.c99b79f8.c99b79f8 { + background: linear-gradient(to bottom, @crust, transparent); + } + /* Fade out on top of conversation when multiselect active */ + .a51c5344 .c99b79f8.c99b79f8.c99b79f8 { + background: linear-gradient( + to bottom, + var(--dsw-alias-bg-multi-select), + transparent + ); + } + + /* Response feedback rating radio button focus */ + ._74d6322 + .ds-radio-button-group + .ds-radio-button.ds-radio-button--active::after { + box-shadow: var(--radio-button-group-button-outline-box-shadow-focus); + } + + /* Send button icon */ + ._7436101 { + color: @base; + } + } +} diff --git a/styles/desmos/README.md b/styles/desmos/README.md new file mode 100644 index 0000000000..192cc6817a --- /dev/null +++ b/styles/desmos/README.md @@ -0,0 +1,37 @@ + + + +

+ Logo
+ + Catppuccin for Desmos + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> This userstyle is currently incompatible with DesModder's Visual>Syntax Highlighting plugin. + +## ๐Ÿ’ Current Maintainer +- [gradylink](https://github.com/gradylink) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/desmos/catppuccin.user.less b/styles/desmos/catppuccin.user.less new file mode 100644 index 0000000000..b5aa3a530c --- /dev/null +++ b/styles/desmos/catppuccin.user.less @@ -0,0 +1,1316 @@ +/* ==UserStyle== +@name Desmos Catppuccin +@namespace github.com/catppuccin/userstyles/styles/desmos +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/desmos +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/desmos/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adesmos +@description Soothing pastel theme for Desmos +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp( + "^(https?:\/\/)(?!(cl|teacher|student)\.desmos\.com)([a-zA-Z0-9-]+\.)?desmos\.com(\/.*)?$" + ) { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + .dcg-desmos-svg-logo g { + fill: @text; + } + + .dcg-expression-top-bar { + border-right-color: @surface0 !important; + border-bottom-color: @surface0 !important; + } + + .user-info, .dcg-saved-graphs-tile-or-row, .dcg-graph-list__header-row { + border-bottom-color: @surface0 !important; + } + + .dcg-exppanel-container { + --dcg-item-background-color: @base; + background: @base; + } + + i:not( + .dcg-shared-product-icon, + .dcg-icon-error, + .dcg-geo-basic-tools .dcg-icon-caret-down, + .dcg-geometry-toolbar-view i, + .dcg-btn-short-blue i + ) { + opacity: 1 !important; + text-shadow: none !important; + color: @text !important; + } + + .dcg-expressionitem:not(.dcg-selected) .dcg-tab, + .dcg-account-reminder, + .search-container input, + .dcg-evaluation-view__wrapped-value, + .dcg-loading-background-div, + .dcg-mq-sqrt-container .dcg-mq-empty, + .dcg-mq-fraction .dcg-mq-empty, + .dcg-my-graphs-modal__footer, + .dcg-product-filter__button.dcg-hovered, + .dsm-panic-button, + .dcg-select-dropdown-option.dcg-hovered { + background: @mantle !important; + } + + .dcg-expressionitem.dcg-selected .dcg-tab { + background: @accent !important; + + .dcg-num { + color: @mantle !important; + } + + .dcg-slider-menu-opener i, .dcg-icon-zoom-fit, .dcg-icon-create-table { + color: @mantle !important; + } + + .dcg-circular-icon:not(:has(.dcg-icon-parametric-solid)):not( + .dcg-colored-icon + ) { + border-color: @mantle !important; + + i { + color: @mantle !important; + } + } + } + + /* This is not applied to entire view to prevent the graph from changing color. */ + .dcg-new-expression-fade, + .dcg-mq-editable-field::after, + .dcg-popover, + .dcg-options-menu, + .dcg-dropdown-popover__interior, + .dcg-arrow, + .dcg-table-container, + .dcg-mq-editing-overflow-left::before, + .dcg-exppanel-outer__wrapper { + --dcg-custom-background-color: @base; + } + + .dcg-popover .dcg-new-item, + .dcg-evaluation-view__equals-sign, + .dcg-circular-icon-container { + opacity: 1 !important; + } + + .dcg-popover-interior, + .dcg-dropdown-popover__interior, + .dcg-notice--authenticate, + .dcg-btn-white-outline, + .dcg-action-save.dcg-disabled, + .dcg-calc-option, + .dcg-end-test-button, + .dcg-action-cartesian, + .dcg-action-polar, + .dcg-evaluation-view__plaintext, + .dcg-add-inference-wizard__table th, + .dcg-add-inference-wizard__table td, + .dcg-add-inference-wizard__sample-type-selector.dcg-selected, + .dcg-table--cell, + .dcg-checkbox:not(.dcg-geometry-toolbar-view .dcg-checkbox), + .dcg-product-filter__button { + border-color: @text !important; + } + + .dcg-btn-white-outline.dcg-hovered, .dcg-end-test-button.dcg-hovered { + box-shadow: 0 0 0 1px @text !important; + } + + .dcg-arrow::after, .dcg-add-inference-wizard__header { + border-bottom-color: @text !important; + } + + .dcg-expressionitem.dcg-selected { + border-color: @accent !important; + --dcg-item-border-color: @accent !important; + } + + .dcg-expressionitem:not(.dcg-selected) { + border-top-color: @surface0 !important; + } + + .dcg-popover-title, .dcg-dropdown-popover__title, .dcg-help-menu-title { + color: @accent !important; + background-color: transparent !important; + border-bottom-color: @accent !important; + } + + .dcg-toggle-track { + background: @subtext0 !important; + } + + .dcg-toggle-switch, .dcg-or-separator { + background: @text !important; + } + + .dcg-toggled .dcg-toggle-switch { + background: @overlay1 !important; + } + + .dcg-keypad-btn.dcg-btn-light-on-gray, + .dcg-keypad-btn.dcg-btn-light-gray, + .dcg-ctrl-toggle-cover { + background: @mantle !important; + border-color: @surface0 !important; + } + + .dcg-keypad-btn.dcg-btn-dark-on-gray { + background: @crust !important; + border-color: @surface0 !important; + } + + @layer { + .dcg-btn-short-blue, .dcg-btn-blue, .dcg-copy-button { + background: @accent !important; + border-color: transparent !important; + color: @base !important; + + *, *::before { + color: @base !important; + } + } + } + + .dcg-btn-red { + background: @red !important; + border-color: none !important; + color: @base !important; + } + + .dcg-unstyled-button.dcg-disabled { + color: @subtext0 !important; + border-color: @subtext0 !important; + } + + .dcg-overgraph-icon-container { + background: @base; + border-radius: 5px; + } + + .dcg-header, + .dcg-main-header-container, + .navbar-inner, + .dcg-practice-header-view { + background: @crust !important; + border-bottom-color: @surface0 !important; + *:not( + .dcg-btn-blue, + .dcg-dropdown-popover__title, + .dcg-copy-button > span, + .dcg-copy-button, + .dcg-help-menu-title + ) { + color: @text !important; + } + } + + .dcg-variable-permalink, + .dcg-shared-input-blue-outline:not( + .dcg-geometry-toolbar-view .dcg-shared-input-blue-outline + ), + .dcg-input-blue-outline:not( + .dcg-geometry-toolbar-view .dcg-input-blue-outline + ) { + background: @mantle; + border-color: @text !important; + + &.dcg-focus-visible { + box-shadow: inset 0 0 0 1px @accent !important; + border-color: @accent !important; + } + } + + *:not(.dcg-header-right-content) + > * + > *:not(.dcg-share-menu__sharing-options-button) + > .dcg-icon-print, + *:not(.dcg-share-menu__sharing-options-button) > .dcg-icon-export, + .dcg-icon-embed { + box-shadow: 0 0 0 1px @accent !important; + } + + .dcg-hovered:not(.dcg-share-menu__sharing-options-button) > .dcg-icon-print, + .dcg-hovered:not(.dcg-share-menu__sharing-options-button) + > .dcg-icon-export, + .dcg-hovered > .dcg-icon-embed { + background: fade(@accent, 26%) !important; + } + + .dcg-notice--authenticate, + .dcg-authentication-modal, + .dcg-authentication-modal__detail, + .dcg-btn-gray-outline.dcg-hovered:not(.dcg-frontpage-landing__button), + .dcg-resources-container, + .dcg-account-link, + .dcg-title, + .dcg-lost-work-link, + .dcg-action-save.dcg-disabled, + .account-name, + .account-email, + .dcg-account-container *, + .dcg-icon-remove::before, + .dcg-tooltip-message, + .dcg-attempt-recovery.dcg-hovered, + .no-matches, + .dcg-basic-calculator-footer, + .dcg-basic-calculator-footer *, + .dcg-checkbox-label, + .dcg-input-blue-outline, + .dcg-shared-modal-contents-wrapper + *:not( + .dcg-btn-blue, + .dcg-gray-link, + .dcg-blue-link, + .dcg-shared-tab-gray-underline + ), + .dcg-start-practice-screen, + .dcg-calc-option, + .dcg-keypad-control-toggle, + code, + h3, + .dcg-show-more-row-interior, + .dcg-label-input, + .dcg-checkbox-children, + .dcg-axis-label-to, + .pulsing-message, + .dsm-panic-close-button, + #dsm-panic-reopen-button { + color: @text !important; + } + + .dcg-shared-modal-contents-wrapper, + .dcg-shared-modal-title::before, + .dcg-authentication-modal__detail, + .dcg-user-bar, + .dcg-scrollable, + .dcg-expressionitem.dcg-shell, + .dcg-loading-div-container, + .dcg-mini-play-pause, + .dcg-start-practice-screen, + .dcg-basic-calc-practice, + .dcg-cell.dcg-non-editable.dcg-selected, + pre, + .dcg-action-polar:not(.dcg-selected), + .dcg-action-cartesian:not(.dcg-selected), + .dcg-my-graphs-modal__options, + #dsm-panic-popover, + .dcg-hotkeys-header, + .dcg-select-dropdown-list { + background: @base !important; + } + + .dcg-authentication-modal__divider::before, + .dcg-authentication-modal__divider::after { + border-bottom-color: @text !important; + } + + .dcg-btn-gray-outline, .dcg-dropdown-input { + background: @mantle !important; + border-color: @surface0 !important; + + &.dcg-hovered { + box-shadow: 0 0 0 1px @text !important; + } + } + + .dcg-user-bar { + border-bottom-color: @surface0 !important; + } + + .graph-link-container.dcg-hovered, + .graph-link-container.dcg-selected .graph-link, + .dcg-tooltip-message, + .dcg-sliding-interior, + .dcg-keypad-control-toggle, + .dcg-dropdown-choice.dcg-selected, + .dcg-saved-graphs-tile-or-row.dcg-selected, + .dcg-track > .dcg-graphic { + background: @crust !important; + } + + .dcg-circular-icon { + border-color: @text !important; + opacity: 1 !important; + } + + .dcg-thumb > .dcg-graphic { + background: fade(@accent, 59%) !important; + } + + .dcg-thumb > .dcg-center, + .dcg-action-cartesian.dcg-selected, + .dcg-action-polar.dcg-selected { + background: @accent !important; + } + + .dcg-evaluation-view__wrapped-value, + .dcg-circular-icon.dcg-hidden, + .dcg-keypad-control-toggle, + .dcg-btn-gray-outline { + border-color: @surface0 !important; + box-shadow: none !important; + } + + .dcg-tooltip-arrow { + border-bottom-color: @crust !important; + } + + .dcg-hovered > .dcg-add-blank { + background: fade(@text, 26%) !important; + } + + .dcg-icon-error { + color: @yellow !important; + } + + .dcg-action-redo.dcg-disabled, .dcg-action-undo.dcg-disabled { + opacity: 1 !important; + + i { + color: @surface1 !important; + } + } + + .dcg-loading-div { + filter: @text-filter !important; + } + + .dcg-inline-math-input-view .dcg-math-field, + .dcg-ticker-settings-internal .dcg-math-field { + border-bottom-color: @overlay2 !important; + + &.dcg-focus { + border-bottom-color: @accent !important; + } + } + + .dcg-mq-ghost { + opacity: 1 !important; + color: @overlay2; + } + + .dcg-mq-root-block::after, .dcg-action-cancel { + opacity: 1 !important; + } + + .dcg-mini-play-pause { + border-color: @base !important; + } + + .dcg-gray-link, .dcg-centered-top-link, .dcg-cancel-while-loading { + color: @accent !important; + } + + .dcg-shared-tab-gray-underline.dcg-selected { + border-bottom-color: @accent !important; + } + + .dcg-calc-option.dcg-is-selected { + border-color: @accent !important; + box-shadow: 0 0 0 1px @accent !important; + background: fade(@accent, 13%) !important; + } + + /* To make this !important more important than Desmos' !important */ + @layer { + .dcg-mq-selection { + &, + .dcg-mq-non-leaf, + .dcg-mq-scaled { + background: @accent !important; + color: @base !important; + } + } + } + + .dcg-cell.dcg-first-column, .dcg-cell.dcg-interior-column { + border-right-color: @text !important; + } + + .dcg-cell.dcg-table-header { + border-bottom-color: @text !important; + } + + .dcg-cell.dcg-interior-row, .dcg-show-more-row { + border-bottom-color: @surface2 !important; + } + + .dcg-cell.dcg-selected { + box-shadow: inset 0 0 0 2px @accent !important; + + &:not(.dcg-computed-cell)::after, .dcg-inner-border { + border-color: @accent !important; + } + } + + .dcg-action-changeimage.dcg-hovered, + .dcg-expressionitem .dcg-icon-remove.dcg-hovered::before, + .dcg-complex-enabled-note, + .dcg-expression-warning, + .dcg-reference-count, + .dcg-maxLabel.dcg-hovered, + .dcg-minLabel.dcg-hovered { + color: @subtext0 !important; + } + + .active-arrow .dcg-graphic { + border-right-color: @base !important; + } + + .dcg-row:nth-of-type(2) .dcg-cell, + table th, + table td, + .footer, + .dcg-add-inference-wizard--create-button-wrapper, + .dcg-small-screen-menu__logout-container, + .dcg-product-filter__clear-filter-container { + border-top-color: @text !important; + } + + .dcg-row .dcg-cell, + .dcg-expressionfolder .dcg-fade-container::after, + .dcg-expressionitem.dcg-inFolder .dcg-fade-container::after { + border-left-color: @text !important; + } + + .dcg-row:not(:nth-of-type(2)) .dcg-cell { + border-top-color: @surface2 !important; + } + + .dcg-cell .dcg-empty-line { + border-top-color: transparent !important; + } + + #pageHeader.brand, .dcg-grapher__error-in-graph-bounds { + text-shadow: none !important; + } + + .dcg-btn-light-gray, .dcg-btn-light-on-gray { + background: @mantle !important; + box-shadow: none !important; + border-color: @text !important; + color: @text !important; + } + + .spa-header { + background: @green !important; + color: @base; + + @layer { + .spa-header .dcg-icon-desmos { + color: @base !important; + } + } + + .state-name, .test-name { + border-left-color: @base !important; + } + } + + .dcg-complex-container, + .dcg-axes-settings-container, + .dcg-options-menu-section { + border-top-color: @overlay2 !important; + } + + .dcg-visual-settings { + border-bottom-color: @overlay2 !important; + } + + .dcg-checkbox__box, + .dcg-axis-label, + .dcg-clickable-menu-row:has(.dcg-input-label) > .dcg-mathquill-wrapper { + --dcg-accent-color: @accent !important; + } + + .dcg-segmented-control-btn.dcg-selected, + .dcg-action-cartesian.dcg-selected > i::before, + .dcg-action-polar.dcg-selected > i::before, + .dcg-grapher__error-in-graph-bounds, + .dcg-toast-view, + .dcg-toast .dcg-undo, + .dcg-segmented-control-container .dcg-selected i::before, + .dcg-selected-graphs-actions__icon-btn i::before, + .dcg-segmented-control-btn.dcg-selected * { + color: @base !important; + } + + @layer { + .dcg-btn-blue:has(> .dcg-icon-caret-down) { + i { + color: @base !important; + } + + &::before { + border-left-color: @base !important; + } + } + } + + .dcg-label-input { + border-color: @text !important; + + &:focus { + border-color: @accent !important; + box-shadow: 0 1px @accent !important; + } + } + + .dcg-toast { + background: @yellow !important; + border-color: @peach !important; + } + + .dcg-expressionitem.dcg-inference-wizard-insert-target { + --dcg-item-border-color: @text !important; + } + + .dcg-add-inference-wizard__table td:has(.dcg-focus)::after, + .dcg-table--cell:has(.dcg-focus)::after { + border-color: @accent !important; + } + + .dcg-add-inference-wizard__sample-type-selector.dcg-hovered:not( + .dcg-selected + ) { + border-color: @overlay0 !important; + } + + @layer { + .dcg-frontpage-landing-interactive__graph-link, + .dcg-frontpage-landing-interactive__arrow-overlay { + i { + color: @base !important; + } + } + } + + .dcg-my-graphs-modal__heading--selectable { + &.dcg-hovered { + box-shadow: 0 3px @overlay0 !important; + } + + &.dcg-selected { + box-shadow: 0 3px @accent !important; + } + } + + .dcg-saved-graphs-tile { + --dcg-saved-graphs-tile-or-row-hover-color: @crust !important; + background: @mantle !important; + } + + .dcg-graph-list__row.dcg-hovered:not(.dcg-selected), + .dcg-my-graphs-modal__currently-open, + .dcg-graph-list__field-btn.dcg-hovered, + .dcg-product-filter__option--selected { + background: @mantle !important; + } + + @layer { + .dcg-saved-graphs-tile__subtitle { + color: @base !important; + } + } + + .dcg-geometry-toolbar-view { + .dcg-component-checkbox, & { + color: #000 !important; + } + } + + .dcg-my-graphs-modal-empty-state__logged-out { + border-color: @surface1 !important; + } + + .dcg-shortcuts-table tr { + border-bottom-color: @surface2 !important; + } + + --dcg-custom-text-color: @text; + --dcg-custom-background-color-shaded: @base; + + /* DesModder */ + .dsm-plugin-title-bar, + .dsm-version-number, + .dsm-plugin-info-body, + .cm-panel, + #intellisense-container td, + .dsm-vc-outfile-name { + color: @text !important; + } + + .cm-gutters, .cm-foldPlaceholder, .selected-intellisense-option { + background: @crust !important; + } + + .อผb { + color: @mauve !important; + } + + .อผe { + color: @red !important; + } + + .อผd { + color: @green !important; + } + + .cm-activeLineGutter, #intellisense-container, .dsm-vc-outfile-name { + background: @mantle !important; + } + + .cm-focused .cm-matchingBracket { + background: fade(@accent, 25%) !important; + } + + .cm-activeLine { + background: fade(@surface0, 50%) !important; + } + + .cm-foldPlaceholder, #intellisense-container { + border-color: @surface0 !important; + } + + .cm-gutters { + color: @subtext0 !important; + border-right-color: @surface0; + } + + .cm-panels, .dsm-vc-preview-inner { + background: @base !important; + } + + .cm-panels-bottom { + border-top-color: @surface0 !important; + } + + .cm-lintRange-error { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .cm-cursor { + border-left-color: @text !important; + } + + .cm-selectionBackground { + background: @surface1 !important; + } + + .compact-view-enabled .dcg-mq-cursor { + border-color: @text !important; + } + + @layer { + .dsm-vc-preview-expand, + .dsm-vc-remove-frame, + .dsm-vc-preview-play-pause { + i { + color: @base !important; + } + } + } + + .dsm-vc-outfile-name { + border-bottom-color: @overlay0 !important; + + &.dcg-hovered { + box-shadow: 0 1px @overlay0 !important; + } + + &:focus { + border-bottom-color: @accent !important; + box-shadow: 0 1px @accent !important; + } + } + + /* Non-Calculator Pages */ + .cls-1, #states path { + fill: @accent !important; + } + + #states path:not(.uses-desmos) { + filter: brightness(125%); + } + + .dcg-frontpage-landing-hero, + .dcg-frontpage-landing__button--hero, + .dcg-text--dark-blue, + .dcg-for-work-hero__label, + .accessibility-main details[open] summary, + .accessibility-main details[open] summary h3 { + color: @base !important; + } + + .dcg-frontpage-landing__button, .dcg-for-work-hero__button { + background: @text !important; + color: @base !important; + opacity: 1 !important; + } + + .dcg-frontpage-landing-geometry__primary-link { + background: @mauve !important; + } + + .dcg-frontpage-landing-3d__primary-link { + background: @maroon !important; + } + + .dcg-frontpage-landing-section, + .dcg-frontpage-landing-tools__link, + .dcg-link-section-title, + .dcg-finalist-name, + li, + .section-interior *, + .dcg-p-tag, + .dcg-search-container input, + .dcg-searchable-dropdown-list, + .section-interior, + .careers-hero h1, + .sticky-nav li:not(.active) a, + .top-info, + .partners, + .dcg-principles-section *, + .dcg-for-work-hero, + body, + .dcg-basic-markdown-container p, + .dcg-basic-markdown-container table th, + .accessibility-main { + color: @text !important; + } + + .dcg-frontpage-landing-interactive__arrow-overlay { + /* Desmos' normal solution looks bad when zoomed in (it uses like 10 stacked text-shadows.) */ + text-shadow: none; + paint-order: stroke fill; + -webkit-text-stroke: 4px white; + } + + .dcg-frontpage-landing-section--bg-light, + .dcg-frontpage-landing-section--bg-dark, + .dcg-facts-wrapper, + .dcg-principles-container__light-bg, + .dcg-for-work-hero, + .dcg-section--gray, + .callout--primary, + .lt-dropdown-menu, + .dcg-basic-markdown-container table th, + .accessibility-main section:nth-of-type(2n) { + background: @crust !important; + } + + .dcg-frontpage-landing-classroom__card, + body, + .dcg-frontpage-landing-testing__bullets, + .accessibility-features-in-tools li, + .accessibility-main details { + background-color: @base !important; + } + + .dcg-blue-link, + .dcg-footer-link, + .dcg-primary-link, + .dcg-shared-tab-gray-underline, + .dcg-btn-blue-outline { + color: @accent !important; + } + + .dcg-footer-legal-content-container, + .sticky-nav li.active a, + .dcg-principles-header, + .dcg-for-work-hero__label, + .accessibility-main details[open] summary { + background: @accent !important; + } + + .dcg-finalist-location, .dcg-subtitle, .breadcrumbs li::before { + color: @subtext0 !important; + } + + .dcg-shared-tab-gray-underline.dcg-hovered { + border-bottom-color: @accent !important; + } + + .dcg-footer-main-content-container, + .careers-hero, + .dcg-background--light-blue, + .state-info:not(.modal-view) { + background: @base !important; + } + + .dcg-footer-legal-info a, + .dcg-footer-title, + .dcg-copyright, + .dcg-footer-legal-info, + .sticky-nav li.active a, + .dcg-principles-header * { + color: @base !important; + } + + .dcg-test-blurb, + .dcg-key-command, + pre, + .dcg-container, + .lt-dropdown-menu, + .accessibility-main details { + border-color: @surface0 !important; + } + + .dcg-search-container input, + .dcg-searchable-dropdown-list, + .sticky-nav li:not(.active) a, + .dcg-key-command, + .dcg-btn-blue-outline, + *:not(pre) > code { + background: @mantle !important; + } + + .dcg-search-container input:focus, + .pdf-button, + .dcg-btn-blue-outline, + .callout--primary, + .lt-btn, + .lt-section-subscribe button { + border-color: @accent !important; + } + + .dividing-line { + background: @surface0 !important; + } + + .job-openings-message-container .white-background { + background: transparent !important; + } + + .pdf-button.dcg-hovered, .dcg-btn-blue-outline.dcg-hovered { + box-shadow: 0 0 0 1px @accent !important; + } + + .dcg-footer-logo img, .dcg-testimonial__image { + filter: @text-filter; + } + + .dcg-for-work-hero__input { + border-color: @text !important; + + &:focus { + box-shadow: 0 0 0 1px @text !important; + } + } + + .dcg-basic-markdown-container table { + th, td { + border-color: @text !important; + } + } + + /* Scientific, Geometric, and Matrix */ + .dcg-calc-basic-main, #main { + --dcg-custom-background-color: @base; + border-color: transparent !important; + } + + .dcg-basic-list-container, .dcg-matrix-list-container { + border-top-color: @surface0 !important; + } + + .dcg-basic-list-placeholder, + .dcg-keypad-control-bar, + .dcg-matrix-list-placeholder { + border-left-color: @surface0 !important; + border-right-color: @surface0 !important; + } + + .dcg-basic-keypad-container, + .dcg-basic-expression, + .dcg-latex-expression, + .dcg-matrix-expression { + border-color: @surface0 !important; + } + + .dcg-keypad-control-btn.dcg-selected::after, + .dcg-segmented-control-btn.dcg-selected { + background: @accent !important; + } + + .dcg-basic-expression.dcg-focused, + .dcg-matrix-expression.dcg-focused, + .dcg-latex-expression.dcg-focused { + border-color: @accent !important; + box-shadow: inset 0 0 0 1px @accent !important; + } + + .dcg-resize-action { + background: @mantle !important; + border-color: @surface0 !important; + } + + .dcg-matrix-container, .dcg-segmented-control-btn.dcg-selected { + border-color: @text !important; + } + + .dcg-matrix-view .dcg-mq-math-mode.dcg-mq-focused { + border-bottom-color: @accent !important; + } + + .dcg-mq-ans { + border-color: @accent !important; + color: @accent !important; + background: fade(@accent, 26%) !important; + + &::after { + border-color: @accent !important; + color: @accent !important; + background: @mantle !important; + } + } + + .dcg-keypad-control-btn.dcg-disabled { + opacity: 1 !important; + color: @surface1 !important; + + i { + color: @surface1 !important; + } + } + + --dcg-custom-text-color-shaded: @text; + + /* Help Center */ + .lt-container-inner *, + .lt-topbar, + .hc-multiselect-toggle li span[aria-label]::before { + color: @text !important; + } + + .lt-container-inner a:not(.lt-btn--primary), .lt-topbar__link { + color: @accent !important; + } + + .lt-topbar { + background: @crust !important; + } + + .lt-topbar__logo { + filter: @text-filter; + } + + .lt-hero-unit__bg, + .lt-footer-submit-ticket, + .tab, + .lt-new-request-tip, + .form-field input, + .form-field textarea, + .hc-multiselect-toggle, + .hc-multiselect-menu { + background: @mantle !important; + } + + input[type="submit"], .lt-block-list-item__link, .lt-btn--primary { + background: @accent !important; + border-color: @accent !important; + color: @base !important; + } + + input[type="search"] { + background: @crust !important; + border-color: @text !important; + } + + .search::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .lt-block-list-item__link * { + color: @base !important; + } + + .lt-custom-block__icon { + filter: @accent-filter; + } + + .lt-footer, + .lt-search-box:not(.lt-search-box--hero-unit), + .lt-breadcrumbs-wrapper, + .hc-multiselect-menu li:focus, + .hc-multiselect-toggle li { + background: @base !important; + } + + .lt-scroll-to-top { + color: @accent !important; + } + + .pagination-list *, .lt-scroll-to-top, .lt-new-request-tip { + border-color: @accent !important; + } + + .lt-header, .lt-search-result { + border-bottom-color: @surface0 !important; + } + + .lt-search-result__text em { + background: @yellow !important; + color: @base !important; + } + + .lt-toc--link.is-active > span { + color: @base !important; + } + + .tab, .key-command, .hc-multiselect-toggle, .hc-multiselect-menu { + border-color: @surface0 !important; + } + + @layer { + .tabs-link { + color: @text !important; + + &:hover { + color: @accent !important; + } + + &.is-active { + color: @base !important; + background: @accent !important; + border-color: @accent !important; + } + } + } + + .upload-dropzone[data-hc-focus="true"] { + border-color: @accent !important; + } + + --input-border-color: @surface0; + --input-focus-border-color: @accent; + + /* Blog */ + .content-wrap *:not(a), .tag-links > a { + color: @text !important; + } + + .article header { + border-top-color: @surface0 !important; + } + + *:not(.tag-links) > a:not(.img-card, .btn-blue, .btn-blue-outline) { + color: @accent; + } + + .tag-container a { + border-color: @text !important; + + &:active { + background: fade(@text, 50%) !important; + } + } + + .img-card { + border-color: @surface2 !important; + + &:hover { + box-shadow: 0 0 0 1px @surface2 !important; + } + } + + .btn-blue { + background: @accent !important; + color: @base !important; + } + + .btn-blue-outline { + border-color: @accent !important; + color: @accent !important; + + &:hover { + box-shadow: 0 0 0 1px @accent !important; + } + } + + .dcg-frontpage-landing__announcement { + background: @accent; + color: @text; + } + + .dcg-frontpage-landing__announcement-interior { + background-color: fade(@crust, 50%); + } + + /* Exams & Testing Pages (desmos.com/testing/default/{fourfunction,graphing,scientific}) */ + .spa-sample-calculator-view { + .dcg-sample-calculator__header i.dcg-icon-desmos { + color: @base !important; + } + + .dcg-sample-calculator__header { + background-color: @accent !important; + color: @base !important; + } + + .dcg-sample-calculator__calculator-name, + .dcg-sample-calculator__state-name { + border-color: @base; + } + } + + /* Login/sign up modal */ + .dcg-shared-modal-dialog { + color: @text; + --dcg-modal-background-color: @base; + + /* Account signup welcome */ + .dcg-authentication-modal__sublabel { + color: @subtext0; + } + .dcg-authentication-modal__tag { + background-color: fade(@accent, 20%); + + &:hover { + background-color: fade(@accent, 30%); + } + + &.dcg-authentication-modal__tag--selected { + border-color: @accent; + } + } + } + + /* Account button/dropdown (displays username) */ + .dcg-header-bar__account-menu { + &.dcg-hovered, &[aria-expanded="true"] { + background-color: @surface0; + } + } + /* Account settings modal */ + .dcg-shared-account-dialog { + color: @text; + } + + /* Desmos Professional (desmos.com/professional) */ + .dcg-professional-hero { + background-color: @crust; + color: @text; + } + .dcg-section__beta-button { + color: @base; + background-color: @text; + + &.dcg-hovered { + background-color: @subtext1; + } + + &.dcg-depressed { + background-color: @subtext0; + } + } + + /* "powered by" text above logo */ + .dcg-powered-by { + color: @text !important; + } + + /* saved graph titles */ + .dcg-checkbox__content { + color: @accent; + } + /* saved folders */ + .dcg-saved-graphs { + --dcg-folder-background-color: @mantle; + } + + /* slider bounds */ + .dcg-slider { + --dcg-custom-secondary-text-color: @accent; + } + + /* tutorial (internally called tour/trip) */ + .dcg-trip-interior, .dcg-trip-content { + background: @base !important; + color: @text; + } + + /* folders */ + .dcg-folder { + --dcg-folder-background-color: @mantle !important; + } + .dcg-folder-item-count { + color: @subtext1; + } + .dcg-my-graphs-modal__back-btn-text, + .dcg-folder__name, + .dcg-my-graphs-modal__folder-header + > .dcg-my-graphs-modal-saved-graphs-header, + .dcg-example-gallery__heading, + .dcg-saved-graphs-tile__title { + color: @accent; + } + + /* folders search (no items found) */ + .dcg-my-graphs-modal-empty-state__heading { + color: @accent !important; + } + .dcg-my-graphs-modal-empty-state__no-search-results { + color: @subtext1; + } + + /* new graph button */ + .dcg-new-my-graphs-item__button { + color: @text !important; + } + .dropdown-option-container > .dcg-dropdown-choice[role="menuitem"] { + color: @text; + } + + /* update to new behavior button (write f()=random() then enter/exit text mode) */ + .dcg-update-behavior-btn { + border-color: @surface0 !important; + } + + /* desmodder: intellisense current variable highlight */ + .pfc-param-selected { + background: @surface0 !important; + color: @text !important; + } + + /* line numbers */ + .dcg-num { + color: @text; + } + } +} diff --git a/styles/dev.to/README.md b/styles/dev.to/README.md new file mode 100644 index 0000000000..baf9306538 --- /dev/null +++ b/styles/dev.to/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for DEV Community + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [shnjd](https://github.com/shnjd) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/dev.to/catppuccin.user.less b/styles/dev.to/catppuccin.user.less new file mode 100644 index 0000000000..e4fb491516 --- /dev/null +++ b/styles/dev.to/catppuccin.user.less @@ -0,0 +1,260 @@ +/* ==UserStyle== +@name DEV Community Catppuccin +@namespace github.com/catppuccin/userstyles/styles/dev.to +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/dev.to +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/dev.to/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adev.to +@description Soothing pastel theme for DEV Community +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("dev.to"), domain("forem.com") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + body.dark-theme { + #catppuccin(@darkFlavor); + } + body.light-theme { + #catppuccin(@lightFlavor); + } + body[data-user-status="logged-out"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --body-bg: @mantle; + --black: if(@flavor = latte, @text, @crust); + --body-color: @text; + --color-primary: @subtext1; + --color-secondary: @subtext0; + + --header-bg: @base; + --header-shadow: @crust; + + --footer-bg: @crust; + --footer-color: @subtext0; + + --form-bg: @crust; + --form-bg-focus: @base; + --form-border: @surface0; + --form-border-hover: @surface1; + --form-border-focus: @accent; + --focus: @accent !important; + + --base-100: @text; + --base-90: @subtext1; + --base-80: @subtext1; + --base-70: @subtext0; + --base-60: @overlay2; + --base-50: @overlay1; + --base-20: @base; + --base-0: @crust; + --base-inverted: @surface0; + + --tab-color-current: @accent; + --tab-color: @text; + --tab-color-hover: @base; + --tab-bg-hover: fade(@accent, 70%); + + --link-branded-color: @accent; + --link-branded-color-hover: @accent; + --link-color: @text; + --link-color-hover: @blue; + --link-bg-hover: @mantle; + --link-color-secondary: @subtext1; + --link-color-secondary-hover: @text; + --link-bg-current: @mantle; + --link-color-current: @accent; + --link-current-bg: @surface0; + --link-current-color: @accent; + + --btn-bg-hover: @surface0; + --btn-color: @text; + --btn-color-hover: @accent; + --btn-primary-bg: @accent; + --btn-primary-bg-hover: fade(@accent, 90%); + --btn-primary-color: @base; + --btn-primary-color-hover: @crust; + + --button-primary-color: @base; + --button-primary-color-hover: @base; + --button-primary-bg: @accent; + --button-primary-bg-hover: fade(@accent, 90%); + --button-secondary-bg: @surface1; + --button-secondary-bg-hover: fade(@surface1, 90%); + --button-secondary-color: @subtext1; + --button-secondary-color-hover: @text; + --button-outlined-bg-hover: @mantle; + --button-outlined-color: @subtext1; + --button-outlined-color-hover: @text; + --button-outlined-border: @surface0; + --button-outlined-border-hover: @surface1; + --button-ghost-bg-hover: @base; + --button-ghost-color: @text; + --button-ghost-color-hover: @text; + --button-ghost-dimmed-color: @subtext0; + --button-ghost-dimmed-color-hover: @subtext1; + + --reaction-like-bg: fade(@red, 10%); + --reaction-like-color: @red; + --reaction-comment-color: @yellow; + --reaction-save-color: @blue; + // Article like button when liked. + img[src^="https://assets.dev.to/assets/heart-plus-active-"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + --divider: @surface0; + + --label-primary: @text; + --label-secondary: @subtext1; + + --accent-brand: @accent; + --accent-danger-darker: @red; + --accent-danger: @red; + --accent-warning: @yellow; + --accent-warning-a10: fade(@yellow, 10%); + --accent-success-a10: fade( + @green, + 20% + ); // Share article link "copied to clipboard" confirmation. + + --card-bg: @base; + --card-color: @text; + --card-border: @mantle; + --card-secondary-bg: @surface0; + --card-secondary-bg-hover: fade(@surface0, 90%); + --card-secondary-color: @subtext1; + --card-secondary-border: @surface0; + --card-tertiary-bg: @surface0; + --card-tertiary-bg-hover: fade(@surface0, 90%); + --card-color-tertiary: @text; + + --cta-branded-bg-hover: @accent; + --cta-branded-color: @accent; + --cta-branded-color-hover: @base; + --cta-branded-border: @accent; + --cta-branded-border-hover: @accent; + + --tooltip-bg: @surface2; + --tooltip-color: @text; + + --modal-bg: @surface0; + + --tag-bg: fade(@blue, 10%); + --tag-bg-hover: fade(@blue, 20%); + --tag-color: @blue; + --tag-color-hover: @blue; + --tag-prefix: @blue; + --tag-prefix-hover: @blue; + + --indicator-bg: @blue; + --indicator-color: @base; + --indicator-subtle-bg: fade(@blue, 20%); + --indicator-subtle-color: @subtext1; + + --syntax-background-color: @mantle; + + // popular colors have accent colors. These colors are dynamically assigned, + // whereas other tags fallback color is not overrided by root variables. + .crayons-tag__prefix { + --tag-prefix: @blue; + } + + // danger button + .crayons-btn--danger { + --color: @base; + --color-hover: @crust; + } + + // like and reply button icons in comments + .crayons-btn--ghost .reaction-icon { + filter: none; + } + + // billboard cards on right column has statically coded borders + .text-styles--billboard { + > div { + border-color: @surface0 !important; + } + } + + // dev.to doesn't provide style for
+ hr { + border-color: @surface2; + } + + // Dev++ page + // NOTE: This styling might change in future + // as it is wrapped with custom conatiner with different variables. + #custom { + background-color: @crust; + color: @text; + + // background + .tw-bg-dolphin, + .tw-bg-white, + .tw-bg-black, + .tw-bg-zinc-50, + .tw-bg-zinc-950 { + background-color: @crust; + } + + .tw-bg-zinc-100, + .tw-bg-zinc-200, + .tw-bg-zinc-800, + .tw-bg-zinc-900 { + background-color: @mantle; + } + + // text + .tw-text-black, + .tw-text-white, + .tw-text-zinc-50, + .tw-text-zinc-950 { + color: @text; + } + + .tw-text-zinc-100, + .tw-text-zinc-200, + .tw-text-zinc-800, + .tw-text-zinc-900 { + color: @subtext1; + } + + .tw-text-zinc-300, + .tw-text-zinc-400, + .tw-text-zinc-600, + .tw-text-zinc-700 { + color: @subtext0; + } + + // border + .tw-border-zinc-800, + .tw-border-zinc-600 { + border-color: @surface0; + } + } + } +} diff --git a/styles/devdocs/README.md b/styles/devdocs/README.md new file mode 100644 index 0000000000..0a2016d903 --- /dev/null +++ b/styles/devdocs/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for DevDocs + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [ashish0kumar](https://github.com/ashish0kumar) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/devdocs/catppuccin.user.less b/styles/devdocs/catppuccin.user.less new file mode 100644 index 0000000000..5760a0fb4b --- /dev/null +++ b/styles/devdocs/catppuccin.user.less @@ -0,0 +1,106 @@ +/* ==UserStyle== +@name DevDocs Catppuccin +@namespace github.com/catppuccin/userstyles/styles/devdocs +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/devdocs +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/devdocs/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adevdocs +@description Soothing pastel theme for DevDocs +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("devdocs.io") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + + html._theme-default { + #catppuccin(@lightFlavor); + } + html._theme-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --documentBackground: @base; + --contentBackground: @base; + --textColor: @text; + --textColorLight: @subtext1; + --textColorLighter: @subtext0; + --textColorRed: @red; + + --focusBackground: @surface0; + --focusBorder: @surface1; + --focusText: @text; + --selectionBackground: @accent; + --selectionText: @base; + --selectionBorder: @surface1; + --highlightBackground: @surface2; + --loadingText: @overlay2; + + --linkColor: @blue; + --linkColorHover: @sky; + + --headerBackground: @crust; + --headerBorder: @surface1; + + --searchTagBackground: @crust; + --searchBorder: @surface1; + --inputFocusBorder: @accent; + + --sidebarBackground: @mantle; + --sidebarBorder: @surface1; + --scrollbarColor: @overlay0; + --scrollbarColorHover: @overlay1; + + --boxHeaderBackground: @mantle; + --boxHeaderColor: @text; + --boxBackground: @mantle; + --boxBorder: @surface1; + --boxBorderLight: @surface1; + + --noteBackground: @surface0; + --noteBorder: @surface1; + --noteGreenBackground: fade(@green, 30%); + --noteGreenBorder: @surface1; + --noteBlueBackground: fade(@blue, 30%); + --noteBlueBorder: @surface1; + --noteOrangeBackground: fade(@peach, 30%); + --noteOrangeBorder: @surface1; + --noteRedBackground: fade(@red, 30%); + --noteRedBorder: @surface1; + + --notifBackground: @surface0; + --notifBorder: 1px solid @surface1; + --notifColor: @text; + --tipBackground: @surface0; + --tipBorder: 1px solid @surface1; + --noticeBackground: @surface0; + --noticeBorder: @surface1; + --labelBackground: @surface0; + + ._list-arrow { + fill: @overlay0; + opacity: 1; + + &:hover { + fill: @overlay1; + } + } + + ._search > svg { + fill: @overlay2; + opacity: 1; + } + } +} diff --git a/styles/docs.deno.com/README.md b/styles/docs.deno.com/README.md new file mode 100644 index 0000000000..1f69d5e5bd --- /dev/null +++ b/styles/docs.deno.com/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for docs.deno.com + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/docs.deno.com/catppuccin.user.less b/styles/docs.deno.com/catppuccin.user.less new file mode 100644 index 0000000000..843df3c48c --- /dev/null +++ b/styles/docs.deno.com/catppuccin.user.less @@ -0,0 +1,303 @@ +/* ==UserStyle== +@name docs.deno.com Catppuccin +@namespace github.com/catppuccin/userstyles/styles/docs.deno.com +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/docs.deno.com +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/docs.deno.com/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adocs.deno.com +@description Soothing pastel theme for docs.deno.com +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("docs.deno.com") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + + :root.dark { + #catppuccin(@lightFlavor); + } + :root.light { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --primary: #hsla(@accent)[]; + --background-primary: #hsla(@base)[]; + --background-secondary: #hsla(@mantle)[]; + --background-tertiary: #hsla(@crust)[]; + --foreground-primary: #hsla(@text)[]; + --foreground-secondary: #hsla(@subtext1)[]; + --foreground-tertiary: #hsla(@overlay0)[]; + --foreground-quaternary: #hsla(@surface0)[]; + --runtime-background: 124deg, 100%, 3%; + --runtime-foreground: 184deg, 100%, 90%; + --note: #hsla(@blue)[]; + --info: #hsla(@teal)[]; + --caution: #hsla(@yellow)[]; + --tip: #hsla(@green)[]; + + .banner-runtime { + background-color: fade(@accent, 10%); + color: @text; + border-color: @accent; + } + .banner-deploy { + background-color: fade(@sky, 10%); + color: @text; + border-color: @sky; + } + + .runtime-link { + color: @accent; + text-decoration-color: @accent; + + &:hover { + color: darken(@accent, 5%); + text-decoration-color: darken(@accent, 5%); + } + } + .deploy-link { + color: @sky; + text-decoration-color: @sky; + + &:hover { + color: @sapphire; + text-decoration-color: @sapphire; + } + } + .help-link { + color: @mauve; + text-decoration-color: @mauve; + + &:hover { + color: darken(@mauve, 5%); + text-decoration-color: darken(@mauve, 5%); + } + } + + .heading-runtime { + text-decoration-color: @accent; + } + .heading-deploy { + text-decoration-color: @sky; + } + .heading-purple { + text-decoration-color: @mauve; + } + + .runtime-cta { + background-color: @accent; + border-color: @accent; + + &:hover { + background-color: darken(@accent, 5%); + } + } + .jsr-cta { + background-color: @yellow; + border-color: @yellow; + color: @crust; + + &:hover { + background-color: darken(@yellow, 5%); + } + } + .deploy-cta { + background-color: @sky; + border-color: @sky; + color: @crust; + + &:hover { + background-color: @sapphire; + } + } + + &, + [data-color-mode] { + --color-fg-default: @text; + --color-fg-muted: @subtext1; + --color-canvas-default: @base; + --color-canvas-subtle: @mantle; + --color-border-default: @surface2; + --color-border-muted: @surface0; + --color-accent-fg: @accent; + --color-accent-emphasis: darken(@accent, 5%); + --color-danger-fg: @red; + + --color-prettylights-syntax-markup-deleted-bg: fade(@red, 20%); + --color-prettylights-syntax-markup-inserted-bg: fade(@green, 20%); + } + + // Logo + .fill-black { + fill: @text; + } + + &.light { + .theme-toggle { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + &.dark { + .theme-toggle { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + + .markdownBlockTitle { + background-color: @surface0; + border-color: @overlay0; + color: @subtext1; + } + .check-icon [stroke="green"] { + stroke: @green !important; + } + .markdown-body .admonition { + &.note { + background-color: fade(@blue, 5%); + .title::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + &.tip { + background-color: fade(@green, 5%); + .title::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + &.caution { + background-color: fade(@yellow, 5%); + + .title::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + &.info { + background-color: fade(@teal, 5%); + + .title::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + } + + // "Did you find what you needed?" + .bg-blue-50 { + background-color: fade(@blue, 20%); + } + .border-blue-100 { + border-color: fade(@blue, 30%); + } + + // Breadcrumbs + .crumb-link::after { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + // Toggle switches (tutorial filters) + .slider { + background-color: @overlay2; + } + .filter:checked + .slider { + background-color: @accent; + } + .slider::before { + background-color: @surface0; + } + + // Download and install tabbed component + .deno-tabs > div.deno-tabs-content > div, + .deno-tabs > ul.deno-tabs-buttons > li > button[data-active="true"] { + background-color: @surface1; + color: @text; + border-color: @overlay0; + } + .deno-tabs > ul.deno-tabs-buttons > li > button { + background-color: @surface0; + color: @subtext0; + } + .markdown-body .deno-tabs pre { + background-color: @mantle; + border-color: @overlay0; + } + + /* API reference */ + .ddoc { + #ddoc(@token, @color) { + .text-@{token} { + color: @color; + } + .bg-@{token}\/15 { + background-color: fade(@color, 15%); + } + } + + #ddoc( + Namespace, + @yellow, + ); + #ddoc( + Interface, + @sapphire, + ); + #ddoc( + Enum, + @teal, + ); + #ddoc( + Class, + @mauve, + ); + #ddoc( + Function, + @blue, + ); + #ddoc( + Variable, + @lavender, + ); + #ddoc( + TypeAlias, + @pink, + ); + } + } +} + +#hsla(@color) { + @raw: e( + %("%s, %s%, %s%", hue(@color), saturation(@color), lightness(@color)) + ); +} diff --git a/styles/docs.rs/README.md b/styles/docs.rs/README.md index 77ccbdc13b..a7a8d1db55 100644 --- a/styles/docs.rs/README.md +++ b/styles/docs.rs/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/docs.rs/catppuccin.user.css b/styles/docs.rs/catppuccin.user.less similarity index 78% rename from styles/docs.rs/catppuccin.user.css rename to styles/docs.rs/catppuccin.user.less index ea0c52063b..dd5ad7fb00 100644 --- a/styles/docs.rs/catppuccin.user.css +++ b/styles/docs.rs/catppuccin.user.less @@ -2,8 +2,8 @@ @name docs.rs Catppuccin @namespace github.com/catppuccin/userstyles/styles/docs.rs @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/docs.rs -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/docs.rs/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/docs.rs/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Adocs.rs @description Soothing pastel theme for docs.rs @author Catppuccin @@ -15,75 +15,36 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('docs.rs'), domain('doc.rust-lang.org') { - @media (prefers-color-scheme: light) { - :root:not([data-docs-rs-theme]) { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("docs.rs"), domain("doc.rust-lang.org") { + :root:not([data-docs-rs-theme]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root:not([data-docs-rs-theme]) { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - :root[data-docs-rs-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root[data-docs-rs-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --color-background-code: @mantle; --color-background: @base; --input-color: @text; - --input-box-shadow-focus: 0 0 8px 4px @accent-color; + --input-box-shadow-focus: 0 0 8px 4px @accent; --color-border-light: @surface2; --color-border: @surface0; - --color-doc-link-background: @accent-color; - --color-doc-link-hover: @accent-color; + --color-doc-link-background: @accent; + --color-doc-link-hover: @accent; --color-error-hover: red; --color-error: red; --color-macro: red; @@ -94,7 +55,7 @@ --color-brand: @text; --color-struct: red; --color-type: @peach; - --color-url: @accent-color; + --color-url: @accent; --color-warn-background: @peach; --color-warn-msg: @crust; --color-warn-hover: red; @@ -108,12 +69,17 @@ --main-background-color: @base; --main-color: @text; - --settings-input-color: @accent-color; + --settings-input-color: @accent; --settings-input-border-color: @surface0; --settings-button-color: @text; - --settings-button-border-focus: @accent-color; + --settings-button-border-focus: @accent; + --settings-menu-filter: @subtext0-filter; + --settings-menu-hover-filter: @subtext1-filter; --sidebar-background-color: @mantle; --sidebar-background-color-hover: @crust; + --sidebar-border-color: @overlay1; + --sidebar-resizer-hover: @sky; + --sidebar-resizer-active: @sapphire; --source-sidebar-background-selected: @surface0; --source-sidebar-background-hover: @base; --code-block-background-color: @mantle; @@ -123,7 +89,7 @@ --right-side-color: @surface2; --code-attribute-color: @yellow; --toggles-color: @subtext1; - --search-input-focused-border-color: @accent-color; + --search-input-focused-border-color: @accent; --copy-path-button-color: @text; --codeblock-error-hover-color: @red; --codeblock-error-color: fade(@red, 70%); @@ -136,11 +102,11 @@ --function-link-color: @green; --macro-link-color: @green; --keyword-link-color: @yellow; - --mod-link-color: @accent-color; - --link-color: @accent-color; - --sidebar-link-color: @accent-color; + --mod-link-color: @accent; + --link-color: @accent; + --sidebar-link-color: @accent; --sidebar-current-link-background-color: @surface0; - --search-result-link-focus-background-color: fade(@accent-color, 20%); + --search-result-link-focus-background-color: fade(@accent, 20%); --search-result-border-color: @surface0; --search-color: @text; --search-error-code-background-color: red; @@ -149,10 +115,10 @@ --search-tab-title-count-color: @subtext0; --search-tab-button-not-selected-border-top-color: @crust; --search-tab-button-not-selected-background: @crust; - --search-tab-button-selected-border-top-color: @accent-color; + --search-tab-button-selected-border-top-color: @accent; --search-tab-button-selected-background: @base; --stab-background-color: @surface0; - --stab-code-color: @accent-color; + --stab-code-color: @accent; --code-highlight-kw-color: @mauve; --code-highlight-kw-2-color: @mauve; --code-highlight-lifetime-color: @blue; @@ -165,14 +131,14 @@ --code-highlight-self-color: @red; --code-highlight-macro-color: @blue; --code-highlight-question-mark-color: @teal; - --code-highlight-comment-color: @overlay0; - --code-highlight-doc-comment-color: @overlay0; + --code-highlight-comment-color: @overlay2; + --code-highlight-doc-comment-color: @overlay2; --color-syntax-foreground: inherit; --color-syntax-attribute: @yellow; --color-syntax-background: @mantle; --color-syntax-bool: @red; - --color-syntax-comment: @overlay0; - --color-syntax-doc-comment: @overlay0; + --color-syntax-comment: @overlay2; + --color-syntax-doc-comment: @overlay2; --color-syntax-keyword1: @mauve; --color-syntax-keyword2: @mauve; --color-syntax-lifetime: @blue; @@ -183,14 +149,14 @@ --color-syntax-question-mark: @teal; --color-syntax-self: @red; --color-syntax-string: @green; - --src-line-numbers-span-color: @accent-color; - --src-line-number-highlighted-background-color: fade(@accent-color, 30%); + --src-line-numbers-span-color: @accent; + --src-line-number-highlighted-background-color: fade(@accent, 30%); --test-arrow-color: #dedede; --test-arrow-background-color: red; --test-arrow-hover-color: #dedede; --test-arrow-hover-background-color: red; - --target-background-color: fade(@accent-color, 10%); - --target-border-color: @accent-color; + --target-background-color: fade(@accent, 10%); + --target-border-color: @accent; --kbd-color: @text; --kbd-background: @mantle; --kbd-box-shadow-color: @surface1; @@ -201,16 +167,14 @@ --codeblock-link-background: fade(@surface0, 50%); --scrape-example-toggle-line-background: red; --scrape-example-toggle-line-hover-background: red; - --scrape-example-code-line-highlight: fade(@accent-color, 40%); - --scrape-example-code-line-highlight-focus: fade(@accent-color, 40%); + --scrape-example-code-line-highlight: fade(@accent, 40%); + --scrape-example-code-line-highlight-focus: fade(@accent, 40%); --scrape-example-help-border-color: @subtext0; --scrape-example-help-color: @subtext1; --scrape-example-help-hover-border-color: @text; --scrape-example-help-hover-color: @text; --scrape-example-code-wrapper-background-start: @base; --scrape-example-code-wrapper-background-end: @base; - --sidebar-resizer-hover: @sky; - --sidebar-resizer-active: @sapphire; select { background-color: @mantle; @@ -328,13 +292,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/docs.rs/preview.webp b/styles/docs.rs/preview.webp deleted file mode 100644 index c5689cb722..0000000000 --- a/styles/docs.rs/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17c6374e28c3bea67f8e08e1e9d30a832d4795e8446706f917180be8d4ada957 -size 84206 diff --git a/styles/duckduckgo/README.md b/styles/duckduckgo/README.md index 35aeaea620..59720b0c45 100644 --- a/styles/duckduckgo/README.md +++ b/styles/duckduckgo/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/duckduckgo/catppuccin.user.css b/styles/duckduckgo/catppuccin.user.less similarity index 78% rename from styles/duckduckgo/catppuccin.user.css rename to styles/duckduckgo/catppuccin.user.less index e43132ed69..7cd043f716 100644 --- a/styles/duckduckgo/catppuccin.user.css +++ b/styles/duckduckgo/catppuccin.user.less @@ -2,8 +2,8 @@ @name DuckDuckGo Catppuccin @namespace github.com/catppuccin/userstyles/styles/duckduckgo @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/duckduckgo -@version 0.2.5 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/duckduckgo/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/duckduckgo/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aduckduckgo @description Soothing pastel theme for DuckDuckGo @author Catppuccin @@ -15,71 +15,46 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain(duckduckgo.com) { - :root:not(.dark-bg) { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("duckduckgo.com"), domain("duck.ai") { + :root:not(.dark-bg, .no-theme) { + #catppuccin(@lightFlavor); } :root.dark-bg { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); + :root.no-theme { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --sds-color-text-02: @text !important; - --theme-col-txt-page-separator: @text!important; + --sds-color-text-disabled: @overlay0 !important; + --theme-col-txt-page-separator: @text !important; --theme-col-page-separator: @text !important; --theme-col-txt-url: @text !important; - --theme-col-txt-title-visited: @mauve !important; + --theme-col-txt-title: @blue !important; + --theme-col-txt-title-visited: @lavender !important; --theme-col-txt-snippet: @text !important; --theme-col-txt-card-title: @text; --theme-col-txt-url-domain: @subtext1 !important; - --theme-col-txt-title: @blue !important; --theme-col-bg-card: @surface0 !important; --theme-col-about-link: @blue; --theme-col-border-ui: @surface1 !important; --theme-col-bg-expandcollapse: @surface0 !important; - --sds-color-palette-gray-60: @accent-color !important; + --sds-color-palette-gray-60: @accent !important; + --sds-color-text-accent-01: @accent !important; --theme-col-txt-msg: @text !important; --theme-col-txt-url-path: @subtext0 !important; --theme-col-border-expandcollapse: @surface1; @@ -88,7 +63,7 @@ --theme-col-bg-page: @base !important; --sds-color-text-01: @text !important; --sds-color-text-on-color: @base !important; - --theme-spp-high-contrast-text-secondary: @accent-color !important; + --theme-spp-high-contrast-text-secondary: @accent !important; --theme-spp-high-contrast-card-indicator-color: @surface0 !important; --theme-spp-high-contrast-title-span-text: @text !important; --theme-spp-high-contrast-bg: @surface0 !important; @@ -100,7 +75,7 @@ --sds-color-text-03: @subtext0 !important; --col-slate-light: @subtext0; --col-silver-dark: @overlay1; - --theme-col-txt-button-secondary: @accent-color !important; + --theme-col-txt-button-secondary: @accent !important; --theme-bg-legacy-home: @base !important; --theme-bg-cta-cards: @surface0 !important; --theme-button-primary-bg: @blue !important; @@ -149,7 +124,9 @@ --theme-col-bg-header: @mantle !important; --theme-col-bg-header-modal: @surface0 !important; --theme-col-bg-button-primary: @blue !important; + --sds-color-background-dark: @crust !important; /* ai chat */ + --sds-color-text-link-02-hover: @text !important; --theme-dc-color-background-dark: @base !important; --theme-dc-color-gpt-main: @mauve !important; --theme-dc-color-gpt-bg: @mauve !important; @@ -164,16 +141,34 @@ --sds-color-text-success: @green !important; --sds-color-text-link-01: @blue !important; --sds-color-background-container-01: @surface0 !important; - --sds-color-border-accent-01: @accent-color !important; + --sds-color-border-accent-01: @accent !important; --theme-dc-color-container-message: @surface0 !important; --sds-color-palette-gray-85: @surface1 !important; --sds-color-palette-white: @crust !important; - --sds-color-background-accent-01: @accent-color !important; + --sds-color-background-accent-01: @accent !important; --theme-col-txt-card-body-light: @text !important; --theme-col-bg-page-alt-2: @surface0 !important; + --theme-col-bg-ui-active: @surface1 !important; --theme-dc-color-llama-main: @pink !important; --theme-dc-color-mixtral-main: @peach !important; --theme-dc-color-anchor-sleep: @subtext0 !important; + --theme-assist-bg-chat-system: @mantle !important; + --theme-assist-gradient-stop: @mantle !important; + --sds-color-palette-gray-40: @text !important; + /* maps */ + --sds-color-background-01: @base !important; + --sds-color-background-02: @mantle !important; + --sds-color-palette-red-40: @red !important; + --sds-color-border-01: @surface0 !important; + --col-blue-30: @blue !important; + --sds-color-palette-green-60: @green !important; + --sds-color-background-utility: @surface0 !important; + + .address-detail { + background-color: @mantle; + color: @text; + border-color: @surface0; + } .footer, .footer--mobile, @@ -201,6 +196,10 @@ .metabar:not(.is-stuck) { background-color: @base !important; } + /* .dropdown--settings--icon .dropdown__button:after needs visibility: hidden, otherwise we get a case of clashing icons */ + .dropdown__button::after { + visibility: hidden; + } /* privacy reminders */ .wXKLp5dS9jGvo097pfaG, @@ -290,7 +289,7 @@ } .calendar__today { color: @mantle; - background-color: @accent-color; + background-color: @accent; } .zci.is-active { @@ -298,7 +297,7 @@ } .module__toggle--more::after { - background: linear-gradient(rgba(40, 40, 40, 0), @surface0); + background: linear-gradient(transparent, @surface0); } /* button on hover */ @@ -326,7 +325,7 @@ } .stocks-module__timePeriod.selected { color: @mantle; - background-color: @accent-color; + background-color: @accent; } .ia-module--stocks.increase .color-coded { color: @green !important; @@ -409,7 +408,7 @@ border-color: @surface2; } .module__inner-toggle--chevron { - color: @accent-color !important; + color: @accent !important; background-color: @surface1 !important; border-color: @surface2; } @@ -417,6 +416,14 @@ .module__inner-toggle::after { background-color: @surface2 !important; } + .module--lyrics:not(.is-expanded) + .module--lyrics__footer.can-expand::after { + background: linear-gradient(transparent, @surface0); + } + .module--lyrics__explicit-tag { + border-color: @subtext1; + color: @subtext0; + } // translation boxes .module--translations .dropdown--translation-select, @@ -445,12 +452,12 @@ //coding info box .module:not( - .module--carousel, - .module--placeholder, - .module--images, - .module--translations, - .module__chromeless - ) { + .module--carousel, + .module--placeholder, + .module--images, + .module--translations, + .module__chromeless + ) { background: @surface0 !important; border-color: @surface1 !important; } @@ -469,7 +476,7 @@ color: @text !important; } code { - background-color: @base !important; + background-color: @mantle !important; } .lit { color: @peach !important; @@ -509,7 +516,7 @@ } .module--definitions__group ol li::before { - color: @accent-color !important; + color: @accent !important; } .module--definitions__usage { @@ -521,10 +528,10 @@ } .play-btn__icn_hollow { - fill: @accent-color !important; + fill: @accent !important; } .module__toggle { - color: @accent-color !important; + color: @accent !important; } // weather info box @@ -540,33 +547,33 @@ .text--primary, .tx-clr--dk, .tx-clr--slate, - .module__temperature-unit:not(.module__temperature-unit--on) { - color: @subtext1 !important; + .module__temperature-unit:not(.module__temperature-unit--on), + .module__items-day { + color: @subtext0 !important; } .module__temperature-unit, .module__temperature-unit:hover { - color: @accent-color !important; + color: @accent !important; } - .module__detail__precip-label, .module__items-precip-label, .ia-module--module--definitions__reference, .js-definitions-internal { color: @blue !important; } - - .module__detail__hour-label { + .module__detail__hour-label, + .module__current, + .module__detail__temp-label, + .module__items-unit--on { color: @text !important; } .module__items-item { background: @surface0 !important; border-color: @surface2 !important; } - .module__weatherkit-logo { - fill: @accent-color; + fill: @accent; } - .module__warnings, .module__temperature-unit--on { border-color: @surface2 !important; @@ -579,15 +586,36 @@ ); content: url("data:image/svg+xml,@{svg}"); } + //rain icon + .module__items-icon-precip { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + width: 32px; + height: 32px; + margin-top: 5px; + margin-bottom: -5px; + max-width: 100%; + } //calculator .tile__ctrl__btn, .tile__history, .tile__past-calc { - background-color: @surface0 !important; + background: @surface0 !important; border-color: @surface2 !important; color: @text !important; } + .attribution--link__icon { + color: @text; + } + .tile__ctrl__toggle-slider { + background: @surface1 !important; + } + .tile__ctrl__toggle-slider::before { + background-color: @mantle !important; + } .tile__tab__sci .tile__ctrl__btn, .tile__ctrl__toggle { background-color: @surface2 !important; @@ -598,6 +626,9 @@ .tile__past-result { color: @text !important; } + .tile__display__main { + background-color: @base !important; + } .tile__display { box-shadow: inset -1px -1px 0 @overlay0, @@ -607,19 +638,20 @@ color: @text !important; } .tile__display.selected { - box-shadow: - inset -1px -1px 0 @blue, - inset 1px 1px 0 @blue !important; + box-shadow: inset -1px -1px 0 @blue, inset 1px 1px 0 @blue !important; } - .tile__ctrl--important { background-color: @yellow !important; color: @mantle !important; } .tile__display__aside, - .tile__past-formula { + .tile__past-formula, + .tile__option { color: @subtext0 !important; } + .tile__option--active { + color: @accent !important; + } .bg-delayed-color { background-color: @red; @@ -770,6 +802,13 @@ border-color: @surface1 !important; } + .modal__header, + .module__section, + .module__section:first-child.place-detail__section--tab, + .module__clickable-header { + border-color: @surface1 !important; + } + .btn.is-disabled:hover, .frm__switch__label:hover, .feedback-modal__submit.is-disabled:hover, @@ -779,17 +818,17 @@ border-color: @surface2 !important; } .is-checked .frm__switch__label.btn { - background-color: @accent-color !important; + background-color: @accent !important; color: @mantle !important; } .js-set-exit { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @base !important; } .js-set-exit:hover { - background-color: fade(@accent-color, 80%) !important; - border-color: fade(@accent-color, 80%) !important; + background-color: fade(@accent, 80%) !important; + border-color: fade(@accent, 80%) !important; color: @base !important; } .set-bookmarklet__data { @@ -803,11 +842,11 @@ } .metabar__dropdowns-wrap::before { - background-image: linear-gradient(90deg, @base, rgba(255, 255, 255, 0)); + background-image: linear-gradient(90deg, @base, transparent); } .metabar__dropdowns-wrap::after { - background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), @base); + background-image: linear-gradient(90deg, transparent, @base); } .nav-menu__item__badge { @@ -822,14 +861,14 @@ } .zcm--right-fade::before { - background: linear-gradient(90deg, rgba(255, 255, 255, 0), @mantle); + background: linear-gradient(90deg, transparent, @mantle); } .search-filters-wrap::before { - background: linear-gradient(90deg, @base, rgba(255, 255, 255, 0)); + background: linear-gradient(90deg, @base, transparent); } .search-filters-wrap::after { - background: linear-gradient(90deg, rgba(255, 255, 255, 0), @base); + background: linear-gradient(90deg, transparent, @base); } .footer, @@ -841,7 +880,7 @@ #duckbar, .zcm__link:not(.dropdown__button).is-active, .set-main-footer { - border-color: @accent-color !important; + border-color: @accent !important; } #more-results { @@ -892,7 +931,8 @@ .frm__label, .js-cloudsave-new-suggestion, .zci__body, - .zci__body a { + .zci__body a, + .c-base__title { color: @text !important; } @@ -956,12 +996,12 @@ .detail--xd .tile-nav--sm, .detail__close, .module--definitions__collapsed-group ol li::before { - color: @accent-color !important; + color: @accent !important; } .search__button:hover, .search--header.has-text.search--hover .search__button { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } @@ -986,7 +1026,7 @@ color: @text !important; } .frm__select::after { - color: @accent-color !important; + color: @accent !important; } .switch, @@ -1011,7 +1051,7 @@ } .switch.is-on { - background-color: @accent-color !important; + background-color: @accent !important; } .dropdown__switch.is-on::before { @@ -1076,12 +1116,88 @@ } } -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} +@-moz-document domain("start.duckduckgo.com") { + :root:not(.theme-dark) { + #catppuccin(@lightFlavor); + } + + :root.theme-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + color-scheme: if(@flavor = latte, light, dark); + + ::selection { + background-color: fade(@accent, 30%); + } + + // TODO: Why does this ::placeholder from defaults explicitly not apply to ? + textarea { + &::placeholder { + color: @subtext0 !important; + } + } + + input { + background-color: @surface0 !important; + color: @text !important; + } + li:hover { + background-color: @surface2 !important; + } + ul { + background-color: @surface0 !important; + } + body { + background-color: @base !important; + } + h1, + h2, + h3, + p, + a, + span { + color: @text !important; + } -// vim:ft=less + --color-yellow60: @yellow !important; + --theme-button-primary-bg: @blue !important; + --theme-searchbox-caret-bg: @accent !important; + + .home_root__naJUp { + --theme-bg-home: @base !important; + --theme-button-secondary-text: @text !important; + --theme-text-bg: @text !important; + --theme-bg-home-searchbox: @surface0 !important; + --theme-border-color-home-searchbox: @surface0 !important; + } + .searchbox_suggestions__umkQH { + --theme-searchbox-bg: @surface0 !important; + } + .minimal-homepage_minimalHeroLogo__QSVlf { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + .header_headerButton__cLYU3 { + color: @text !important; + } + .sideMenu_sideMenuContent__OE7n9, + .searchbox_iconWrapper__suWUe { + background-color: @surface0 !important; + } + .button_primary__e2_Sy { + color: @mantle !important; + } + .searchbox_hasQuery__j8_VE:hover + .searchbox_searchButton__F5Bwq:not(:disabled), + .searchbox_hasQuery__j8_VE:focus-within { + color: @mantle !important; + background-color: @accent !important; + } + } +} diff --git a/styles/duckduckgo/preview.webp b/styles/duckduckgo/preview.webp deleted file mode 100644 index 67998370ea..0000000000 --- a/styles/duckduckgo/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf2c0df024785966dac281df7bb976d608ff7ed16d869a3a20ba3d7b64e5f6b8 -size 510052 diff --git a/styles/ecosia/README.md b/styles/ecosia/README.md index f782e0f0b2..2ee1e8da21 100644 --- a/styles/ecosia/README.md +++ b/styles/ecosia/README.md @@ -10,18 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [Isabel](https://github.com/isabelroses) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! +## ๐Ÿ’– Past Maintainer +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/ecosia/catppuccin.user.css b/styles/ecosia/catppuccin.user.css deleted file mode 100644 index 37faab97d5..0000000000 --- a/styles/ecosia/catppuccin.user.css +++ /dev/null @@ -1,150 +0,0 @@ -/* ==UserStyle== -@name Ecosia Catppuccin -@namespace github.com/catppuccin/userstyles/styles/ecosia -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ecosia -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ecosia/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aecosia -@description Soothing pastel theme for Ecosia -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("ecosia.org") { - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } - - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-brand-primary: @accent-color !important; - --color-brand-secondary: @crust !important; - --color-error: @red !important; - --color-success: @green !important; - --color-disabled: @overlay1 !important; - --color-button-background-primary: @accent-color !important; - --color-button-background-primary-active: @accent-color !important; - --color-button-background-primary-hover: @accent-color; - --color-button-background-secondary: @surface0 !important; - --color-button-background-secondary-active: @surface2 !important; - --color-button-background-secondary-hover: @surface1 !important; - --color-button-content-primary: @base !important; - --color-button-content-secondary: @text !important; - --color-button-content-tertiary: @accent-color !important; - --color-button-border: @surface0 !important; - --color-button-background-transparent-hover: @surface1; - --color-button-background-transparent-active: @surface2; - --color-background-primary: @base !important; - --color-background-secondary: @crust !important; - --color-background-tertiary: @mantle !important; - --color-background-quaternary: @surface0; - --color-background-elevation-1: @mantle !important; - --color-highlighter: @surface0 !important; - --color-highlight-primary: @surface0 !important; - --color-overlay-primary: @overlay0 !important; - --color-overlay-secondary: @overlay1 !important; - --color-text-primary: @text !important; - --color-text-secondary: @subtext0 !important; - --color-text-tertiary: @text !important; - --color-link-primary: @sapphire !important; - --color-link-secondary: @sky !important; - --color-url: @sapphire !important; - --color-link-results-default: @sapphire !important; - --color-link-results-visited: @teal !important; - --color-decorative-icon: @accent-color !important; - --color-elevation-layer-1: @surface1; - --color-elevation-layer-2: @surface2; - --color-decorative-border-1: @surface1 !important; - --color-focused: @accent-color !important; - --color-form-border-default: @surface0 !important; - --color-form-border-hover: @surface1 !important; - --color-form-border-primary-active: @accent-color !important; - --color-tripadvisor-rating: @subtext0 !important; - --color-tree-counter-tree-tall: @yellow !important; - --color-green-leaf-icon-color-top: @green !important; - --color-green-leaf-icon-color-bottom: @green !important; - --color-fossil-fuel-icon-color-top: @flamingo !important; - --color-fossil-fuel-icon-color-bottom: @maroon !important; - - /* search page */ - --color-above-fold-background: @surface0 !important; - --color-above-fold-background-addon: @overlay1 !important; - --color-above-fold-text: @text !important; - --color-section-wrapper-background-gray: @surface1 !important; - --color-section-wrapper-background-dark-green: @surface0 !important; - --color-section-wrapper-background-light-green: @surface0 !important; - --color-section-header-title: @text !important; - --color-projects-title: @text !important; - --color-projects-description: @surface1; - --color-financial-report-total-background: @surface0 !important; - --color-financial-report-total-text: @text !important; - --color-forest-background-addon: @surface1 !important; - --color-forest-background-secondary: @surface0 !important; - --color-before-after-text: @text !important; - - /* override color digit on homepage */ - .count__digit, - .counter__description { - color: @text !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/ecosia/catppuccin.user.less b/styles/ecosia/catppuccin.user.less new file mode 100644 index 0000000000..2ecfea20a6 --- /dev/null +++ b/styles/ecosia/catppuccin.user.less @@ -0,0 +1,104 @@ +/* ==UserStyle== +@name Ecosia Catppuccin +@namespace github.com/catppuccin/userstyles/styles/ecosia +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ecosia +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ecosia/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aecosia +@description Soothing pastel theme for Ecosia +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("ecosia.org") { + :root.light { + #catppuccin(@lightFlavor); + } + + :root.dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-brand-primary: @accent !important; + --color-brand-secondary: @crust !important; + --color-error: @red !important; + --color-success: @green !important; + --color-disabled: @overlay1 !important; + --color-button-background-primary: @accent !important; + --color-button-background-primary-active: @accent !important; + --color-button-background-primary-hover: @accent; + --color-button-background-secondary: @surface0 !important; + --color-button-background-secondary-active: @surface2 !important; + --color-button-background-secondary-hover: @surface1 !important; + --color-button-content-primary: @base !important; + --color-button-content-secondary: @text !important; + --color-button-content-tertiary: @accent !important; + --color-button-border: @surface0 !important; + --color-button-background-transparent-hover: @surface1; + --color-button-background-transparent-active: @surface2; + --color-background-primary: @base !important; + --color-background-secondary: @crust !important; + --color-background-tertiary: @mantle !important; + --color-background-quaternary: @surface0; + --color-background-elevation-1: @mantle !important; + --color-highlighter: @surface0 !important; + --color-highlight-primary: @surface0 !important; + --color-overlay-primary: @overlay0 !important; + --color-overlay-secondary: @overlay1 !important; + --color-text-primary: @text !important; + --color-text-secondary: @subtext0 !important; + --color-text-tertiary: @text !important; + --color-link-primary: @sapphire !important; + --color-link-secondary: @sky !important; + --color-url: @sapphire !important; + --color-link-results-default: @sapphire !important; + --color-link-results-visited: @teal !important; + --color-decorative-icon: @accent !important; + --color-elevation-layer-1: @surface1; + --color-elevation-layer-2: @surface2; + --color-decorative-border-1: @surface1 !important; + --color-focused: @accent !important; + --color-form-border-default: @surface0 !important; + --color-form-border-hover: @surface1 !important; + --color-form-border-primary-active: @accent !important; + --color-tripadvisor-rating: @subtext0 !important; + --color-tree-counter-tree-tall: @yellow !important; + --color-green-leaf-icon-color-top: @green !important; + --color-green-leaf-icon-color-bottom: @green !important; + --color-fossil-fuel-icon-color-top: @flamingo !important; + --color-fossil-fuel-icon-color-bottom: @maroon !important; + + /* search page */ + --color-above-fold-background: @surface0 !important; + --color-above-fold-background-addon: @overlay1 !important; + --color-above-fold-text: @text !important; + --color-section-wrapper-background-gray: @surface1 !important; + --color-section-wrapper-background-dark-green: @surface0 !important; + --color-section-wrapper-background-light-green: @surface0 !important; + --color-section-header-title: @text !important; + --color-projects-title: @text !important; + --color-projects-description: @surface1; + --color-financial-report-total-background: @surface0 !important; + --color-financial-report-total-text: @text !important; + --color-forest-background-addon: @surface1 !important; + --color-forest-background-secondary: @surface0 !important; + --color-before-after-text: @text !important; + + /* override color digit on homepage */ + .count__digit, + .counter__description { + color: @text !important; + } + } +} diff --git a/styles/ecosia/preview.webp b/styles/ecosia/preview.webp deleted file mode 100644 index d4f160cb7c..0000000000 --- a/styles/ecosia/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d85ff2ba09f44c61e00eaf8a723e91ec55622efa4e1ef7a7ba14f11b7f37898 -size 597086 diff --git a/styles/elk/README.md b/styles/elk/README.md index bcc38d4526..129b7433be 100644 --- a/styles/elk/README.md +++ b/styles/elk/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Ryan Cao](https://github.com/ryanccn) +- [ryanccn](https://github.com/ryanccn)   diff --git a/styles/elk/catppuccin.user.css b/styles/elk/catppuccin.user.css deleted file mode 100644 index 63731a135d..0000000000 --- a/styles/elk/catppuccin.user.css +++ /dev/null @@ -1,171 +0,0 @@ -/* ==UserStyle== -@name Elk Catppuccin -@namespace github.com/catppuccin/userstyles/styles/elk -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/elk -@version 0.2.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/elk/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aelk -@description Soothing pastel theme for Elk -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("elk.zone") { - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --c-primary: @accent-color !important; - --c-primary-active: lighten(@accent-color, 10%) !important; - --c-primary-light: @surface0 !important; - --c-border: @surface0 !important; - --c-border-dark: @surface1 !important; - --c-bg-base: @base !important; - --rgb-bg-base: red(@mantle), green(@mantle), blue(@mantle) !important; - --c-bg-active: @surface0 !important; - --c-bg-code: @surface0 !important; - --c-bg-selection: @accent-color !important; - --c-bg-fade: @surface0 !important; - --c-text-base: @text !important; - --c-text-code: @rosewater !important; - --c-text-secondary: @subtext0 !important; - --c-text-secondary-light: @subtext1 !important; - --c-bg-btn-disabled: @surface1 !important; - --c-text-btn-disabled: @text !important; - --c-text-btn: @text !important; - --c-success: @green !important; - --c-warning: @yellow !important; - --c-error: @red !important; - --c-danger: @red !important; - --c-danger-active: lighten(@red, 10%) !important; - --c-bg-dm: @surface0 !important; - - .btn-solid, - [btn-solid=""] { - color: var(--c-bg-base); - } - - ::-webkit-scrollbar-thumb { - background: alpha(@surface1, 0.7); - } - - ::-webkit-scrollbar-thumb:hover { - background: alpha(@surface1, 0.8); - } - - [text-red], - [text-red-600], - [hover^="text-red"]:hover { - color: rgbA(red(@red), green(@red), blue(@red), var(--un-text-opacity)); - } - - [text-blue], - [hover^="text-blue"]:hover { - color: rgbA( - red(@blue), - green(@blue), - blue(@blue), - var(--un-text-opacity) - ); - } - - [text-green], - [hover^="text-green"]:hover { - color: rgbA( - red(@green), - green(@green), - blue(@green), - var(--un-text-opacity) - ); - } - - [text-yellow], - [hover^="text-yellow"]:hover { - color: rgbA( - red(@yellow), - green(@yellow), - blue(@yellow), - var(--un-text-opacity) - ); - } - - [text-purple], - [hover^="text-purple"]:hover { - color: rgbA( - red(@lavender), - green(@lavender), - blue(@lavender), - var(--un-text-opacity) - ); - } - - [group-hover^="bg-purple/10"]:hover { - background-color: alpha(@lavender, 0.1); - } - - .filter-saturate-0, - [filter-saturate-0=""] { - filter: none; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/elk/catppuccin.user.less b/styles/elk/catppuccin.user.less new file mode 100644 index 0000000000..7eebf6054f --- /dev/null +++ b/styles/elk/catppuccin.user.less @@ -0,0 +1,105 @@ +/* ==UserStyle== +@name Elk Catppuccin +@namespace github.com/catppuccin/userstyles/styles/elk +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/elk +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/elk/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aelk +@description Soothing pastel theme for Elk +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("elk.zone") { + :root.dark { + #catppuccin(@darkFlavor); + } + :root.light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --c-primary: @accent !important; + --c-primary-active: lighten(@accent, 10%) !important; + --c-primary-light: @surface0 !important; + --c-border: @surface0 !important; + --c-border-dark: @surface1 !important; + --c-bg-base: @base !important; + --rgb-bg-base: #lib.rgbify(@mantle)[] !important; + --c-bg-active: @surface0 !important; + --c-bg-code: @surface0 !important; + --c-bg-selection: @accent !important; + --c-bg-fade: @surface0 !important; + --c-text-base: @text !important; + --c-text-code: @rosewater !important; + --c-text-secondary: @subtext0 !important; + --c-text-secondary-light: @subtext1 !important; + --c-bg-btn-disabled: @surface1 !important; + --c-text-btn-disabled: @text !important; + --c-text-btn: @text !important; + --c-success: @green !important; + --c-warning: @yellow !important; + --c-error: @red !important; + --c-danger: @red !important; + --c-danger-active: lighten(@red, 10%) !important; + --c-bg-dm: @surface0 !important; + + .btn-solid, + [btn-solid=""] { + color: var(--c-bg-base); + } + + ::-webkit-scrollbar-thumb { + background: fade(@surface1, 70%); + } + + ::-webkit-scrollbar-thumb:hover { + background: fade(@surface1, 80%); + } + + [text-red], + [text-red-600], + [hover^="text-red"]:hover { + color: rgba(#lib.rgbify(@red)[], var(--un-text-opacity)); + } + + [text-blue], + [hover^="text-blue"]:hover { + color: rgba(#lib.rgbify(@blue)[], var(--un-text-opacity)); + } + + [text-green], + [hover^="text-green"]:hover { + color: rgba(#lib.rgbify(@green)[], var(--un-text-opacity)); + } + + [text-yellow], + [hover^="text-yellow"]:hover { + color: rgba(#lib.rgbify(@yellow)[], var(--un-text-opacity)); + } + + [text-purple], + [hover^="text-purple"]:hover { + color: rgba(#lib.rgbify(@lavender)[], var(--un-text-opacity)); + } + + [group-hover^="bg-purple/10"]:hover { + background-color: fade(@lavender, 10%); + } + + .filter-saturate-0, + [filter-saturate-0=""] { + filter: none; + } + } +} diff --git a/styles/elk/preview.webp b/styles/elk/preview.webp deleted file mode 100644 index a8d071be13..0000000000 --- a/styles/elk/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29f5034c7ec90a82e13585e58cf24a8c7237566adac0841c01a560a228e8b438 -size 152892 diff --git a/styles/formative/README.md b/styles/formative/README.md index e3709af423..158744c56c 100644 --- a/styles/formative/README.md +++ b/styles/formative/README.md @@ -10,18 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [r58Playz](https://github.com/r58Playz) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! +## ๐Ÿ’– Past Maintainer +- [r58Playz](https://github.com/r58Playz)   diff --git a/styles/formative/catppuccin.user.css b/styles/formative/catppuccin.user.less similarity index 82% rename from styles/formative/catppuccin.user.css rename to styles/formative/catppuccin.user.less index 20a2e1b922..b768c79b0c 100644 --- a/styles/formative/catppuccin.user.css +++ b/styles/formative/catppuccin.user.less @@ -2,8 +2,8 @@ @name Formative Catppuccin @namespace github.com/catppuccin/userstyles/styles/formative @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/formative -@version 0.2.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/formative/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/formative/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aformative @description Soothing pastel theme for Formative @author Catppuccin @@ -15,60 +15,26 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('app.formative.com'), domain("goformative.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("app.formative.com"), domain("goformative.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @contrast-accent-color: if(@lookup = latte, @text, @base); + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } + @contrast: if(@flavor = latte, @text, @base); input, textarea { - &::placeholder { - color: @subtext0 !important; - } border-color: @overlay0; color: @text; } @@ -114,21 +80,21 @@ background: @surface0; .SideTabItem__RootButton-sc-vtkzgr-0 { &.selected { - background: fade(@accent-color, 50%); + background: fade(@accent, 50%); &::after { - background: @accent-color; + background: @accent; } } &:hover { .avatar { - box-shadow: @accent-color 0 0 0 1px; + box-shadow: @accent 0 0 0 1px; } } &:not(.selected):hover { .side-tab-item-label-div, .material-icons-outlined, .svg-icons svg { - color: @accent-color; + color: @accent; } } } @@ -139,8 +105,8 @@ } } .notifications-count { - background: @accent-color; - color: @contrast-accent-color; + background: @accent; + color: @contrast; } .NotificationCenterAlert__TriggerDiv-sc-165xmi4-0 { background-color: @surface0; @@ -149,7 +115,7 @@ } } .avatar:hover { - box-shadow: @accent-color 0 0 0 1px; + box-shadow: @accent 0 0 0 1px; } .MainAppHeader__RootDiv-sc-1gw0bt9-0 { background-color: @surface0; @@ -162,10 +128,10 @@ color: @text; } .TabsItem__RootDiv-sc-tj1og8-0:hover > a { - color: @accent-color; + color: @accent; } .TabsItem__SelectedLineDiv-sc-tj1og8-1 { - background: @accent-color !important; + background: @accent !important; } .TabsItem__TabLink-sc-tj1og8-3:focus-visible { background: transparent !important; @@ -242,13 +208,13 @@ .TabsItem__TabDiv-sc-tj1og8-4:hover, .RespondusTroubleshootLink__TroubleshootingAnchor-sc-17na5u4-7, .Summary__RawButtonLink-sc-1ofq6fd-2 { - color: @accent-color; + color: @accent; } .FormativesShelf__StyledSecondaryHeader-sc-1pswvpk-4 { border-color: @overlay0; } .TabsItem__SelectedLineDiv-sc-tj1og8-1 { - background: @accent-color !important; + background: @accent !important; } .Pill__RootDiv-sc-4b6mpn-0, .ItemInfoPill-sc-ecx83e-0, @@ -275,8 +241,8 @@ background: @surface0; border-color: @overlay0; &.selected { - border-color: @accent-color; - outline-color: @accent-color; + border-color: @accent; + outline-color: @accent; } .material-icons-outlined { color: @text; @@ -284,14 +250,14 @@ &:hover { .FormativeCard__TitleOverflowEllipsis-sc-tkxjaz-7, .SectionCard__SectionTitleOverflowEllipsis-sc-ir1v2v-4 { - color: @accent-color; + color: @accent; } } } .ClassAvatar__RootDiv-sc-i7tto7-0, .avatar > div { - background: @accent-color; - color: @contrast-accent-color; + background: @accent; + color: @contrast; } .ReactSelect__control { background: @surface0; @@ -305,7 +271,7 @@ color: @text; } &:focus-within { - border-color: @accent-color !important; + border-color: @accent !important; } } .react-select-icon { @@ -316,14 +282,14 @@ color: @text; .SearchBarOption__RootLink-sc-191bb28-1:hover .SearchBarOption__TitleOverflowEllipsis-sc-191bb28-0 { - color: @accent-color; + color: @accent; } .ReactSelect__option--is-focused { background: @overlay0; } .ReactSelect__option--is-selected { - background: @accent-color; - color: @contrast-accent-color; + background: @accent; + color: @contrast; } .ReactSelect__menu-notice { color: @subtext0; @@ -340,19 +306,19 @@ background: @surface0 !important; &, .material-icons-outlined { - color: @accent-color !important; + color: @accent !important; border-color: @overlay0; } &:hover, &:enabled:focus { background: @surface1; - border-color: @accent-color; + border-color: @accent; } } .Switch__RootButton-sc-1ss5zxi-0 { background: @surface0; &[aria-checked="true"] { - background: @accent-color; + background: @accent; } .Switch__BallDiv-sc-1ss5zxi-1 { background: @overlay0; @@ -369,16 +335,16 @@ } .FormativeCardScore__PercentageSpan-sc-p5mc30-1 { &[style*="rgba(32, 213, 171, 0.2)"] { - background: fade(@green, 50) !important; + background: fade(@green, 50%) !important; } &[style*="rgba(255, 222, 51, 0.2)"] { - background: fade(@yellow, 50) !important; + background: fade(@yellow, 50%) !important; } &[style*="rgba(0, 165, 251, 0.2)"] { - background: fade(@blue, 50) !important; + background: fade(@blue, 50%) !important; } &[style*="rgba(255, 76, 77, 0.2)"] { - background: fade(@red, 50) !important; + background: fade(@red, 50%) !important; } } @@ -411,7 +377,7 @@ } .DropdownList__TriggerButton-sc-1hvvmg1-0, .EmptyExplainer__StyledMaterialIcon-sc-1ixiesy-4 { - color: @accent-color; + color: @accent; } .ProfileAccountInfo__DashedGroup-sc-1nbrrm9-2 { @@ -423,10 +389,10 @@ &:focus, &.selected { .BadgeCard__BadgeLabelDiv-sc-13976oo-8 { - color: @accent-color; + color: @accent; } .Card__RootDiv-sc-4gt2nj-0 { - border-color: @accent-color; + border-color: @accent; } } .BadgeCard__ProgressPercentSpan-sc-13976oo-7 { @@ -465,13 +431,13 @@ .ProgressBar__ProgressDiv-sc-4qm1te-0 { background: @overlay0; .ProgressBar__ProgressBarDiv-sc-4qm1te-2 { - background: @accent-color; + background: @accent; } } .notification { &.notification-success { background: @green !important; - color: @contrast-accent-color !important; + color: @contrast !important; } } .Tooltip__Content-sc-1k6bq57-0 { @@ -483,7 +449,7 @@ } } .Modal__Overlay-sc-1uf7odj-0 { - background: fade(@crust, 80); + background: fade(@crust, 80%); } .Modal__Content-sc-1uf7odj-1 { background: @base; @@ -502,7 +468,7 @@ background: @surface0; &:enabled:hover { background: @surface1 !important; - border-color: @accent-color; + border-color: @accent; } } .CopyablePracticeSetInfo__LinkText-sc-14zdsnw-3, @@ -514,12 +480,12 @@ outline-color: @text !important; } &[style*="outline: rgb(13, 100, 242)"] { - outline-color: @accent-color !important; + outline-color: @accent !important; } } } .ReactModal__Overlay { - background: fade(@crust, 80); + background: fade(@crust, 80%); .ReactModal__ActualContent { background: @base !important; .ModalBody-sc-1lg094f-0 > * { @@ -539,7 +505,7 @@ color: @overlay2 !important; } &:focus { - border-color: @accent-color; + border-color: @accent; } } &.CookiePolicyModal__AccordionDiv-sc-dpnzx7-0 @@ -554,14 +520,14 @@ color: @text; } .CookiePolicyModal__BlueAlertText-sc-dpnzx7-5 { - color: @accent-color; + color: @accent; } } } .ModalBody-sc-1lg094f-0:has(.Submit__ContentTitleH3-sc-1vceatk-1) svg path { - fill: @accent-color; + fill: @accent; } .ModalTitle { background: @base; @@ -577,7 +543,7 @@ } &[src*="match-preview"] { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -611,7 +577,7 @@ .material-icons-outlined { color: @text; &:hover { - color: @accent-color; + color: @accent; } } } @@ -652,7 +618,7 @@ background: @mantle; border-color: @overlay0; .selectedSection { - border-color: @accent-color; + border-color: @accent; } .formative-nav-item { &, @@ -660,13 +626,13 @@ color: @text; } .FormativeStudentNavItem__StyledMessageIcon-sc-i1u5ts-4 { - color: @accent-color; + color: @accent; } &:hover, &:focus { background: @surface1; - color: @accent-color; - border-color: @accent-color; + color: @accent; + border-color: @accent; } .fxpwVv { background-color: @green; @@ -693,21 +659,21 @@ .checkbox-root { button { background: @surface0; - border-color: @accent-color !important; + border-color: @accent !important; box-shadow: none !important; } &.checked button { - background: @accent-color !important; + background: @accent !important; } .Checkbox__RadioCircleDiv-sc-1oy0ey9-3 { - background: @contrast-accent-color !important; + background: @contrast !important; } .Checkbox__IndicatorIcon-sc-1oy0ey9-5 { - color: @contrast-accent-color; + color: @contrast; } } .FormativeUnavailableMessage__InnerDiv-sc-14kxg7t-1 { - border-color: @accent-color; + border-color: @accent; background-color: @surface0; } .FormativeItemViewable__RootDiv-sc-m0kwch-0, @@ -733,7 +699,7 @@ &[style*="rgb(32, 213, 171)"] { background-color: @green !important; .material-icons-outlined { - color: @contrast-accent-color !important; + color: @contrast !important; } } &[style*="rgb(255, 222, 51)"] { @@ -745,14 +711,14 @@ &[style*="rgb(255, 76, 77)"] { background-color: @red !important; .material-icons-outlined { - color: @contrast-accent-color !important; + color: @contrast !important; } } border-color: @overlay2 !important; } .BlankOutput__FillableEntity-sc-15mzaww-3, .BlankOutput__FillableNumericDiv-sc-15mzaww-2 { - outline-color: @accent-color; + outline-color: @accent; color: @text; background: @surface0; .KatexOutput__RootDiv-sc-gu2jna-0 { @@ -774,14 +740,14 @@ } .TargetElementViewable__BoxDiv-sc-1cp2mml-1 { background: @surface0; - border-color: @accent-color; + border-color: @accent; .TargetChoiceViewable__ContentDiv-sc-6nylj9-1 { background: @surface1; border-color: @overlay0; } .TargetElementViewable__AddSelectedChoiceButton-sc-1cp2mml-6 i { - background: @accent-color; - color: @contrast-accent-color; + background: @accent; + color: @contrast; } } .MatchingTable__Table-sc-1rhxmvo-1 { @@ -791,7 +757,7 @@ border-color: @overlay0; } tr.isOver { - outline-color: @accent-color; + outline-color: @accent; } } .ChoiceElementViewable__RootDiv-sc-viwu2x-0 { @@ -799,7 +765,7 @@ border-color: @overlay0; &:hover, &.highlight { - border-color: @accent-color; + border-color: @accent; background: @surface1; } .ChoiceElementViewable__LabelRichText-sc-viwu2x-4 { @@ -834,7 +800,7 @@ } .InlineChoiceOutput__InlineChoiceOutputDiv-sc-1694w84-2 { background: @surface0; - border-color: @accent-color; + border-color: @accent; } .DrawingCardButton__RootButton-sc-u2qprg-1 { border-color: @overlay0; @@ -853,12 +819,12 @@ .DrawingCardButton__IncompleteIndicatorDiv-sc-u2qprg-4 { background: @yellow; svg path { - fill: @contrast-accent-color; + fill: @contrast; } } &:hover .DrawingCardButton__ShowYourWorkPseudoButtonDiv-sc-u2qprg-0 { background: @surface2; - border-color: @accent-color; + border-color: @accent; } } .DragAndDropImageDropLocation__DropLocationContainerDiv-sc-oq3fcx-1 { @@ -892,7 +858,7 @@ background: @surface2 !important; } } - border-color: @accent-color !important; + border-color: @accent !important; background: @surface0; .dropzone-number { background: @surface1; @@ -912,7 +878,7 @@ } .DragAndDropDropzoneOutput__RootDiv-sc-1is7exh-0 { background: @surface0; - border-color: @accent-color; + border-color: @accent; &.hasAnswer { border-color: @overlay0; } @@ -922,7 +888,7 @@ background: @green; } .material-icons-outlined { - color: @contrast-accent-color; + color: @contrast; } } .ShortAnswerViewableDetails__InputAutosizeTextarea-sc-1ugk4gk-0 { @@ -947,7 +913,7 @@ background: @surface0; } span { - color: @accent-color; + color: @accent; } } } @@ -993,7 +959,7 @@ color: @text; } .Thumb__RootSpan-sc-yv6w5k-0 { - background: @accent-color; + background: @accent; z-index: 2; } .Segment__SegmentSpan-sc-r0cy9o-0 { @@ -1022,14 +988,14 @@ &, .svg-icons, .material-icons-outlined { - color: @accent-color; + color: @accent; } } .selected { &::after { - background: @accent-color; + background: @accent; } - color: @accent-color; + color: @accent; } } .DrawingSidebar__ExpandedAnswerDiv-sc-1hvcy70-0 { @@ -1050,21 +1016,21 @@ } .MathLiveInput__RootDiv-sc-tki2b-0 { .keyboard-button-wrapper .svg-icons svg path { - fill: @accent-color !important; + fill: @accent !important; } color: @text; border-color: @overlay0; background: @surface0; &:focus-within, &:hover { - border-color: @accent-color; + border-color: @accent; } &.invalid { color: @red; } math-field { - --caret-color: @accent-color; - --selection-background-color: fade(@accent-color, 50); + --caret-color: @accent; + --selection-background-color: fade(@accent, 50%); --selection-color: @text; --correct-color: @text; --incorrect-color: @red; @@ -1073,7 +1039,7 @@ } .ML__keyboard--plate { --keyboard-text: @text; - --keyboard-text-active: @accent-color; + --keyboard-text-active: @accent; --keyboard-background: @surface0; --keycap-background: @surface1; --keycap-background-active: @surface2; @@ -1081,7 +1047,7 @@ --keycap-background-border-bottom: @overlay0; --keycap-text: @text; --keycap-secondary-text: @subtext0; - --keycap-text-active: @accent-color; + --keycap-text-active: @accent; --keycap-modifier-background: @surface2; --keycap-modifier-background-active: @overlay0; --keycap-modifier-border: @overlay1; @@ -1140,7 +1106,7 @@ } path[fill="rgb(255,255,255)"], path[fill="rgb(242,242,242)"] { - fill: @contrast-accent-color !important; + fill: @contrast !important; } path[stroke="rgb(32,213,171)"], @@ -1165,7 +1131,7 @@ } path[stroke="rgb(255,255,255)"], path[stroke="rgb(242,242,242)"] { - stroke: @contrast-accent-color !important; + stroke: @contrast !important; } } } @@ -1189,25 +1155,25 @@ color: @text; } .NewselaServiceLoginButton__ActionDiv-sc-mk13mj-2 { - color: @accent-color; + color: @accent; } } } .JoinQuickCode__StyledLink-sc-1uhfett-2, .CallToActionLink__StyledLink-sc-yuiy65-0, .Login__ForgotLink-sc-5w2jun-1 { - color: @accent-color; + color: @accent; } .react-code-input { input { background: @surface1; border-color: @overlay0; &:focus-within { - border-color: @accent-color; + border-color: @accent; } } &:not(:focus-within).empty [data-id="0"] { - border-color: @accent-color; + border-color: @accent; } } .JoinQuickCode__StyledPrimaryButton-sc-1uhfett-5 { @@ -1231,7 +1197,7 @@ } &, .material-icons-outlined { - color: @contrast-accent-color; + color: @contrast; } } .FloatingToolButton__FloatingButton-sc-1gy4xsl-0 { @@ -1243,7 +1209,7 @@ background: @overlay1; } .material-icons-outlined { - color: @accent-color; + color: @accent; } } .PracticeSet__StyledHeader-sc-1wup6tb-6 { @@ -1259,7 +1225,7 @@ .HeaderBackLink__TertiaryButtonLink-sc-1vx1tro-0, .Button__StyledButton-sc-aum9f1-1 { background: @surface1 !important; - color: @accent-color !important; + color: @accent !important; &:not([disabled]):hover { background: @surface2; } @@ -1299,7 +1265,7 @@ color: @text; &:hover { background: @surface2; - color: @accent-color; + color: @accent; } } } @@ -1316,9 +1282,9 @@ } .FileUploadButton__DropZoneDiv-sc-88u8tg-2 { background: @surface0; - border-color: @accent-color; + border-color: @accent; .material-icons-outlined { - color: @accent-color; + color: @accent; } } .DividerWord__LineDiv-sc-59xl7-1 { @@ -1382,9 +1348,9 @@ background: @overlay0; } &.active { - color: @accent-color; + color: @accent; svg { - fill: @accent-color; + fill: @accent; } } svg { @@ -1402,7 +1368,7 @@ } .CookiePolicyBanner__ContainerDiv-sc-1p3fxjn-1 { background: @surface0; - border-color: @accent-color; + border-color: @accent; .Button__StyledButton-sc-aum9f1-1 { background: @surface1; &:hover { @@ -1425,7 +1391,7 @@ .HeaderBackLink__TertiaryButtonLink-sc-1vx1tro-0, .Button__StyledButton-sc-aum9f1-1 { background: @surface1; - color: @accent-color; + color: @accent; &:hover { background: @surface2; } @@ -1437,11 +1403,11 @@ } &[aria-checked="true"], &[aria-checked="true"] div { - outline-color: @accent-color !important; + outline-color: @accent !important; } } .TitleCard__StartButton-sc-xz0ejb-1 { - background: @accent-color; + background: @accent; color: @base; } .QuizSession__BodyDiv-sc-4aco0-0 { @@ -1465,13 +1431,13 @@ background: @green; i, span { - color: @contrast-accent-color; + color: @contrast; } } background: @red; i, span { - color: @contrast-accent-color; + color: @contrast; } } .AnswerChoiceCard__CorrectnessOverlay-sc-lns4c-3 { @@ -1479,7 +1445,7 @@ background: @green; } i { - color: @contrast-accent-color !important; + color: @contrast !important; } background: @red; } @@ -1489,13 +1455,13 @@ .MatchingSessionSummary__CheckmarkOverlayDiv-sc-d3unim-1 { background: @base; .Glow__RootDiv-sc-1c8wp5s-0 { - background: @accent-color !important; - color: @contrast-accent-color; + background: @accent !important; + color: @contrast; } .MatchingSessionSummary__SessionDiv-sc-d3unim-13 { border-color: @overlay0; &.highlight { - background: fade(@yellow, 25); + background: fade(@yellow, 25%); } } } @@ -1517,7 +1483,7 @@ background: @surface0; border-color: @overlay0; .Glow__RootDiv-sc-1c8wp5s-0 { - background: @accent-color !important; + background: @accent !important; } } } @@ -1533,13 +1499,13 @@ .StreakProgressBar__Progress-sc-1b8tyg3-2 { background: @surface0; .StreakProgressBar__ProgressBarDiv-sc-1b8tyg3-3 { - background: @accent-color; + background: @accent; } } .StreakProgressBar__StyledSvgIcon-sc-1b8tyg3-4 { svg path { fill: @yellow; - stroke: @contrast-accent-color; + stroke: @contrast; } &.visible { animation: 0.5s ease 0s 1 normal none running @@ -1547,7 +1513,7 @@ } } .PracticeSession__AnswerButton-sc-1t2vn9a-3 { - color: @contrast-accent-color; + color: @contrast; &.red { background: @red; } @@ -1559,7 +1525,7 @@ .PillToggleGroup__Item-sc-12fkyq8-1 { &[aria-checked="true"] { background: @surface0; - color: @accent-color; + color: @accent; } &:hover { background: @surface0; @@ -1597,15 +1563,15 @@ } @keyframes catppuccin-formative-practiceset-quiz-streak { 0% { - filter: drop-shadow(fade(@yellow, 80) 0 0 0); + filter: drop-shadow(fade(@yellow, 80%) 0 0 0); transform: scale(0.8); } 50% { - filter: drop-shadow(fade(@yellow, 80) 0 0 12px); + filter: drop-shadow(fade(@yellow, 80%) 0 0 12px); transform: scale(1.3); } 100% { - filter: drop-shadow(fade(@yellow, 80) 0 0 0); + filter: drop-shadow(fade(@yellow, 80%) 0 0 0); transform: scale(1); } } @@ -1615,15 +1581,15 @@ background: @surface1; &:hover { background: @surface2; - box-shadow: @accent-color 0 0 0 1px; + box-shadow: @accent 0 0 0 1px; .label { - color: @accent-color; + color: @accent; } } .ShelfTile__IconDiv-sc-1oc4c00-1 { - background: @accent-color !important; + background: @accent !important; i { - color: @contrast-accent-color; + color: @contrast; } } } @@ -1648,13 +1614,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/formative/preview.webp b/styles/formative/preview.webp deleted file mode 100644 index 5561ffb8bd..0000000000 --- a/styles/formative/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f1ebe6734b11c96c3c6f051cc0180e30419425812ed57005a877fe1590e97a2 -size 89274 diff --git a/styles/freedesktop/README.md b/styles/freedesktop/README.md index ffa9104d1e..a0f01ebcc3 100644 --- a/styles/freedesktop/README.md +++ b/styles/freedesktop/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/freedesktop/catppuccin.user.css b/styles/freedesktop/catppuccin.user.css deleted file mode 100644 index 2132a3d706..0000000000 --- a/styles/freedesktop/catppuccin.user.css +++ /dev/null @@ -1,149 +0,0 @@ -/* ==UserStyle== -@name freedesktop.org Catppuccin -@namespace github.com/catppuccin/userstyles/styles/freedesktop -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/freedesktop -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/freedesktop/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Afreedesktop -@description Soothing pastel theme for freedesktop.org -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('www.freedesktop.org'), domain('specifications.freedesktop.org') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - color: @text; - } - - #content h1, - #content h2, - #content h3 { - color: @accent-color; - } - - .pageheader { - background-color: @mantle; - border-color: @crust; - color: @subtext1; - } - - .pageheader .actions ul li a, - input[type="submit"] { - background-color: transparent; - color: @accent-color; - border-color: @accent-color; - } - - input#searchbox { - color: @subtext1; - background-color: @overlay0; - border-color: @overlay1; - box-shadow: none; - &:focus { - border-color: @accent-color; - outline-color: none; - outline-style: none; - } - } - - .headerpath .title { - color: @subtext1; - } - - a:link { - color: @blue; - } - - a:visited { - color: @lavender; - } - code { - background-color: @crust; - color: @text; - } - - pre { - background-color: @mantle; - border-color: @surface0; - - code { - background-color: @mantle; - color: @text; - } - } - - hr { - border-style: solid; - border-color: @surface1; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/freedesktop/catppuccin.user.less b/styles/freedesktop/catppuccin.user.less new file mode 100644 index 0000000000..9728bd7e64 --- /dev/null +++ b/styles/freedesktop/catppuccin.user.less @@ -0,0 +1,110 @@ +/* ==UserStyle== +@name freedesktop.org Catppuccin +@namespace github.com/catppuccin/userstyles/styles/freedesktop +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/freedesktop +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/freedesktop/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Afreedesktop +@description Soothing pastel theme for freedesktop.org +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("www.freedesktop.org"), + domain("specifications.freedesktop.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + color: @text; + } + + #content h1, + #content h2, + #content h3, + #content h4, + #content h5, + #content h6 { + color: @accent; + } + + .pageheader { + background-color: @mantle; + border-color: @crust; + color: @subtext1; + } + + .pageheader .actions ul li a, + input[type="submit"] { + background-color: transparent; + color: @accent; + border-color: @accent; + } + + input#searchbox { + color: @subtext1; + background-color: @overlay0; + border-color: @overlay1; + box-shadow: none; + &:focus { + border-color: @accent; + outline-color: none; + outline-style: none; + } + } + + .headerpath .title { + color: @subtext1; + } + + a:link { + color: @blue; + } + + a:visited { + color: @lavender; + } + code { + background-color: @crust; + color: @text; + } + + pre { + background-color: @mantle; + border-color: @surface0; + + code { + background-color: @mantle; + color: @text; + } + } + + hr { + border-style: solid; + border-color: @surface1; + } + + .topnav, tr:nth-child(2n+1) { + border-color: @surface0; + background-color: @mantle; + } + } +} diff --git a/styles/freedesktop/preview.webp b/styles/freedesktop/preview.webp deleted file mode 100644 index c3a07034cc..0000000000 --- a/styles/freedesktop/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ccc52264818d19b7fc434f5a3f2eadf4a162f8f329c9349f8839a2ec34dc8701 -size 931430 diff --git a/styles/ghostty.org/README.md b/styles/ghostty.org/README.md new file mode 100644 index 0000000000..2a12a58cb0 --- /dev/null +++ b/styles/ghostty.org/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Ghostty.org + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/ghostty.org/catppuccin.user.less b/styles/ghostty.org/catppuccin.user.less new file mode 100644 index 0000000000..e071e5c766 --- /dev/null +++ b/styles/ghostty.org/catppuccin.user.less @@ -0,0 +1,93 @@ +/* ==UserStyle== +@name Ghostty.org Catppuccin +@namespace github.com/catppuccin/userstyles/styles/ghostty.org +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ghostty.org +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ghostty.org/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aghostty.org +@description Soothing pastel theme for Ghostty.org +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("ghostty.org") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + html, body { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --brand-color: @accent; + --brand-color-hsl: #hslify(@accent)[]; + --gray-0: @base; + --gray-1: @surface0; + --gray-2: @surface1; + --gray-3: @overlay1; + --gray-4: @subtext0; + --gray-5: @subtext1; + --gray-6: @subtext1; + --gray-7: @subtext1; + --gray-8: @text; + --gray-9: @text; + --black: @crust; + --white: @text; + + --callout-note: @blue; + --callout-tip: @green; + --callout-important: @mauve; + --callout-warning: @yellow; + --callout-caution: @red; + + div[class^="Terminal-module"] { + --adw-headerbar-color: @mantle !important; + --color-sunset-orange: @red; + --color-pastel-orange: @peach; + --color-malachite: @green; + } + + [class*="__buttonLink"][class*="__brand"]:hover, + ul[class*="NavTree-module__"] [class*="__active"] { + color: @crust !important; + } + + img[alt="Ghostty"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + [class*="DownloadPage_header"] img { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + pre code { + color: @text; + } + } +} + +/* #lib.hslify() with spaces instead of commas. */ +#hslify(@color) { + @raw: e(%("%s %s% %s%", hue(@color), saturation(@color), lightness(@color))); +} diff --git a/styles/github/README.md b/styles/github/README.md index f9ce5d8283..70cce4d092 100644 --- a/styles/github/README.md +++ b/styles/github/README.md @@ -10,24 +10,23 @@

- -

- -

- +

## Usage -Switch to a default GitHub light/dark theme via **Settings** > **Appearance** for the best experience! +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Use the **Light default** or **Dark default** themes and disable *Increase contrast* under GitHub's [Theme preferences](https://github.com/settings/appearance). ## ๐Ÿ’ Current Maintainer - [uncenter](https://github.com/uncenter) ## ๐Ÿ’– Past Maintainers -- [Lemon](https://github.com/unseen-ninja) +- [unseen-ninja](https://github.com/unseen-ninja) - [Pocco81](https://github.com/Pocco81) -- [Umbreon](https://github.com/GlowingUmbreon) +- [GlowingUmbreon](https://github.com/GlowingUmbreon)   diff --git a/styles/github/catppuccin.user.css b/styles/github/catppuccin.user.less similarity index 60% rename from styles/github/catppuccin.user.css rename to styles/github/catppuccin.user.less index eda1b69509..3a42256b1f 100644 --- a/styles/github/catppuccin.user.css +++ b/styles/github/catppuccin.user.less @@ -1,13 +1,13 @@ /* ==UserStyle== -@name GitHub Catppuccin -@namespace github.com/catppuccin/userstyles/styles/github -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/github -@version 1.6.10 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/github/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agithub -@description Soothing pastel theme for GitHub -@author Catppuccin -@license MIT +@name GitHub Catppuccin +@namespace github.com/catppuccin/userstyles/styles/github +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/github +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/github/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agithub +@description Soothing pastel theme for GitHub +@author Catppuccin +@license MIT @preprocessor less @var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] @@ -15,141 +15,102 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document regexp("https:\/\/(gist\.)*github\.com(?!((\/.+?\/.+?\/commit\/[A-Fa-f0-9]+\.(patch|diff)$)|\/home$|\/features($|\/.*)|\/marketplace($|\?.*|\/.*)|\/organizations\/plan)).*$") { - [data-color-mode="auto"] { +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document /* Match every page on GitHub except github.com/home, github.com/features/*, and github.com/organizations/plan. */ +regexp( + "https:\/\/github\.com(?!(\/home$|\/features($|\/.*)|\/organizations\/plan)).*$" + ), + domain("gist.github.com"), + domain("docs.github.com"), + domain("viewscreen.githubusercontent.com") { + [data-color-mode][data-color-mode="auto"] { @media (prefers-color-scheme: light) { &[data-light-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } &[data-light-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } @media (prefers-color-scheme: dark) { &[data-dark-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } &[data-dark-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); + header[data-color-mode] { + #catppuccin(@darkFlavor); + } } } } [data-color-mode="light"][data-light-theme="dark"], [data-color-mode="dark"][data-dark-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } [data-color-mode="light"][data-light-theme="light"], [data-color-mode="dark"][data-dark-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - html:not([data-light-theme="light"], [data-light-theme="dark"]) - body:not(.logged-out)::after, - html:not([data-dark-theme="dark"], [data-dark-theme="light"]) - body:not(.logged-out)::after { - position: fixed; - top: 0; - left: 0; - padding: 1rem; - margin: 1rem; - border-radius: 0.5rem; - max-width: 40ch; - background-color: var(--color-danger-fg); - color: var(--color-header-bg); - content: "Unsupported GitHub theme detected! Please switch to the default light/dark theme via the GitHub Appearance settings to get the best experience for the Catppuccin GitHub userstyle."; - z-index: 9999; - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); .cm-placeholder { color: @subtext0; } - accent-color: @accent-color; + accent-color: @accent; color: @text; - --color-social-reaction-bg-reacted-hover: fade(@accent-color, 30%); - --color-notifications-button-hover-bg: fade(@accent-color, 60%); + --color-social-reaction-bg-reacted-hover: fade(@accent, 30%); + --color-notifications-button-hover-bg: fade(@accent, 60%); --color-workflow-card-header-shadow: rgba(27, 31, 35, 0.04); --color-icon-directory: var(--fgColor-muted, var(--color-fg-muted)); - --color-calendar-halloween-graph-day-L1-bg: fadeout( - @accent-color, - 60% - ) !important; - --color-calendar-halloween-graph-day-L2-bg: fadeout( - @accent-color, + --color-calendar-halloween-graph-day-L1-bg: fade( + @accent, 40% ) !important; - --color-calendar-halloween-graph-day-L3-bg: fadeout( - @accent-color, - 20% - ) !important; - --color-calendar-halloween-graph-day-L4-bg: @accent-color !important; - --color-calendar-winter-graph-day-L1-bg: fadeout( - @accent-color, + --color-calendar-halloween-graph-day-L2-bg: fade( + @accent, 60% ) !important; - --color-calendar-winter-graph-day-L2-bg: fadeout( - @accent-color, + --color-calendar-halloween-graph-day-L3-bg: fade( + @accent, + 80% + ) !important; + --color-calendar-halloween-graph-day-L4-bg: @accent !important; + --color-calendar-winter-graph-day-L1-bg: fade( + @accent, 40% ) !important; - --color-calendar-winter-graph-day-L3-bg: fadeout( - @accent-color, - 20% + --color-calendar-winter-graph-day-L2-bg: fade( + @accent, + 60% + ) !important; + --color-calendar-winter-graph-day-L3-bg: fade( + @accent, + 80% ) !important; - --color-calendar-winter-graph-day-L4-bg: @accent-color !important; + --color-calendar-winter-graph-day-L4-bg: @accent !important; --color-calendar-graph-day-bg: @surface0 !important; --color-calendar-graph-day-border: transparent !important; - --color-calendar-graph-day-L1-bg: fadeout(@accent-color, 60%) !important; - --color-calendar-graph-day-L2-bg: fadeout(@accent-color, 40%) !important; - --color-calendar-graph-day-L3-bg: fadeout(@accent-color, 20%) !important; - --color-calendar-graph-day-L4-bg: @accent-color !important; + --color-calendar-graph-day-L1-bg: fade(@accent, 40%) !important; + --color-calendar-graph-day-L2-bg: fade(@accent, 60%) !important; + --color-calendar-graph-day-L3-bg: fade(@accent, 80%) !important; + --color-calendar-graph-day-L4-bg: @accent !important; --color-calendar-graph-day-L2-border: transparent !important; --color-calendar-graph-day-L3-border: transparent !important; --color-calendar-graph-day-L4-border: transparent !important; - --color-user-mention-fg: @accent-color; - --color-user-mention-bg: fade(@accent-color, 30%); + --contribution-default-bgColor-0: fade(@accent, 10%) !important; + --contribution-default-bgColor-1: fade(@accent, 40%) !important; + --contribution-default-bgColor-2: fade(@accent, 60%) !important; + --contribution-default-bgColor-3: fade(@accent, 80%) !important; + --contribution-default-bgColor-4: @accent !important; + --color-user-mention-fg: @accent; + --color-user-mention-bg: fade(@accent, 30%); --color-dashboard-feed-bg: var(--color-scale-gray-9); --color-mktg-btn-shadow-outline: rgba(255, 255, 255, 0.25) 0 0 0 1px inset; --color-marketing-icon-secondary: var(--color-scale-blue-5); @@ -161,33 +122,37 @@ --topicTag-borderColor: #0000; --highlight-neutral-bgColor: fade(@yellow, 30%); --page-header-bgColor: @crust; - --diffBlob-addition-fgColor-text: @text; - --diffBlob-addition-fgColor-num: @text; - --diffBlob-addition-bgColor-num: fadeout(@green, 70%); - --diffBlob-addition-bgColor-line: fadeout(@green, 85%); - --diffBlob-addition-bgColor-word: fadeout(@green, 70%); - --diffBlob-deletion-fgColor-text: @text; - --diffBlob-deletion-fgColor-num: @text; - --diffBlob-deletion-bgColor-num: fadeout(@red, 70%); - --diffBlob-deletion-bgColor-line: fadeout(@red, 85%); - --diffBlob-deletion-bgColor-word: fadeout(@red, 70%); - --diffBlob-hunk-bgColor-num: fadeout(@accent-color, 60%); - --diffBlob-expander-iconColor: #848d97; + --diffBlob-additionNum-bgColor: fade(@green, 30%); + --diffBlob-additionNum-fgColor: @text; + --diffBlob-additionLine-bgColor: fade(@green, 15%); + --diffBlob-additionWord-bgColor: fade(@green, 30%); + --diffBlob-additionWord-fgColor: @text; + --diffBlob-deletionNum-bgColor: fade(@red, 30%); + --diffBlob-deletionNum-fgColor: @text; + --diffBlob-deletionLine-bgColor: fade(@red, 15%); + --diffBlob-deletionWord-bgColor: fade(@red, 30%); + --diffBlob-deletionWord-fgColor: @text; + --diffBlob-hunkNum-bgColor-rest: fade(@accent, 40%); + --diffBlob-hunkNum-bgColor-hover: fade(@accent, 75%); + --diffBlob-hunkLine-bgColor: fade(@accent, 25%); + --diffBlob-expander-iconColor: @subtext0; + --diffBlob-emptyNum-bgColor: @mantle; + --diffBlob-emptyLine-bgColor: @mantle; --codeMirror-fgColor: @text; --codeMirror-bgColor: @base; --codeMirror-gutters-bgColor: @base; --codeMirror-gutterMarker-fgColor-default: @base; --codeMirror-gutterMarker-fgColor-muted: @overlay0; - --codeMirror-lineNumber-fgColor: @subtext1; + --codeMirror-lineNumber-fgColor: @overlay1; --codeMirror-cursor-fgColor: @text; --codeMirror-selection-bgColor: #388bfd66; --codeMirror-activeline-bgColor: #6e768166; --codeMirror-matchingBracket-fgColor: @text; --codeMirror-lines-bgColor: @base; - --codeMirror-syntax-fgColor-comment: @overlay0; + --codeMirror-syntax-fgColor-comment: @overlay2; --codeMirror-syntax-fgColor-constant: @blue; --codeMirror-syntax-fgColor-entity: @blue; - --codeMirror-syntax-fgColor-keyword: @pink; + --codeMirror-syntax-fgColor-keyword: @mauve; --codeMirror-syntax-fgColor-storage: @peach; --codeMirror-syntax-fgColor-string: @green; --codeMirror-syntax-fgColor-support: #79c0ff; @@ -231,15 +196,15 @@ --control-danger-fgColor-hover: @crust; --control-danger-bgColor-hover: fade(@red, 80%); --control-danger-bgColor-active: @red; - --control-checked-bgColor-rest: @accent-color; - --control-checked-bgColor-hover: lighten(@accent-color, 5%); - --control-checked-bgColor-active: lighten(@accent-color, 5%); + --control-checked-bgColor-rest: @accent; + --control-checked-bgColor-hover: lighten(@accent, 5%); + --control-checked-bgColor-active: lighten(@accent, 5%); --control-checked-bgColor-disabled: #6e7681; --control-checked-fgColor-rest: @crust; --control-checked-fgColor-disabled: #010409; - --control-checked-borderColor-rest: @accent-color; - --control-checked-borderColor-hover: @accent-color; - --control-checked-borderColor-active: @accent-color; + --control-checked-borderColor-rest: @accent; + --control-checked-borderColor-hover: @accent; + --control-checked-borderColor-active: @accent; --control-checked-borderColor-disabled: @surface0; --controlTrack-bgColor-rest: @surface0; --controlTrack-bgColor-hover: @surface1; @@ -278,8 +243,8 @@ --button-primary-borderColor-active: @green; --button-primary-borderColor-disabled: fade(@green, 70%); --button-primary-shadow-selected: 0px 0px 0px 0px #000; - --button-invisible-fgColor-rest: @accent-color; - --button-invisible-fgColor-hover: lighten(@accent-color, 10%); + --button-invisible-fgColor-rest: @text; + --button-invisible-fgColor-hover: lighten(@accent, 10%); --button-invisible-fgColor-disabled: #6e7681; --button-invisible-iconColor-rest: @overlay2; --button-invisible-iconColor-hover: #e6edf3; @@ -334,7 +299,7 @@ --buttonCounter-danger-fgColor-rest: @red; --buttonCounter-danger-fgColor-hover: @text; --buttonCounter-danger-fgColor-disabled: fade(@red, 50%); - --focus-outlineColor: @accent-color; + --focus-outlineColor: @accent; --menu-bgColor-active: @mantle; --overlay-bgColor: @base; --overlay-borderColor: @surface0; @@ -344,23 +309,23 @@ --sideNav-bgColor-selected: #21262d; --skeletonLoader-bgColor: #161b22; --timelineBadge-bgColor: @mantle; - --treeViewItem-leadingVisual-iconColor-rest: #848d97; - --underlineNav-borderColor-active: @accent-color; + --treeViewItem-leadingVisual-iconColor-rest: @subtext0; + --underlineNav-borderColor-active: @accent; --underlineNav-borderColor-hover: #6e768166; --underlineNav-iconColor-rest: #848d97; - --selection-bgColor: fade(@accent-color, 30%); - --reactionButton-selected-bgColor-rest: fade(@accent-color, 20%); - --reactionButton-selected-bgColor-hover: fade(@accent-color, 35%); - --reactionButton-selected-fgColor-rest: @accent-color; - --reactionButton-selected-fgColor-hover: @accent-color; + --selection-bgColor: fade(@accent, 30%); + --reactionButton-selected-bgColor-rest: fade(@accent, 20%); + --reactionButton-selected-bgColor-hover: fade(@accent, 35%); + --reactionButton-selected-fgColor-rest: @accent; + --reactionButton-selected-fgColor-hover: @accent; --fgColor-default: @text; --fgColor-muted: @subtext1; --fgColor-onEmphasis: @base; - --fgColor-white: if(@lookup = latte, @crust, @text); + --fgColor-white: @text; --fgColor-disabled: @surface2; - --fgColor-link: @accent-color; - --fgColor-neutral: #6e7681; - --fgColor-accent: @accent-color; + --fgColor-link: @accent; + --fgColor-neutral: @subtext1; + --fgColor-accent: @accent; --fgColor-success: @green; --fgColor-attention: @yellow; --fgColor-severe: @peach; @@ -378,8 +343,8 @@ --bgColor-transparent: #0000; --bgColor-neutral-muted: fade(@surface0, 40%); --bgColor-neutral-emphasis: @subtext0; - --bgColor-accent-muted: fade(@accent-color, 20%); - --bgColor-accent-emphasis: @accent-color; + --bgColor-accent-muted: fade(@accent, 20%); + --bgColor-accent-emphasis: @accent; --bgColor-success-muted: #2ea04326; --bgColor-success-emphasis: @green; --bgColor-attention-muted: fade(@yellow, 15%); @@ -403,8 +368,8 @@ --borderColor-transparent: #0000; --borderColor-neutral-muted: #6e768166; --borderColor-neutral-emphasis: #6e7681; - --borderColor-accent-muted: fade(@accent-color, 50%); - --borderColor-accent-emphasis: @accent-color; + --borderColor-accent-muted: fade(@accent, 50%); + --borderColor-accent-emphasis: @accent; --borderColor-success-muted: darken(@green, 5%); --borderColor-success-emphasis: @green; --borderColor-attention-muted: fade(@flamingo, 30%); @@ -421,14 +386,14 @@ --borderColor-done-emphasis: @mauve; --borderColor-sponsors-muted: #db61a266; --borderColor-sponsors-emphasis: @pink; - & when (@lookup =latte) { + & when (@flavor = latte) { --color-ansi-black: @subtext1; --color-ansi-black-bright: @subtext0; --color-ansi-gray: @subtext0; --color-ansi-white: @surface2; --color-ansi-white-bright: @surface1; } - & when not (@lookup =latte) { + & when not(@flavor = latte) { --color-ansi-black: @surface1; --color-ansi-black-bright: @surface2; --color-ansi-gray: @surface2; @@ -447,25 +412,26 @@ --color-ansi-magenta-bright: @pink; --color-ansi-cyan: @teal; --color-ansi-cyan-bright: @teal; - --color-prettylights-syntax-comment: @overlay1; + --color-prettylights-syntax-comment: @overlay2; --color-prettylights-syntax-constant: @blue; + --color-prettylights-syntax-constant-other-reference-link: @blue; --color-prettylights-syntax-entity: @blue; --color-prettylights-syntax-storage-modifier-import: @peach; - --color-prettylights-syntax-entity-tag: @teal; - --color-prettylights-syntax-keyword: @pink; + --color-prettylights-syntax-entity-tag: @blue; + --color-prettylights-syntax-keyword: @mauve; --color-prettylights-syntax-string: @green; --color-prettylights-syntax-variable: @peach; --color-prettylights-syntax-invalid-illegal-text: @red; - --color-prettylights-syntax-invalid-illegal-bg: fadeout(@red, 85%); - --color-prettylights-syntax-markup-heading: @teal; + --color-prettylights-syntax-invalid-illegal-bg: fade(@red, 15%); + --color-prettylights-syntax-markup-heading: @red; --color-prettylights-syntax-markup-italic: @yellow; --color-prettylights-syntax-markup-bold: @yellow; --color-prettylights-syntax-markup-deleted-text: @text; - --color-prettylights-syntax-markup-deleted-bg: fadeout(@red, 60%); + --color-prettylights-syntax-markup-deleted-bg: fade(@red, 40%); --color-prettylights-syntax-markup-inserted-text: @text; - --color-prettylights-syntax-markup-inserted-bg: fadeout(@green, 60%); + --color-prettylights-syntax-markup-inserted-bg: fade(@green, 40%); --color-prettylights-syntax-markup-changed-text: @text; - --color-prettylights-syntax-markup-changed-bg: fadeout(@yellow, 60%); + --color-prettylights-syntax-markup-changed-bg: fade(@yellow, 40%); --color-prettylights-syntax-markup-ignored-text: @text; --bgColor-white: @base; --color-scale-white: @base; @@ -484,20 +450,67 @@ --shadow-resting-xsmall: 0px 1px 0px 0px @crust; --shadow-resting-small: 0px 1px 0px 0px @crust, 0px 1px 3px 0px @crust; --shadow-resting-medium: 0px 3px 6px 0px @crust; - --shadow-floating-small: 0px 0px 0px 1px @base, 0px 6px 12px -3px @crust, - 0px 6px 18px 0px @crust; - --shadow-floating-medium: 0px 0px 0px 1px @surface0, - 0px 8px 16px -4px @crust, 0px 4px 32px -4px @crust, - 0px 24px 48px -12px @crust, 0px 48px 96px -24px @crust; - --shadow-floating-large: 0px 0px 0px 1px @surface0, - 0px 24px 48px 0px #010409; - --shadow-floating-xlarge: 0px 0px 0px 1px @surface0, - 0px 32px 64px 0px #010409; + --shadow-floating-small: + 0px 0px 0px 1px @base, 0px 6px 12px -3px @crust, 0px 6px 18px 0px @crust; + --shadow-floating-medium: + 0px 0px 0px 1px @surface0, 0px 8px 16px -4px @crust, 0px 4px 32px -4px + @crust, 0px 24px 48px -12px @crust, 0px 48px 96px -24px @crust; + --shadow-floating-large: + 0px 0px 0px 1px @surface0, 0px 24px 48px 0px #010409; + --shadow-floating-xlarge: + 0px 0px 0px 1px @surface0, 0px 32px 64px 0px #010409; --shadow-floating-legacy: 0px 6px 12px -3px @crust, 0px 6px 18px 0px @crust; --outline-focus: @blue solid 2px; + /* Feed Links */ + .feed-item-content a code, .feed-item-content a tt { + color: @accent; + } + + /* Customer Terms & Agreements Page: https://github.com/customer-terms */ + .enterprise-customer-agreement { + color: @text !important; + + &:hover { + .octicon, + h3 { + color: @accent !important; + } + } + } + + /* Enhanced Repo Insights Views - https://github.com/orgs/community/discussions/135572 */ + --data-blue-color-emphasis: @accent; + --data-red-color-emphasis: @red; + --data-green-color-emphasis: @green; + + /* Copilot Chat */ + --display-green-fgColor: @green; + --display-teal-fgColor: @teal; + --display-purple-fgColor: @mauve; + --display-blue-fgColor: @blue; + --display-pink-fgColor: @pink; + --display-gray-fgColor: @subtext0; + react-app[app-name="copilot-immersive-v1"], + copilot-dashboard-entrypoint { + button { + color: @text; + } + } + + /* docs.github.com */ + --color-fg-default: @text; + --color-canvas-default: @base; + --color-canvas-subtle: @mantle; + + --tooltip-fgColor: @base; + --tooltip-bgColor: @overlay2; + + /* Refined GitHub */ + --rgh-heat-color: @peach; + .turbo-progress-bar { - background-color: @accent-color; + background-color: @accent; } .form-select { @@ -507,29 +520,23 @@ background-image: url("data:image/svg+xml,@{svg}"); } - img[src="https://github.githubassets.com/assets/mona-loading-default-c3c7aad1282f.gif"] - { + img[src="https://github.githubassets.com/assets/mona-loading-default-c3c7aad1282f.gif"] { content: url("https://giscus.catppuccin.com/assets/loading_48x48.gif"); } /* Header when logged out */ - .HeaderMenu-link { - color: var(--fgColor-default); - - &:hover { - color: var(--fgColor-default); + .header-search-button { + svg { + fill: @text !important; } } - .header-search-button.placeholder { - color: @subtext0; - } .HeaderMenu-toggle-bar { - background-color: @text; + border-color: @text; } .notification-indicator .mail-status { background-image: linear-gradient( - @accent-color, - darken(@accent-color, 5%) + @accent, + darken(@accent, 5%) ); } @@ -558,73 +565,73 @@ } .js-activity-overview-graph .js-highlight-blob { - fill: @accent-color; - stroke: @accent-color; + fill: @accent; + stroke: @accent; + } + + .subnav-link.selected { + border-bottom-color: @accent; + } + + /* Pull request check in progress indicator */ + [stroke="#DBAB0A" i] { + stroke: fade(@yellow, 70%) !important; + } + [fill="#DBAB0A" i] { + fill: @yellow !important; + } + + /* Issue timeline icon */ + [class*="prc-Timeline-TimelineBadge"], .TimelineItem-Badge { + /* Completed */ + path[d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm1.5 0a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm10.28-1.72-4.5 4.5a.75.75 0 0 1-1.06 0l-2-2a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l1.47 1.47 3.97-3.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"], + /* Duplicate / Not planned */ + path[d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM3.965 13.096a6.5 6.5 0 0 0 9.131-9.131ZM1.5 8a6.474 6.474 0 0 0 1.404 4.035l9.131-9.131A6.499 6.499 0 0 0 1.5 8Z"], + /* Reopen */ + path[d="M5.029 2.217a6.5 6.5 0 0 1 9.437 5.11.75.75 0 1 0 1.492-.154 8 8 0 0 0-14.315-4.03L.427 1.927A.25.25 0 0 0 0 2.104V5.75A.25.25 0 0 0 .25 6h3.646a.25.25 0 0 0 .177-.427L2.715 4.215a6.491 6.491 0 0 1 2.314-1.998ZM1.262 8.169a.75.75 0 0 0-1.22.658 8.001 8.001 0 0 0 14.315 4.03l1.216 1.216a.25.25 0 0 0 .427-.177V10.25a.25.25 0 0 0-.25-.25h-3.646a.25.25 0 0 0-.177.427l1.358 1.358a6.501 6.501 0 0 1-11.751-3.11.75.75 0 0 0-.272-.506Z"], + path[d="M9.06 9.06a1.5 1.5 0 1 1-2.12-2.12 1.5 1.5 0 0 1 2.12 2.12Z"] { + fill: @base; + } } } } -@-moz-document url-prefix("https://viewscreen.githubusercontent.com/markdown/mermaid") -{ +@-moz-document url-prefix( + "https://viewscreen.githubusercontent.com/markdown/mermaid" + ) { [data-color-mode="auto"] { @media (prefers-color-scheme: light) { &[data-light-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } &[data-light-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } @media (prefers-color-scheme: dark) { &[data-dark-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } &[data-dark-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } } [data-color-mode="light"][data-light-theme="dark"], [data-color-mode="dark"][data-dark-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } [data-color-mode="light"][data-light-theme="light"], [data-color-mode="dark"][data-dark-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); ::selection { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); } background-color: @base; @@ -637,8 +644,18 @@ --color-btn-active-bg: @surface2; --color-btn-selected-bg: @surface2; --color-btn-counter-bg: @surface2; - --color-btn-outline-text: @accent-color; + --color-btn-outline-text: @accent; --color-fg-muted: @subtext1; + --button-default-fgColor-rest: @text; + --button-default-bgColor-rest: @surface0; + --button-default-bgColor-hover: @surface1; + --button-default-bgColor-active: @surface2; + --button-default-bgColor-selected: @surface2; + --button-default-bgColor-disabled: fade(@surface0, 70%); + --button-default-borderColor-rest: @surface1; + --button-default-borderColor-hover: @surface1; + --button-default-borderColor-active: @surface1; + --button-default-borderColor-disabled: fade(@surface0, 70%); #diagram { .node rect, @@ -646,8 +663,13 @@ .node ellipse, .node polygon, .node path { - fill: fade(@accent-color, 10%); - stroke: @accent-color; + fill: fade(@accent, 10%); + stroke: @accent; + } + + .cluster rect { + fill: @surface0; + stroke: @surface2; } .label text, @@ -657,7 +679,9 @@ color: @text; } - .flowchart-link, + .flowchart-link { + stroke: @subtext0; + } .marker { stroke: @subtext0; fill: @subtext0; @@ -665,6 +689,9 @@ .edgeLabel { background-color: @crust; + p { + background-color: @surface2; + } } } @@ -674,69 +701,33 @@ } } -@-moz-document regexp("https:\/\/notebooks\.githubusercontent\.com\/view\/ipynb.*") { +@-moz-document regexp( + "https:\/\/notebooks\.githubusercontent\.com\/view\/ipynb.*" + ) { :root { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --jp-border-color0: var(--color-scale-gray-7); --jp-border-color1: var(--color-scale-gray-7); --jp-border-color2: var(--color-scale-gray-8); --jp-border-color3: var(--color-scale-gray-9); --jp-ui-font-color0: @text; - --jp-ui-font-color1: fadeout(@text, 13%); - --jp-ui-font-color2: fadeout(@text, 46%); - --jp-ui-font-color3: fadeout(@text, 72%); + --jp-ui-font-color1: fade(@text, 87%); + --jp-ui-font-color2: fade(@text, 54%); + --jp-ui-font-color3: fade(@text, 28%); --jp-ui-inverse-font-color0: @crust; - --jp-ui-inverse-font-color1: fadeout(@crust, 20%); - --jp-ui-inverse-font-color2: fadeout(@crust, 50%); - --jp-ui-inverse-font-color3: fadeout(@crust, 70%); + --jp-ui-inverse-font-color1: fade(@crust, 80%); + --jp-ui-inverse-font-color2: fade(@crust, 50%); + --jp-ui-inverse-font-color3: fade(@crust, 30%); --jp-content-font-color0: @text; --jp-content-font-color1: @text; - --jp-content-font-color2: fadeout(@text, 30%); - --jp-content-font-color3: fadeout(@text, 50%); + --jp-content-font-color2: fade(@text, 70%); + --jp-content-font-color3: fade(@text, 50%); --jp-content-link-color: @sapphire; --jp-layout-color0: @base !important; --jp-layout-color1: var(--color-scale-gray-9); @@ -773,21 +764,22 @@ --jp-info-color1: var(--color-scale-blue-5); --jp-info-color2: var(--color-scale-blue-3); --jp-info-color3: var(--color-scale-blue-1); + --jp-cell-editor-background: @mantle; --jp-cell-editor-border-color: var(--color-scale-gray-7); --jp-cell-editor-box-shadow: inset 0 0 2px var(--color-scale-blue-3); - --jp-cell-prompt-not-active-font-color: fadeout(@text, 50%); + --jp-cell-prompt-not-active-font-color: fade(@text, 50%); --jp-cell-inprompt-font-color: var(--color-scale-blue-6); --jp-cell-outprompt-font-color: var(--color-scale-coral-6); - --jp-notebook-multiselected-color: fadeout(@overlay2, 86%); - --jp-rendermime-error-background: fadeout(@red, 82%); + --jp-notebook-multiselected-color: fade(@overlay2, 14%); + --jp-rendermime-error-background: fade(@red, 18%); --jp-rendermime-table-row-background: var(--color-scale-gray-9); - --jp-rendermime-table-row-hover-background: fadeout(@surface2, 86%); - --jp-dialog-background: fadeout(@crust, 40%); - --jp-toolbar-box-shadow: 0px 0px 2px 0px fadeout(@crust, 20%); + --jp-rendermime-table-row-hover-background: fade(@surface2, 14%); + --jp-dialog-background: fade(@crust, 60%); + --jp-toolbar-box-shadow: 0px 0px 2px 0px fade(@crust, 80%); --jp-input-box-shadow: inset 0 0 2px var(--color-scale-blue-3); --jp-input-background: var(--color-scale-gray-8); - --jp-input-active-box-shadow-color: fadeout(@blue, 70%); - --jp-editor-selected-focused-background: fadeout(@blue, 86%); + --jp-input-active-box-shadow-color: fade(@blue, 30%); + --jp-editor-selected-focused-background: fade(@blue, 14%); --jp-mirror-editor-keyword-color: var(--color-scale-green-5); --jp-mirror-editor-atom-color: var(--color-scale-blue-3); --jp-mirror-editor-number-color: var(--color-scale-green-4); @@ -821,13 +813,3 @@ --jp-icon-contrast-color3: var(--color-scale-blue-6); } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/github/preview.webp b/styles/github/preview.webp deleted file mode 100644 index 4bc533db28..0000000000 --- a/styles/github/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b952bf2ef7ee762e6b74692ecf5bd4f07c2e9e250d541baff1576db6b0149005 -size 229132 diff --git a/styles/nixos.wiki/README.md b/styles/gleam.run/README.md similarity index 63% rename from styles/nixos.wiki/README.md rename to styles/gleam.run/README.md index da507746ce..644600dafc 100644 --- a/styles/nixos.wiki/README.md +++ b/styles/gleam.run/README.md @@ -4,26 +4,23 @@

Logo
- Catppuccin for NixOS Wiki + Catppuccin for gleam.run

- - + +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) -## ๐Ÿ’– Past Maintainer -- [winston](https://github.com/nekowinston)   diff --git a/styles/gleam.run/catppuccin.user.less b/styles/gleam.run/catppuccin.user.less new file mode 100644 index 0000000000..7c7b1cd08e --- /dev/null +++ b/styles/gleam.run/catppuccin.user.less @@ -0,0 +1,173 @@ +/* ==UserStyle== +@name gleam.run Catppuccin +@namespace github.com/catppuccin/userstyles/styles/gleam.run +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/gleam.run +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/gleam.run/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agleam.run +@description Soothing pastel theme for gleam.run +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("gleam.run") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + code.hljs { + background: none !important; + } + + body { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + + &.theme-light { + #catppuccin(@lightFlavor); + } + &.theme-dark { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --color-text-main: @text; + + --color-underwater-blue: @base; + --color-black: @mantle; + --color-blacker: @crust; + --color-white: @text; + --color-faff-pink: @accent; + --color-aged-plastic-yellow: @text; + --color-code-grey: @subtext1; + --color-code-blue: @sky; + --color-code-green: @green; + --color-code-dark-grey: @overlay2; + --color-code-yellow: @yellow; + --color-code-red: @red; + --color-code-orange: @peach; + --color-code-light-pink: @pink; + + --charcoal: var(--color-charcoal); + --underwater-blue: var(--color-underwater-blue); + --black: var(--color-black); + --blacker: var(--color-blacker); + --white: var(--color-white); + --faff-pink: var(--color-faff-pink); + --aged-plastic-yellow: var(--color-aged-plastic-yellow); + --unnamed-blue: var(--color-unnamed-blue); + --code-grey: var(--color-code-grey); + --code-blue: var(--color-code-blue); + --code-green: var(--color-code-green); + --code-dark-grey: var(--color-code-dark-grey); + --code-yellow: var(--color-code-yellow); + --code-red: var(--color-code-red); + --code-orange: var(--color-code-orange); + --code-light-pink: var(--color-code-light-pink); + + img[src="https://gleam.run/images/lucy/lucy.svg"], + img[src="/images/lucy/lucy.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + .hero-lucy-container:hover .hero-lucy, .logo:hover .footer-lucy { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .pride .page-header { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .home-waves { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + p > code, li > code { + background-color: @surface0; + opacity: 1; + } + + /* gleam.run home */ + .button { + color: @crust !important; + background-color: @accent; + } + .home-still-here { + .button { + background-color: @text; + color: @crust; + } + + /* Wanna keep in touch? */ + input[type="submit"] { + background-color: @text !important; + color: @crust; + } + input[type="email"] { + background-color: @mantle; + color: @text; + } + } + + /* tour.gleam.run */ + --color-text: @text; + --color-link: @text; + --color-background: @base; + --color-background-dim: @crust; + --color-text-accent: @accent; + --color-accent-muted: fade(@accent, 50%); + + --code-background: @base; + --code-token-base: @text; + --color-code: @accent; + + /* packages.gleam.run */ + --page-background: @base; + --card-background: @surface0; + --card-border: @surface1; + --card-border-highlight: @surface2; + --text-regular: @text; + --text-highlight: @text; + img[src="/static/packages-icon.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + .darkmode-toggle { + filter: @crust-filter; + } + .page-nav a { + color: @crust; + } + .package-button img { + filter: @accent-filter; + } + } +} diff --git a/styles/gmail/README.md b/styles/gmail/README.md index a6ebca2017..28dee0a018 100644 --- a/styles/gmail/README.md +++ b/styles/gmail/README.md @@ -10,22 +10,21 @@

- -

- -

- +

## Usage -Switch to the default dark theme via the **Settings** > **Themes** > **View all** for the best experience! +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Switch to the default dark theme via the **Settings** > **Themes** > **View all** for the best experience! ## ๐Ÿ’ Current Maintainer - [uncenter](https://github.com/uncenter) ## ๐Ÿ’– Past Maintainer -- [Isabel](https://github.com/isabelroses) +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/gmail/catppuccin.user.css b/styles/gmail/catppuccin.user.less similarity index 71% rename from styles/gmail/catppuccin.user.css rename to styles/gmail/catppuccin.user.less index ac38bd61cf..ff39030c04 100644 --- a/styles/gmail/catppuccin.user.css +++ b/styles/gmail/catppuccin.user.less @@ -2,8 +2,8 @@ @name Gmail Catppuccin @namespace github.com/catppuccin/userstyles/styles/gmail @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/gmail -@version 0.2.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/gmail/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/gmail/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agmail @description Soothing pastel theme for Gmail @author Catppuccin @@ -15,63 +15,24 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("mail.google.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @crust-filter: @catppuccin[@@lookup][@crust_filter]; - @text-filter: @catppuccin[@@lookup][@text_filter]; - @yellow-filter: @catppuccin[@@lookup][@yellow_filter]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); input, textarea { - &::placeholder { - color: @subtext0 !important; - } - caret-color: @text; } @@ -94,8 +55,7 @@ /* Gmail logo */ [src="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/logo_gmail_lockup_default_1x_r5.png"], - [src="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/logo_gmail_lockup_dark_1x_r5.png"] - { + [src="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/logo_gmail_lockup_dark_1x_r5.png"] { height: unset !important; width: unset !important; @svg: escape( @@ -105,7 +65,8 @@ } /* Tooltips */ - .T-ays-iP { + .T-ays-iP, + .gb_Ac { background-color: @crust; color: @text; } @@ -114,7 +75,7 @@ /* Solid primary */ .T-I-atl { - background-color: @accent-color; + background-color: @accent; color: @crust; } @@ -122,10 +83,10 @@ .l0, div.b8 .a8k, .bAo > .ad { - color: @accent-color; + color: @accent; &::before { - background-color: @accent-color; + background-color: @accent; } } @@ -154,23 +115,30 @@ background-color: @mantle; } /* Header icons */ - .gb_Fc svg, - .gb_Lc.gb_Pc svg, - .gb_Fc .gb_7c .gb_fd, - .gb_Fc .gb_7c .gb_Ec, - .gb_Fc .gb_7c .gb_9c, - .gb_Lc.gb_Pc .gb_fd { + .gb_Kc svg, + .gb_Pc.gb_Uc svg, + .gb_Lc .gb_rd .gb_sd, + .gb_Lc .gb_rd .gb_Kc, + .gb_Lc .gb_rd .gb_ud, + .gb_Pc.gb_Uc .gb_sd { color: @text; } /* Search mail input */ - .gb_Fc .gb_Md { - background-color: @crust; + .gb_Kc .gb_hd { + background-color: @surface1; .gb_je, + .gb_qe, + .gsan_a, + .gsas_a, svg { color: @text; } } + /* Search mail input on focus */ + .gb_hd.gb_id { + background-color: @base; + } /* Active search / filter modal */ .gssb_c { /* Icons */ @@ -192,7 +160,7 @@ background-color: @surface0; > .gssb_a { - border-left-color: @accent-color; + border-left-color: @accent; } /* X icon */ @@ -237,7 +205,7 @@ } &.bws { - background-color: @accent-color; + background-color: @accent; color: @crust; fill: @crust; @@ -246,7 +214,7 @@ } &:hover .H1 { - background-color: darken(@accent-color, 5%); + background-color: darken(@accent, 5%); } } } @@ -285,7 +253,7 @@ color: @text; &:focus { - box-shadow: inset 0 -1px 0 0 @accent-color; + box-shadow: inset 0 -1px 0 0 @accent; } } @@ -317,7 +285,7 @@ color: @crust; &::before { - background-color: fade(@accent-color, 70%); + background-color: fade(@accent, 70%); } } @@ -326,7 +294,7 @@ color: @crust; &::before { - background-color: @accent-color; + background-color: @accent; } } @@ -419,7 +387,7 @@ /* Compose email button */ .z0 > .L3 { - background-color: @accent-color; + background-color: @accent; color: @crust; &:focus { @@ -544,7 +512,7 @@ } /* Selected unread emails */ .x7 { - background-color: @accent-color; + background-color: @accent; color: @mantle; /* Dates */ @@ -580,6 +548,48 @@ background-color: @surface1; color: @text; } + /* Your social/promotions/updates tab is empty */ + .aRs { + background-color: @base; + color: @subtext0; + + .aRv { + color: @text; + } + .aRq { + color: @accent; + } + } + /* You could lose access banner */ + .GR { + background-color: @base; + + /* Primary text */ + .GX { + color: @text; + } + /* Subtext */ + .GT { + color: @subtext1; + } + + /* Dismiss button */ + .GW { + color: @text; + + &::before { + background-color: @text; + } + } + /* Add recovery info button */ + .GV { + color: @accent; + + &::before { + background-color: @accent; + } + } + } /* Attachments chips */ .brc { box-shadow: inset 0 0 0 1px @surface0; @@ -658,7 +668,7 @@ box-shadow: inset 0 -2px 0 0 @surface2; &:focus { - box-shadow: inset 0 -2px 0 0 @accent-color; + box-shadow: inset 0 -2px 0 0 @accent; } } /* Magnifying glass icon */ @@ -695,7 +705,7 @@ /* Save button */ div.Kj-JD-Jl > button.J-at1-atl, div.Kj-JD-Jl > button.J-at1-auR { - background-color: @accent-color; + background-color: @accent; color: @crust; } } @@ -779,7 +789,7 @@ /* Send button */ .gU .v7.T-I:not(.btz), .gU .hG:not(.v6) { - background-color: @accent-color; + background-color: @accent; color: @crust; } .hG > .G-asx, @@ -842,7 +852,7 @@ /* Currently selected tab */ .fZ { - box-shadow: inset 0 -2px 0 0 @accent-color; + box-shadow: inset 0 -2px 0 0 @accent; } } /* Main panel */ @@ -861,7 +871,7 @@ .sA, .r4 .e, .el { - color: @accent-color; + color: @accent; } #input-styling(); @@ -878,7 +888,7 @@ /* Some buttons */ .Uu { box-shadow: inset 0 0 0 1px @surface0; - color: @accent-color; + color: @accent; } } /* Labels page */ @@ -897,7 +907,7 @@ /* Links */ .alP { - color: @accent-color; + color: @accent; } /* Dividers */ @@ -914,7 +924,7 @@ /* Buttons */ [data-mdc-dialog-action="ok"] { - background-color: @accent-color; + background-color: @accent; --gm3-button-text-label-text-color: @crust; --gm3-button-text-hover-label-text-color: @crust; --gm3-button-text-pressed-label-text-color: @crust; @@ -935,13 +945,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @yellow_filter: brightness(0) saturate(100%) invert(84%) sepia(47%) saturate(5389%) hue-rotate(348deg) brightness(92%) contrast(90%);; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @text_filter: brightness(0) saturate(100%) invert(31%) sepia(12%) saturate(1015%) hue-rotate(196deg) brightness(94%) contrast(91%); @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; @crust_filter: brightness(0) saturate(100%) invert(96%) sepia(3%) saturate(583%) hue-rotate(187deg) brightness(92%) contrast(97%); }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @yellow_filter: brightness(0) saturate(100%) invert(79%) sepia(20%) saturate(586%) hue-rotate(1deg) brightness(103%) contrast(84%); @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @text_filter: brightness(0) saturate(100%) invert(80%) sepia(11%) saturate(726%) hue-rotate(192deg) brightness(104%) contrast(92%); @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; @crust_filter: brightness(0) saturate(100%) invert(11%) sepia(6%) saturate(3257%) hue-rotate(192deg) brightness(93%) contrast(88%); }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @yellow_filter: brightness(0) saturate(100%) invert(87%) sepia(24%) saturate(488%) hue-rotate(350deg) brightness(97%) contrast(93%); @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @text_filter: brightness(0) saturate(100%) invert(84%) sepia(5%) saturate(1385%) hue-rotate(192deg) brightness(101%) contrast(92%); @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; @crust_filter: brightness(0) saturate(100%) invert(9%) sepia(7%) saturate(2560%) hue-rotate(198deg) brightness(95%) contrast(97%); }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @yellow_filter: brightness(0) saturate(100%) invert(83%) sepia(35%) saturate(324%) hue-rotate(347deg) brightness(105%) contrast(95%); @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @text_filter: brightness(0) saturate(100%) invert(87%) sepia(6%) saturate(985%) hue-rotate(191deg) brightness(96%) contrast(99%); @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; @crust_filter: brightness(0) saturate(100%) invert(3%) sepia(12%) saturate(3951%) hue-rotate(206deg) brightness(96%) contrast(92%); }; -} - -// vim:ft=less diff --git a/styles/gmail/preview.webp b/styles/gmail/preview.webp deleted file mode 100644 index a6b7b5ea3a..0000000000 --- a/styles/gmail/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b91723f250222b2704fb65c3b55440a654663ba51aaaa9e079f05bb0112afe8e -size 297876 diff --git a/styles/go.dev/README.md b/styles/go.dev/README.md index 1839703c34..aab20e9dca 100644 --- a/styles/go.dev/README.md +++ b/styles/go.dev/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Eli](https://github.com/Flapperoo) +- [Flapperoo](https://github.com/Flapperoo)   diff --git a/styles/go.dev/catppuccin.user.css b/styles/go.dev/catppuccin.user.less similarity index 72% rename from styles/go.dev/catppuccin.user.css rename to styles/go.dev/catppuccin.user.less index 007911e726..8a4022a982 100644 --- a/styles/go.dev/catppuccin.user.css +++ b/styles/go.dev/catppuccin.user.less @@ -2,8 +2,8 @@ @name go.dev Catppuccin @namespace github.com/catppuccin/userstyles/styles/go.dev @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/go.dev -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/go.dev/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/go.dev/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ago.dev @description Soothing pastel theme for go.dev @author Catppuccin @@ -15,67 +15,29 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('go.dev') { - @media (prefers-color-scheme: light) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("go.dev") { + :root[data-theme="auto"], + :root:not([data-theme]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } + :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); background-color: @base; @@ -88,28 +50,30 @@ --color-background-card-footer: @crust; --color-background-code: @surface0; // Code Snippets --color-background-info: @surface1; + --color-background-alert: fade(@red, 40%); --color-background-inverted: @crust; --color-background-logo: @text; --color-background-playground-input: @mantle; - --color-brand-primary: @accent-color; // Affects most Go-Color Elements - --color-button: @accent-color; - --color-button-accented: @accent-color; + --color-brand-primary: @accent; // Affects most Go-Color Elements + --color-button: @accent; + --color-button-accented: @accent; --color-button-text: @crust; --color-button-text-disabled: @subtext0; - --color-bright-text-link: @accent-color; + --color-bright-text-link: @accent; --color-text: @text; - --color-text-link: @accent-color; + --color-text-link: @accent; --color-text-subtle: @subtext1; - --focus-box-shadow: 0 0 0.0625rem 0.0625rem @accent-color; // Only modifies color; + --focus-box-shadow: 0 0 0.0625rem 0.0625rem @accent; // Only modifies color; --gray-2: @surface0; --gray-3: @text; --gray-6: @crust; --pink: @red; - --turq-dark: @accent-color; + --turq-dark: @accent; --white: @text; + --border-code: 0.0625rem @surface2 solid; .btn { - background: @accent-color; + background: @accent; color: @crust; } // /dl page in go.dev @@ -130,14 +94,6 @@ .go-Footer { background-color: @mantle; - button[aria-label="Shorcuts Modal"] img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - img.Footer-gopher, img.go-Footer-gopher { @svg: escape( @@ -166,7 +122,7 @@ } // Download button in /learn .Learn-heroAction { - background-color: @accent-color; + background-color: @accent; .js-downloadBtn { color: @crust; @@ -174,16 +130,16 @@ } // Active indicator in /learn .LearnNav .active svg circle { - fill: @accent-color; + fill: @accent; } .LeftNav a.active, .LeftNav a:hover { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); img { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -236,7 +192,7 @@ // Drawer Selection .NavigationDrawer-listItem--active { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); } } // /play @@ -247,7 +203,7 @@ } // Run Button for Code Snippet .Playground-runButton { - border-color: @accent-color; + border-color: @accent; } // Go Main Header .Site-header, @@ -256,7 +212,7 @@ .Header-menuItem--active a, .go-Header-menuItem--active a { - border-bottom-color: @accent-color; + border-bottom-color: @accent; } // Mobile Burger Icon button.Header-navOpen--white, @@ -272,7 +228,7 @@ .WhyGo-reasons { .WhyGo-reasonPackagesHeader img { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -308,24 +264,6 @@ ); content: url("data:image/svg+xml,@{svg}"); } - // Theme Selector Icons - .Footer img[alt="Dark theme"], - .go-Footer img[alt="Dark theme"], - .top-bar img.go-Icon--inverted[data-value="dark"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - // Right Arrow Icons - .go-NavigationDrawer-listItem a[href="#"] img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } .SiteBreadcrumb .BreadcrumbNav-li::after { @svg: escape( @@ -334,29 +272,10 @@ background-image: url("data:image/svg+xml,@{svg}"); } - .Footer img[alt="Light theme"], - .go-Footer img[alt="Light theme"], - .top-bar img.go-Icon--inverted[data-value="light"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - - .Footer img[alt="System theme"], - .go-Footer img[alt="System theme"], - .top-bar img.go-Icon--inverted[data-value="auto"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } // Menu Active Selector img.TabSection-underline { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -370,7 +289,7 @@ } } // Companies in Main Page Contrast - & when (@lookup = latte) { + & when (@flavor = latte) { .WhoUsesCaseStudyList-caseStudyLink { background-color: @surface0; } @@ -378,54 +297,26 @@ } } -@-moz-document domain('pkg.go.dev') { - @media (prefers-color-scheme: light) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document domain("pkg.go.dev") { + :root[data-theme="auto"], + :root:not([data-theme]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } + :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); // Pkg.go Carousel .go-Carousel { @@ -449,59 +340,26 @@ .go-Chip--alert { color: @crust; } - // Pkg.go Clipboard Icon - .go-Clipboard img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } // Pkg.go Header .go-Header { .go-Header-submenu { - border-color: @accent-color; + border-color: @accent; } // Triangle Icon Accented - .go-Header-menuItem:hover img.go-Icon[alt="submenu dropdown icon"], - .go-Header-menuItem:focus-within - img.go-Icon[alt="submenu dropdown icon"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; + .go-Header-menuItem:hover a img.go-Icon { + filter: @accent-filter !important; } } - // Triangle Icon - .go-Header, - .go-Main-navMobile { - @svg: escape( - '' - ); - - img.go-Icon[alt="submenu dropdown icon"] { - content: url("data:image/svg+xml,@{svg}"); - filter: none; + // Icons + .go-Icon { + &:not(.go-Icon--accented) { + filter: @text-filter; } - - .go-Select { - background-image: url("data:image/svg+xml,@{svg}"); + &.go-Icon--accented { + filter: @accent-filter; } } - // Info Icon - .go-Main-banner .go-Message .go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - // Pkg.go Subheader - .go-Main-header { - background-color: @mantle; - } // Pkg.go Fixed Header .go-Main-header[data-raised="true"] { background-color: @crust; @@ -520,7 +378,7 @@ } .go-NavigationDrawer-listItem--active { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); } } //Pkg.go Search Bar @@ -538,10 +396,12 @@ background-color: @text; } // External Link Icon - .Homepage-helpLink, .UnitFiles-titleLink, a[href='https://www.meetup.com/pro/go'], a[href='https://github.com/golang/go/wiki/Conferences'] - { + .Homepage-helpLink, + .UnitFiles-titleLink, + a[href="https://www.meetup.com/pro/go"], + a[href="https://github.com/golang/go/wiki/Conferences"] { @svg: escape( - '' + '' ); img, @@ -560,14 +420,6 @@ .JumpDialog-active { color: @crust; } - - .go-Button[aria-label="Close"] img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } } // Pkg.go Package Search Results .SearchResults-header { @@ -575,109 +427,20 @@ display: none; } } - // Search Icon - .SearchResults-header, - .go-SearchForm { - button[aria-label="Submit search"] img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - } // Search Icon in pkg.go - Accented form.Homepage-search--symbol::before { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml,@{svg}"); } - .ShortcutsDialog { - .go-Button[aria-label="Close"] img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - } - // Pkg.go Package Page - .UnitDetails { - #section-documentation img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - - .UnitReadme-title img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - } - - .UnitDirectories img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - - .UnitFiles img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } // Pkg.go Package Details Section .UnitMeta { - .UnitMeta-details { - img.go-Icon { - // Question Tooltip - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - - img.go-Icon[alt="unchecked"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - - img.go-Icon.go-Icon--accented[alt="checked"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - } - .UnitMeta-links { - img.go-Icon { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - filter: none; - } - img.depsdev-Icon { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -699,55 +462,26 @@ } } -@-moz-document url-prefix("https://go.dev/tour") -{ - @media (prefers-color-scheme: light) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document url-prefix("https://go.dev/tour") { + :root[data-theme="auto"], + :root:not([data-theme]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root[data-theme="auto"], - :root:not([data-theme]) { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } + :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); #editor-container { #left-side { @@ -755,11 +489,11 @@ background-color: @base; a { - color: @accent-color; + color: @accent; } code { - background-color: @accent-color !important; + background-color: @accent !important; color: @crust; } @@ -780,7 +514,7 @@ color: @text; a { - color: @accent-color; + color: @accent; } } } @@ -858,7 +592,7 @@ } a#run { - background-color: @accent-color; + background-color: @accent; } pre.info { @@ -884,7 +618,7 @@ background-color: @mantle; span.ng-binding { background-color: @base; - color: @accent-color; + color: @accent; } .toc-lesson span.ng-binding { @@ -921,19 +655,9 @@ } a { - color: @accent-color; + color: @accent; } } } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/go.dev/preview.webp b/styles/go.dev/preview.webp deleted file mode 100644 index 61bb3303ed..0000000000 --- a/styles/go.dev/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37b055ec01d120b6b2183337ddd9d038f85f6a60bdd67340ba512579d239dd8b -size 66598 diff --git a/styles/google-drive/README.md b/styles/google-drive/README.md index 81014256f5..4f3ff0ade2 100644 --- a/styles/google-drive/README.md +++ b/styles/google-drive/README.md @@ -10,17 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer +## ๐Ÿ’ Current Maintainers - [r58Playz](https://github.com/r58Playz) +- [WalkQuackBack](https://github.com/WalkQuackBack)   diff --git a/styles/google-drive/catppuccin.user.css b/styles/google-drive/catppuccin.user.less similarity index 61% rename from styles/google-drive/catppuccin.user.css rename to styles/google-drive/catppuccin.user.less index 19f47d3d66..99004f9b74 100644 --- a/styles/google-drive/catppuccin.user.css +++ b/styles/google-drive/catppuccin.user.less @@ -2,8 +2,8 @@ @name Google Drive Catppuccin @namespace github.com/catppuccin/userstyles/styles/google-drive @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/google-drive -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-drive/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-drive/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agoogle-drive @description Soothing pastel theme for Google Drive @author Catppuccin @@ -15,57 +15,27 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('drive.google.com') { - :root:has(.KkxPLb) { - .vhoiae.vhoiae.vhoiae, - & { - #catppuccin(@lightFlavor, @accentColor); - } - } - :root:has(.LgGVmb) { - .vhoiae.vhoiae.vhoiae, - & { - #catppuccin(@darkFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("drive.google.com") { + .vhoiae { + &.KkxPLb { + #catppuccin(@lightFlavor); } - } - #rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); + &.LgGVmb, .yYWAMb.bvmRsc, .dif24c.bvmRsc { + #catppuccin(@darkFlavor); + } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); - color-scheme: if(@lookup = latte, light, dark); + // TODO: Try to make use `#lib.defaults()` here, but it causes issues with the color scheme (see below). + // #lib.defaults(); // Color scheme is already set by Google Drive; setting it here causes bugs, and there are no known side effects as Google does not use native UI elements (which would reflect `color-scheme` state and cause potential issues). ::selection { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); } input, @@ -85,17 +55,22 @@ --dt-surface-variant: @surface0; --dt-inverse-on-surface: @surface0; --dt-surface: @base; - --dt-surface-tint: @accent-color; - --dt-shadow-elevation-1: 0px 3px 1px -2px fade(@base, 20%), - 0px 2px 2px 0px fade(@base, 14%), 0px 1px 5px 0px fade(@base, 12%); - --dt-shadow-elevation-2: 0px 2px 4px -1px fade(@base, 20%), - 0px 4px 5px 0px fade(@base, 14%), 0px 1px 10px 0px fade(@base, 12%); - --dt-shadow-elevation-3: 0px 5px 5px -3px fade(@base, 20%), - 0px 8px 10px 1px fade(@base, 14%), 0px 3px 14px 2px fade(@base, 12%); - --dt-shadow-elevation-4: 0px 5px 5px -3px fade(@base, 20%), - 0px 8px 10px 1px fade(@base, 14%), 0px 3px 14px 2px fade(@base, 12%); - --dt-shadow-elevation-5: 0px 8px 10px -6px fade(@base, 20%), - 0px 16px 24px 2px fade(@base, 14%), 0px 6px 30px 5px fade(@base, 12%); + --dt-surface-tint: @accent; + --dt-shadow-elevation-1: + 0px 3px 1px -2px fade(@base, 20%), 0px 2px 2px 0px fade(@base, 14%), 0px + 1px 5px 0px fade(@base, 12%); + --dt-shadow-elevation-2: + 0px 2px 4px -1px fade(@base, 20%), 0px 4px 5px 0px fade(@base, 14%), 0px + 1px 10px 0px fade(@base, 12%); + --dt-shadow-elevation-3: + 0px 5px 5px -3px fade(@base, 20%), 0px 8px 10px 1px fade(@base, 14%), 0px + 3px 14px 2px fade(@base, 12%); + --dt-shadow-elevation-4: + 0px 5px 5px -3px fade(@base, 20%), 0px 8px 10px 1px fade(@base, 14%), 0px + 3px 14px 2px fade(@base, 12%); + --dt-shadow-elevation-5: + 0px 8px 10px -6px fade(@base, 20%), 0px 16px 24px 2px fade(@base, 14%), + 0px 6px 30px 5px fade(@base, 12%); --dt-surface-container-lowest: @crust; --dt-surface-container-low: @mantle; --dt-surface-container: @surface0; @@ -106,11 +81,11 @@ --dt-on-primary-container: @text; --dt-primary-container-icon: @text; --dt-primary-container-link: @text; - --dt-primary: @accent-color; - --dt-primary-action: @accent-color; - --dt-primary-action-stateful: @accent-color; - --dt-primary-outline: @accent-color; - --dt-primary-action-state-layer: @accent-color; + --dt-primary: @accent; + --dt-primary-action: @accent; + --dt-primary-action-stateful: @accent; + --dt-primary-outline: @accent; + --dt-primary-action-state-layer: @accent; --dt-primary-container: @surface0; --dt-on-primary: @base; --dt-primary-icon: @base; @@ -118,11 +93,11 @@ --dt-on-secondary-container: @text; --dt-secondary-container-icon: @text; --dt-secondary-container-link: @text; - --dt-secondary: @accent-color; - --dt-secondary-action: @accent-color; - --dt-secondary-action-stateful: @accent-color; - --dt-secondary-outline: @accent-color; - --dt-secondary-action-state-layer: @accent-color; + --dt-secondary: @accent; + --dt-secondary-action: @accent; + --dt-secondary-action-stateful: @accent; + --dt-secondary-outline: @accent; + --dt-secondary-action-state-layer: @accent; --dt-secondary-container: @surface0; --dt-on-secondary: @base; --dt-secondary-icon: @base; @@ -130,11 +105,11 @@ --dt-on-tertiary-container: @text; --dt-tertiary-container-icon: @text; --dt-tertiary-container-link: @text; - --dt-tertiary: @accent-color; - --dt-tertiary-action: @accent-color; - --dt-tertiary-action-stateful: @accent-color; - --dt-tertiary-outline: @accent-color; - --dt-tertiary-action-state-layer: @accent-color; + --dt-tertiary: @accent; + --dt-tertiary-action: @accent; + --dt-tertiary-action-stateful: @accent; + --dt-tertiary-outline: @accent; + --dt-tertiary-action-state-layer: @accent; --dt-tertiary-container: @surface0; --dt-on-tertiary: @base; --dt-tertiary-icon: @base; @@ -194,116 +169,116 @@ --dt-light-error-banner-button: @red; --gm3-sys-color-background: @base; - --gm3-sys-color-background-rgb: #rgbify(@base) []; + --gm3-sys-color-background-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-error: @red; - --gm3-sys-color-error-rgb: #rgbify(@red) []; + --gm3-sys-color-error-rgb: #lib.rgbify(@red)[]; --gm3-sys-color-error-container: @surface2; - --gm3-sys-color-error-container-rgb: #rgbify(@surface2) []; + --gm3-sys-color-error-container-rgb: #lib.rgbify(@surface2)[]; --gm3-sys-color-inverse-on-surface: @surface0; - --gm3-sys-color-inverse-on-surface-rgb: #rgbify(@surface0) []; + --gm3-sys-color-inverse-on-surface-rgb: #lib.rgbify(@surface0)[]; --gm3-sys-color-inverse-primary: red; --gm3-sys-color-inverse-primary-rgb: 255, 0, 0; --gm3-sys-color-inverse-surface: @text; - --gm3-sys-color-inverse-surface-rgb: #rgbify(@text) []; + --gm3-sys-color-inverse-surface-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-background: @text; - --gm3-sys-color-on-background-rgb: #rgbify(@text) []; + --gm3-sys-color-on-background-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-error: @base; - --gm3-sys-color-on-error-rgb: #rgbify(@base) []; + --gm3-sys-color-on-error-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-error-container: @red; - --gm3-sys-color-on-error-container-rgb: #rgbify(@red) []; + --gm3-sys-color-on-error-container-rgb: #lib.rgbify(@red)[]; --gm3-sys-color-on-primary: @base; - --gm3-sys-color-on-primary-rgb: #rgbify(@base) []; + --gm3-sys-color-on-primary-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-primary-container: @text; - --gm3-sys-color-on-primary-container-rgb: #rgbify(@text) []; + --gm3-sys-color-on-primary-container-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-primary-fixed: @base; - --gm3-sys-color-on-primary-fixed-rgb: #rgbify(@base); + --gm3-sys-color-on-primary-fixed-rgb: #lib.rgbify(@base); --gm3-sys-color-on-primary-fixed-variant: @base; - --gm3-sys-color-on-primary-fixed-variant-rgb: #rgbify(@base); + --gm3-sys-color-on-primary-fixed-variant-rgb: #lib.rgbify(@base); --gm3-sys-color-on-secondary: @base; - --gm3-sys-color-on-secondary-rgb: #rgbify(@base) []; + --gm3-sys-color-on-secondary-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-secondary-container: @text; - --gm3-sys-color-on-secondary-container-rgb: #rgbify(@text) []; + --gm3-sys-color-on-secondary-container-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-secondary-fixed: @base; - --gm3-sys-color-on-secondary-fixed-rgb: #rgbify(@base) []; + --gm3-sys-color-on-secondary-fixed-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-secondary-fixed-variant: @base; - --gm3-sys-color-on-secondary-fixed-variant-rgb: #rgbify(@base) []; + --gm3-sys-color-on-secondary-fixed-variant-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-surface: @text; - --gm3-sys-color-on-surface-rgb: #rgbify(@text) []; + --gm3-sys-color-on-surface-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-surface-variant: @text; - --gm3-sys-color-on-surface-variant-rgb: #rgbify(@text) []; + --gm3-sys-color-on-surface-variant-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-tertiary: @base; - --gm3-sys-color-on-tertiary-rgb: #rgbify(@base) []; + --gm3-sys-color-on-tertiary-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-tertiary-container: @text; - --gm3-sys-color-on-tertiary-container-rgb: #rgbify(@text) []; + --gm3-sys-color-on-tertiary-container-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-on-tertiary-fixed: @base; - --gm3-sys-color-on-tertiary-fixed-rgb: #rgbify(@base) []; + --gm3-sys-color-on-tertiary-fixed-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-on-tertiary-fixed-variant: @base; - --gm3-sys-color-on-tertiary-fixed-variant-rgb: #rgbify(@base) []; + --gm3-sys-color-on-tertiary-fixed-variant-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-outline: @overlay0; - --gm3-sys-color-outline-rgb: #rgbify(@overlay0) []; + --gm3-sys-color-outline-rgb: #lib.rgbify(@overlay0)[]; --gm3-sys-color-outline-variant: @surface2; - --gm3-sys-color-outline-variant-rgb: #rgbify(@surface2) []; - --gm3-sys-color-primary: @accent-color; - --gm3-sys-color-primary-rgb: #rgbify(@accent-color) []; + --gm3-sys-color-outline-variant-rgb: #lib.rgbify(@surface2)[]; + --gm3-sys-color-primary: @accent; + --gm3-sys-color-primary-rgb: #lib.rgbify(@accent)[]; --gm3-sys-color-primary-container: @surface0; - --gm3-sys-color-primary-container-rgb: #rgbify(@surface0) []; - --gm3-sys-color-primary-fixed: @accent-color; - --gm3-sys-color-primary-fixed-rgb: #rgbify(@accent-color) []; - --gm3-sys-color-primary-fixed-dim: @accent-color; - --gm3-sys-color-primary-fixed-dim-rgb: #rgbify(@accent-color) []; - --gm3-sys-color-secondary: @accent-color; - --gm3-sys-color-secondary-rgb: #rgbify(@accent-color); + --gm3-sys-color-primary-container-rgb: #lib.rgbify(@surface0)[]; + --gm3-sys-color-primary-fixed: @accent; + --gm3-sys-color-primary-fixed-rgb: #lib.rgbify(@accent)[]; + --gm3-sys-color-primary-fixed-dim: @accent; + --gm3-sys-color-primary-fixed-dim-rgb: #lib.rgbify(@accent)[]; + --gm3-sys-color-secondary: @accent; + --gm3-sys-color-secondary-rgb: #lib.rgbify(@accent); --gm3-sys-color-secondary-container: @surface0; - --gm3-sys-color-secondary-container-rgb: #rgbify(@surface0) []; + --gm3-sys-color-secondary-container-rgb: #lib.rgbify(@surface0)[]; --gm3-sys-color-secondary-fixed: #c2e7ff; --gm3-sys-color-secondary-fixed-rgb: 194, 231, 255; --gm3-sys-color-secondary-fixed-dim: #7fcfff; --gm3-sys-color-secondary-fixed-dim-rgb: 127, 207, 255; --gm3-sys-color-surface: @base; - --gm3-sys-color-surface-rgb: #rgbify(@base) []; + --gm3-sys-color-surface-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-surface-bright: @base; - --gm3-sys-color-surface-bright-rgb: #rgbify(@base) []; + --gm3-sys-color-surface-bright-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-surface-container: @surface0; - --gm3-sys-color-surface-container-rgb: #rgbify(@surface0) []; + --gm3-sys-color-surface-container-rgb: #lib.rgbify(@surface0)[]; --gm3-sys-color-surface-container-high: @surface1; - --gm3-sys-color-surface-container-high-rgb: #rgbify(@surface1) []; + --gm3-sys-color-surface-container-high-rgb: #lib.rgbify(@surface1)[]; --gm3-sys-color-surface-container-highest: @surface2; - --gm3-sys-color-surface-container-highest-rgb: #rgbify(@surface2) []; + --gm3-sys-color-surface-container-highest-rgb: #lib.rgbify(@surface2)[]; --gm3-sys-color-surface-container-low: @mantle; - --gm3-sys-color-surface-container-low-rgb: #rgbify(@mantle) []; + --gm3-sys-color-surface-container-low-rgb: #lib.rgbify(@mantle)[]; --gm3-sys-color-surface-container-lowest: @crust; - --gm3-sys-color-surface-container-lowest-rgb: #rgbify(@crust) []; + --gm3-sys-color-surface-container-lowest-rgb: #lib.rgbify(@crust)[]; --gm3-sys-color-surface-dim: @crust; - --gm3-sys-color-surface-dim-rgb: #rgbify(@crust) []; - --gm3-sys-color-surface-tint: @accent-color; - --gm3-sys-color-surface-tint-rgb: #rgbify(@accent-color) []; + --gm3-sys-color-surface-dim-rgb: #lib.rgbify(@crust)[]; + --gm3-sys-color-surface-tint: @accent; + --gm3-sys-color-surface-tint-rgb: #lib.rgbify(@accent)[]; --gm3-sys-color-surface-variant: @surface0; - --gm3-sys-color-surface-variant-rgb: #rgbify(@surface0) []; - --gm3-sys-color-tertiary: @accent-color; - --gm3-sys-color-tertiary-rgb: #rgbify(@accent-color) []; + --gm3-sys-color-surface-variant-rgb: #lib.rgbify(@surface0)[]; + --gm3-sys-color-tertiary: @accent; + --gm3-sys-color-tertiary-rgb: #lib.rgbify(@accent)[]; --gm3-sys-color-tertiary-container: @surface0; - --gm3-sys-color-tertiary-container-rgb: #rgbify(@surface0); - --gm3-sys-color-tertiary-fixed: @accent-color; - --gm3-sys-color-tertiary-fixed-rgb: #rgbify(@accent-color) []; - --gm3-sys-color-tertiary-fixed-dim: @accent-color; - --gm3-sys-color-tertiary-fixed-dim-rgb: #rgbify(@accent-color) []; + --gm3-sys-color-tertiary-container-rgb: #lib.rgbify(@surface0); + --gm3-sys-color-tertiary-fixed: @accent; + --gm3-sys-color-tertiary-fixed-rgb: #lib.rgbify(@accent)[]; + --gm3-sys-color-tertiary-fixed-dim: @accent; + --gm3-sys-color-tertiary-fixed-dim-rgb: #lib.rgbify(@accent)[]; - & when (@lookup = latte) { + & when (@flavor = latte) { --dt-scrim: fade(@text, 50%); --dt-scrim-2x: fade(@text, 50%); --gm3-sys-color-scrim: @text; - --gm3-sys-color-scrim-rgb: #rgbify(@text) []; + --gm3-sys-color-scrim-rgb: #lib.rgbify(@text)[]; --gm3-sys-color-shadow: @text; - --gm3-sys-color-shadow-rgb: #rgbify(@text) []; + --gm3-sys-color-shadow-rgb: #lib.rgbify(@text)[]; } - & when not (@lookup = latte) { + & when not(@flavor = latte) { --dt-scrim: fade(@base, 50%); --dt-scrim-2x: fade(@base, 50%); --gm3-sys-color-scrim: @base; - --gm3-sys-color-scrim-rgb: #rgbify(@base) []; + --gm3-sys-color-scrim-rgb: #lib.rgbify(@base)[]; --gm3-sys-color-shadow: @base; - --gm3-sys-color-shadow-rgb: #rgbify(@base) []; + --gm3-sys-color-shadow-rgb: #lib.rgbify(@base)[]; } /* Settings menu title & back button */ @@ -370,14 +345,18 @@ } /* File preview (separate tab) top bar */ - &.ndfHFb-c4YZDc-uoC0bf.ndfHFb-c4YZDc-i5oIFb .ndfHFb-c4YZDc-Wrql6b.ndfHFb-c4YZDc-Wrql6b-Hyc8Sd, - .a-b-uoC0bf.a-b-L .a-b-K.a-b-K-Hyc8Sd /* File preview (in Drive) top bar */ { + &.ndfHFb-c4YZDc-uoC0bf.ndfHFb-c4YZDc-i5oIFb + .ndfHFb-c4YZDc-Wrql6b.ndfHFb-c4YZDc-Wrql6b-Hyc8Sd, + .a-b-uoC0bf.a-b-L .a-b-K.a-b-K-Hyc8Sd /* File preview (in Drive) top bar */ + { background-color: fade(@base, 85%); } /* File preview (separate tab) bottom bar */ - .ndfHFb-c4YZDc-q77wGc .ndfHFb-c4YZDc-DARUcf-NnAfwf-i5oIFb, .ndfHFb-c4YZDc-q77wGc .ndfHFb-c4YZDc-nJjxad-nK2kYb-i5oIFb, - .a-b-vo .a-b-La-yc-L, .a-b-vo .a-b-Kb-ac-L /* File preview (in Drive) bottom bar */ { + .ndfHFb-c4YZDc-q77wGc .ndfHFb-c4YZDc-DARUcf-NnAfwf-i5oIFb, + .ndfHFb-c4YZDc-q77wGc .ndfHFb-c4YZDc-nJjxad-nK2kYb-i5oIFb, + .a-b-vo .a-b-La-yc-L, + .a-b-vo .a-b-Kb-ac-L /* File preview (in Drive) bottom bar */ { background-color: fade(@base, 85%); color: @text !important; /* File preview (separate tab) page input */ @@ -389,26 +368,31 @@ } /* File preview (separate tab) share button */ - &.ndfHFb-c4YZDc-uoC0bf .zAYgkb-uoC0bf .tk3N6e-LgbsSe, &.ndfHFb-c4YZDc-uoC0bf .zAYgkb-mAKE4e-LQLjdd-xl07Ob-LgbsSe.VIpgJd-Kb3HCc-xl07Ob-LgbsSe, - .a-b-uoC0bf .ae-uoC0bf .g-d, .a-b-uoC0bf .ae-mAKE4e-Hc-w-d.h-R-w-d /* File preview (in Drive) share button */ { - background-color: @accent-color; + &.ndfHFb-c4YZDc-uoC0bf .zAYgkb-uoC0bf .tk3N6e-LgbsSe, + &.ndfHFb-c4YZDc-uoC0bf + .zAYgkb-mAKE4e-LQLjdd-xl07Ob-LgbsSe.VIpgJd-Kb3HCc-xl07Ob-LgbsSe, + .a-b-uoC0bf .ae-uoC0bf .g-d, + .a-b-uoC0bf + .ae-mAKE4e-Hc-w-d.h-R-w-d /* File preview (in Drive) share button */ { + background-color: @accent; color: @base; /* File preview (separate tab) share icon */ .IyROMc-euCgFf-LJSvSb, .ae-c /* File preview (in Drive) share icon */ { - & when (@lookup = latte) { - filter: brightness(0) invert(97%) sepia(4%) saturate(152%) - hue-rotate(183deg) brightness(94%) contrast(106%); + & when (@flavor = latte) { + filter: brightness(0) invert(97%) sepia(4%) saturate(152%) hue-rotate( + 183deg + ) brightness(94%) contrast(106%); } - & when (@lookup = frappe) { + & when (@flavor = frappe) { filter: brightness(0) invert(15%) sepia(8%) saturate(2252%) hue-rotate(192deg) brightness(98%) contrast(85%); } - & when (@lookup = macchiato) { + & when (@flavor = macchiato) { filter: brightness(0) invert(13%) sepia(26%) saturate(823%) hue-rotate(195deg) brightness(90%) contrast(92%); } - & when (@lookup = mocha) { + & when (@flavor = mocha) { filter: brightness(0) invert(10%) sepia(36%) saturate(650%) hue-rotate(201deg) brightness(90%) contrast(93%); } @@ -443,19 +427,19 @@ /* File preview (separate tab) share Quick options row icon */ .IyROMc-euCgFf-LJSvSb, .ba-ea-i /* File preview (in Drive) share Quick options row icon */ { - & when (@lookup = latte) { + & when (@flavor = latte) { filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) hue-rotate(196deg) brightness(90%) contrast(86%); } - & when (@lookup = frappe) { + & when (@flavor = frappe) { filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) hue-rotate(192deg) brightness(104%) contrast(92%); } - & when (@lookup = macchiato) { + & when (@flavor = macchiato) { filter: brightness(0) invert(84%) sepia(13%) saturate(579%) hue-rotate(193deg) brightness(99%) contrast(94%); } - & when (@lookup = mocha) { + & when (@flavor = mocha) { filter: brightness(0) invert(84%) sepia(19%) saturate(370%) hue-rotate(192deg) brightness(98%) contrast(95%); } @@ -465,29 +449,35 @@ .ndfHFb-c4YZDc-Bz112c:not([style]), .ndfHFb-c4YZDc-Bz112c[style*="googlematerialicons"], .ndfHFb-c4YZDc-Bz112c[style="user-select: none;"], - .ndfHFb-c4YZDc-Wrql6b-htvI8d-wcotoc-wHEfpf-ndfHFb-Bz112c /* File preview (separate tab) Save to drive */, - .ndfHFb-c4YZDc-Wrql6b-w37qKe-Bz112c /* File preview (separate tab) Save to drive (clicked) */, + .ndfHFb-c4YZDc-Wrql6b-htvI8d-wcotoc-wHEfpf-ndfHFb-Bz112c + /* File preview (separate tab) Save to drive */, + .ndfHFb-c4YZDc-Wrql6b-w37qKe-Bz112c + /* File preview (separate tab) Save to drive (clicked) */, /* File preview (in Drive) Print, Download, 3 dots */ .a-b-c:not([style]), .a-b-c[style*="googlematerialicons"], .a-b-c[style="user-select: none;"], .a-b-K-zc-Eb-bg-a-c /* File preview (in Drive) Save to drive */, .a-b-K-X-c /* File preview (in Drive) Save to drive (clicked) */ { - & when (@lookup = latte) { - filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) - hue-rotate(196deg) brightness(90%) contrast(86%); + & when (@flavor = latte) { + filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) hue-rotate( + 196deg + ) brightness(90%) contrast(86%); } - & when (@lookup = frappe) { - filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) - hue-rotate(192deg) brightness(104%) contrast(92%); + & when (@flavor = frappe) { + filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) hue-rotate( + 192deg + ) brightness(104%) contrast(92%); } - & when (@lookup = macchiato) { - filter: brightness(0) invert(84%) sepia(13%) saturate(579%) - hue-rotate(193deg) brightness(99%) contrast(94%); + & when (@flavor = macchiato) { + filter: brightness(0) invert(84%) sepia(13%) saturate(579%) hue-rotate( + 193deg + ) brightness(99%) contrast(94%); } - & when (@lookup = mocha) { - filter: brightness(0) invert(84%) sepia(19%) saturate(370%) - hue-rotate(192deg) brightness(98%) contrast(95%); + & when (@flavor = mocha) { + filter: brightness(0) invert(84%) sepia(19%) saturate(370%) hue-rotate( + 192deg + ) brightness(98%) contrast(95%); } } /* File preview (separate tab) File title */ @@ -519,20 +509,21 @@ } /* File preview (separate tab) No preview available Download icon */ .ndfHFb-c4YZDc-bN97Pc-nupQLb-LgbsSe-Bz112c, - .a-b-x-rb-d-c /* File preview (in Drive) No preview available Download icon */ { - & when (@lookup = latte) { + .a-b-x-rb-d-c /* File preview (in Drive) No preview available Download icon */ + { + & when (@flavor = latte) { filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) hue-rotate(196deg) brightness(90%) contrast(86%); } - & when (@lookup = frappe) { + & when (@flavor = frappe) { filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) hue-rotate(192deg) brightness(104%) contrast(92%); } - & when (@lookup = macchiato) { + & when (@flavor = macchiato) { filter: brightness(0) invert(84%) sepia(13%) saturate(579%) hue-rotate(193deg) brightness(99%) contrast(94%); } - & when (@lookup = mocha) { + & when (@flavor = mocha) { filter: brightness(0) invert(84%) sepia(19%) saturate(370%) hue-rotate(192deg) brightness(98%) contrast(95%); } @@ -540,7 +531,8 @@ } /* File preview (in Drive) text document */ .a-b-r-x, - .ndfHFb-c4YZDc-fmcmS-bN97Pc /* File preview (separate tab) text document */ { + .ndfHFb-c4YZDc-fmcmS-bN97Pc /* File preview (separate tab) text document */ + { &, pre { background-color: @surface0 !important; @@ -595,12 +587,14 @@ /* Drive sharing window material icon */ .SbpzSe .VfPpkd-StrnGf-rymPhb-f7MjDc { - color: @accent-color; + color: @accent; } /* Drive sharing window access hover */ - .lfDNBb:hover, .lfDNBb:focus-within, - .ZelW3e:hover .FYhd9e, .ZelW3e:focus-within .FYhd9e /* Drive sharing window person row hover */ { + .lfDNBb:hover, + .lfDNBb:focus-within, + .ZelW3e:hover .FYhd9e, + .ZelW3e:focus-within .FYhd9e /* Drive sharing window person row hover */ { background-color: @surface0; } @@ -637,21 +631,25 @@ } /* Drive applications sidebar get addons */ .Yb-Il-d#qJTzr .Yb-Il-d-c-j { - & when (@lookup = latte) { - filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) - hue-rotate(196deg) brightness(90%) contrast(86%); + & when (@flavor = latte) { + filter: brightness(0) invert(31%) sepia(10%) saturate(1268%) hue-rotate( + 196deg + ) brightness(90%) contrast(86%); } - & when (@lookup = frappe) { - filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) - hue-rotate(192deg) brightness(104%) contrast(92%); + & when (@flavor = frappe) { + filter: brightness(0) invert(80%) sepia(7%) saturate(1070%) hue-rotate( + 192deg + ) brightness(104%) contrast(92%); } - & when (@lookup = macchiato) { - filter: brightness(0) invert(84%) sepia(13%) saturate(579%) - hue-rotate(193deg) brightness(99%) contrast(94%); + & when (@flavor = macchiato) { + filter: brightness(0) invert(84%) sepia(13%) saturate(579%) hue-rotate( + 193deg + ) brightness(99%) contrast(94%); } - & when (@lookup = mocha) { - filter: brightness(0) invert(84%) sepia(19%) saturate(370%) - hue-rotate(192deg) brightness(98%) contrast(95%); + & when (@flavor = mocha) { + filter: brightness(0) invert(84%) sepia(19%) saturate(370%) hue-rotate( + 192deg + ) brightness(98%) contrast(95%); } } /* Drive applications sidebar close button white background */ @@ -660,7 +658,7 @@ } /* Drive icon */ - .gb_Nc.gb_Nd { + [src="//ssl.gstatic.com/images/branding/product/1x/drive_2020q4_48dp.png"] { @darkBlue: mix(@blue, @base, 80%); @darkGreen: mix(@green, @base, 80%); @@ -676,13 +674,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/google-drive/preview.webp b/styles/google-drive/preview.webp deleted file mode 100644 index 098fa96b19..0000000000 --- a/styles/google-drive/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b1e95702d47cba48511ad9e1a861586fa53b29ad32c203347f9b1b955fd5953 -size 176172 diff --git a/styles/google-gemini/README.md b/styles/google-gemini/README.md index d0ed681bed..fa9136bb9c 100644 --- a/styles/google-gemini/README.md +++ b/styles/google-gemini/README.md @@ -10,17 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer +## ๐Ÿ’ Current Maintainers - [Dandraghas](https://github.com/Dandraghas) +- [WalkQuackBack](https://github.com/WalkQuackBack)   diff --git a/styles/google-gemini/catppuccin.user.css b/styles/google-gemini/catppuccin.user.less similarity index 50% rename from styles/google-gemini/catppuccin.user.css rename to styles/google-gemini/catppuccin.user.less index f70371e183..7b53490bd7 100644 --- a/styles/google-gemini/catppuccin.user.css +++ b/styles/google-gemini/catppuccin.user.less @@ -2,8 +2,8 @@ @name Google Gemini Catppuccin @namespace github.com/catppuccin/userstyles/styles/google-gemini @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/google-gemini -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-gemini/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-gemini/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agoogle-gemini @description Soothing pastel theme for Google Gemini @author Catppuccin @@ -15,146 +15,67 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('gemini.google.com') { - @import url("https://unpkg.com/@catppuccin/highlightjs@0.2.2/css/catppuccin.variables.important.css"); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - :root body.dark-theme { - #catppuccin(@darkFlavor, @accentColor); - } +@-moz-document domain("gemini.google.com") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); - :root body.light-theme { - #catppuccin(@lightFlavor, @accentColor); + :root .dark-theme { + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - color-scheme: if(@lookup =latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } + :root .light-theme { + #catppuccin(@lightFlavor); + } - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); - --bard-color-primary: @accent-color; - --bard-color-primary-background: @base; - --bard-color-primary-opacity-08: fade(@accent-color, 8%); --bard-color-neutral-90: @mantle; - --bard-color-outline: @overlay2; - --bard-color-on-primary: darken(@accent-color, 10%); - --bard-color-on-primary-container: @text; --bard-color-on-selected-conversation-metadata-v2: @text; --bard-color-surface-container: @mantle; --bard-color-on-surface-opacity-38: @surface2 !important; - --bard-color-surface-container-low: lighten(@mantle, 2%); --bard-color-surface-container-highest: lighten(@base, 5%); - --bard-color-surface-container-high: @surface0; --bard-color-response-container-flipped-background: @surface0; --bard-color-inverse-on-surface: darken(@mantle, 1%); --bard-color-sidenav-mobile-controls: @text; - --bard-color-outline-variant: @subtext0; --bard-color-main-container-background: @base; - --bard-color-main-container-background-rgb: #rgbify(@base) []; + --bard-color-main-container-background-rgb: #lib.rgbify(@base)[]; --bard-color-window-container-background: @base; --bard-color-response-container-background: @base; - --bard-color-response-container-background-rgb: #rgbify(@base) []; - --bard-color-selected-conversation-metadata-v2: fade(@accent-color, 50%); + --bard-color-response-container-background-rgb: #lib.rgbify(@base)[]; --bard-color-onhover-conversation-metadata-button-v2: @surface1; --bard-color-selected-conversation-metadata-button-v2: fade( - @accent-color, + @accent, 40% ); --bard-color-new-conversation-button: @surface0; --bard-color-on-new-conversation-button: @text; --bard-color-onhover-conversation-metadata-v2: @surface0; - --bard-color-on-surface: @text; - --bard-color-on-surface-variant: @subtext1; --bard-color-sidenav-upgrade-button: @surface0; --bard-color-form-field-placeholder: @subtext0; - --bard-color-extensions-window-container-background: @crust; - --bard-color-extension-card-container-background: @mantle; --bard-color-discovery-carousel-background: @mantle; + --bard-color-discovery-carousel-icon: @accent; --bard-color-example-prompt-background: @crust; --bard-color-bard-mode-logo-prefix: @subtext1; - --bard-color-discovery-carousel-icon: @accent-color; --bard-color-neutral-96: @crust; - --bard-color-adv-marketing-basic-background: @base; + --bard-color-adv-marketing-basic-background: @surface0; --bard-color-adv-marketing-product-background: @surface0; --bard-color-adv-marketing-disclaimer: @subtext0; --bard-color-input-area-buttons-selected-background: fade( - @accent-color, + @accent, 70% ); - --bard-color-zero-state-card-selected: fade(@accent-color, 30%); - --bard-color-zero-state-prompt-chip-background: fade(@accent-color, 50%); - --bard-color-zero-state-prompt-chip-text: lighten(@accent-color, 5%); - --bard-color-regular-banner: @accent-color; + --bard-color-zero-state-card-selected: fade(@accent, 30%); + --bard-color-zero-state-prompt-chip-background: fade(@accent, 50%); + --bard-color-zero-state-prompt-chip-text: lighten(@accent, 5%); + --bard-color-regular-banner: @accent; --bard-color-regular-banner-text: @crust; - --bard-color-surface-dim-rgb: #rgbify(@crust) []; - --bard-color-on-surface-rgb: #rgbify(@subtext0) []; - --bard-color-surface: @crust; - --bard-color-skeleton-loader-background-1-rgb: #rgbify(@mantle) []; - --bard-color-skeleton-loader-background-2-rgb: #rgbify(@accent-color) []; - --bard-color-skeleton-loader-background-3-rgb: #rgbify(@accent-color) []; + --bard-color-skeleton-loader-background-1-rgb: #lib.rgbify(@mantle)[]; + --bard-color-skeleton-loader-background-2-rgb: #lib.rgbify(@accent)[]; + --bard-color-skeleton-loader-background-3-rgb: #lib.rgbify(@accent)[]; --bard-color-brand-text-gradient-stop-1: @blue; --bard-color-brand-text-gradient-stop-2: @sapphire; --bard-color-brand-text-gradient-stop-3: @peach; @@ -176,17 +97,18 @@ --bard-color-tunable-selection-menu-text: @text; --bard-color-tunable-selection-menu-background: @mantle; --bard-color-tunable-selection-textarea-background: @base; - --bard-color-tunable-selection-shimmer-non-advanced: @accent-color; - --bard-color-action-tooltip-background: darken(@accent-color, 20%); + --bard-color-tunable-selection-shimmer-non-advanced: @accent; + --bard-color-onegooglebar-product-controls: @text; + --bard-color-adv-marketing-check: @text; - --mdc-switch-selected-hover-handle-color: lighten(@accent-color, 10%); - --mdc-switch-selected-focus-handle-color: lighten(@accent-color, 10%); - --mdc-switch-selected-pressed-handle-color: lighten(@accent-color, 15%); - --mdc-switch-selected-track-color: fade(@accent-color, 50%); - --mdc-switch-selected-hover-track-color: fade(@accent-color, 50%); - --mdc-switch-selected-focus-track-color: fade(@accent-color, 50%); - --mdc-switch-selected-pressed-track-color: fade(@accent-color, 50%); - --mdc-switch-selected-handle-color: @accent-color; + --mdc-switch-selected-hover-handle-color: lighten(@accent, 10%); + --mdc-switch-selected-focus-handle-color: lighten(@accent, 10%); + --mdc-switch-selected-pressed-handle-color: lighten(@accent, 15%); + --mdc-switch-selected-track-color: fade(@accent, 50%); + --mdc-switch-selected-hover-track-color: fade(@accent, 50%); + --mdc-switch-selected-focus-track-color: fade(@accent, 50%); + --mdc-switch-selected-pressed-track-color: fade(@accent, 50%); + --mdc-switch-selected-handle-color: @accent; --mdc-switch-unselected-handle-color: @subtext0; --mdc-switch-unselected-hover-handle-color: @subtext1; --mdc-switch-unselected-focus-handle-color: @text; @@ -195,22 +117,40 @@ --mdc-switch-unselected-hover-track-color: @surface2; --mdc-switch-unselected-pressed-track-color: @surface2; --mdc-switch-unselected-focus-track-color: @surface2; + --mdc-checkbox-selected-icon-color: @accent; + --mdc-checkbox-selected-checkmark-color: var(--gem-sys-color--on-primary); + --mdc-checkbox-selected-hover-icon-color: @accent; + --mdc-checkbox-selected-pressed-icon-color: @accent; + --mdc-checkbox-selected-focus-icon-color: @accent; + --mdc-checkbox-selected-focus-state-layer-color: @accent; + --mdc-checkbox-selected-hover-state-layer-color: @accent; + --mdc-checkbox-selected-pressed-state-layer-color: @text; + --mdc-checkbox-unselected-pressed-state-layer-color: @accent; + --mdc-checkbox-unselected-focus-state-layer-color: @text; + --mdc-checkbox-unselected-hover-state-layer-color: @text; + --mdc-checkbox-unselected-focus-icon-color: @text; + --mdc-checkbox-unselected-icon-color: @subtext1; + --mdc-checkbox-unselected-hover-icon-color: @text; --mdc-text-button-label-text-color: @subtext1; --mdc-text-button-hover-label-text-color: @overlay2; --mdc-list-list-item-hover-label-text-color: @text; - --mdc-filled-button-label-text-color: @text; - --mdc-circular-progress-active-indicator-color: @accent-color; + --mdc-filled-button-label-text-color: @crust; + --mdc-circular-progress-active-indicator-color: @accent; --mdc-outlined-button-focus-outline-color: @text; --mdc-outlined-button-hover-label-text-color: @subtext1; --mdc-list-list-item-focus-label-text-color: @text; + --mdc-icon-button-disabled-icon-color: @surface2; + --mdc-outlined-text-field-input-text-color: @text; + --mdc-outlined-text-field-focus-outline-color: @accent; + --mdc-outlined-text-field-outline-color: @overlay1; --mat-app-text-color: @text; --mat-text-button-state-layer-color: @overlay2; - --mat-icon-color: @text; --mat-sidenav-container-text-color: @text; --mat-expansion-header-text-color: @text; --mat-expansion-header-indicator-color: @text; --mat-expansion-container-text-color: @text; + --mat-checkbox-label-text-color: @text; --mat-bottom-sheet-container-text-color: @text; --mat-bottom-sheet-container-background-color: @base; --mat-menu-item-hover-state-layer-color: @surface0; @@ -219,27 +159,43 @@ --mat-menu-container-color: @base; --mat-menu-item-icon-color: @text; --mat-filled-button-state-layer-color: @overlay2; + --mat-focus-indicator-border-color: @accent; --mat-fab-small-hover-state-layer-opacity: 1; - --mat-divider-color: @surface0; + --mat-divider-color: @overlay2; --gm-outlinedtextfield-outline-color: @subtext0; - --gm-outlinedtextfield-outline-color--stateful: @accent-color; + --gm-outlinedtextfield-outline-color--stateful: @accent; --gm-outlinedtextfield-ink-color: @text; --gm3-sys-color-on-secondary-container: @crust; --gm3-sys-color-secondary-container: @text; --gem-sys-color--surface: @base; + --gem-sys-color--surface-container: @mantle; + --gem-sys-color--surface--rgb: #lib.rgbify(@base)[]; + --gem-sys-color--on-surface: @text; + --gem-sys-color--on-surface-variant: @subtext1; + --gem-sys-color--outline-variant: @surface1; + --gem-sys-color--surface-container-high: @surface0; + --gem-sys-color--surface-container-low: lighten(@mantle, 2%); + --gem-sys-color--outline: @subtext0; + --gem-sys-color--on-primary-container: @text; + --gem-sys-color--on-primary-fixed: darken(@accent, 40%); + --gem-sys-color--on-primary: darken(@accent, 60%); + --gem-sys-color--primary: @accent; + --gem-sys-color--primary-container: fade(@accent, 60%); + --gem-sys-color--on-surface--rgb: #lib.rgbify(@subtext0)[]; + --gem-sys-color--surface-dim--rgb: #lib.rgbify(@crust)[]; + --gem-sys-color--surface-container-highest: @surface0; + --gem-sys-color--primary-fixed: @text; + --gem-sys-color--on-secondary: fade(@accent, 30%); + --gem-sys-color--surface-variant: @surface0; + --gem-sys-color--surface-bright: @surface0; --og-theme-color: @text; - .button-pressed { - --bard-color-primary: @mantle; - } .action-icon { - --bard-color-on-surface-variant: @mantle; - } - button[mat-flat-button] { - --bard-color-on-primary: @crust; + --gem-sys-color--on-primary: @accent; + --gem-sys-color--on-surface-variant: @mantle; } .draft-preview-label-chip.selected { color: @crust; @@ -247,15 +203,12 @@ .buttons-container-link-button { color: @crust; } - .link-icon { - --mat-icon-color: @crust; - } .mdc-text-field--outlined:hover:not( - .mdc-text-field--disabled, - .mdc-text-field--focused - ) { - & .mdc-notched-outline__leading, - & .mdc-notched-outline__trailing { + .mdc-text-field--disabled, + .mdc-text-field--focused + ) { + .mdc-notched-outline__leading, + .mdc-notched-outline__trailing { border-color: @text !important; } } @@ -275,16 +228,16 @@ --mat-outlined-button-state-layer-color: @overlay2; } .gmat-mdc-button.mat-mdc-outlined-button:not( - .mat-mdc-button-disabled, - [disabled], - :disabled - ).mdc-ripple-upgraded--background-focused, + .mat-mdc-button-disabled, + [disabled], + :disabled + ).mdc-ripple-upgraded--background-focused, .gmat-mdc-button.mat-mdc-outlined-button:not( - .mat-mdc-button-disabled, - [disabled], - :disabled, - .mdc-ripple-upgraded - ):focus { + .mat-mdc-button-disabled, + [disabled], + :disabled, + .mdc-ripple-upgraded + ):focus { color: @text; } .gmat-mdc-chip { @@ -304,10 +257,6 @@ --mdc-plain-tooltip-container-color: @overlay0; --mdc-plain-tooltip-supporting-text-color: @text; } - .mdc-checkbox { - --mdc-checkbox-selected-icon-color: @accent-color; - --mdc-checkbox-selected-checkmark-color: @crust; - } .mdc-form-field { --mdc-form-field-label-text-color: @text; } @@ -317,14 +266,14 @@ .mdc-dialog__surface { background-color: @base !important; } - .mat-mdc-button-disabled { - --mat-icon-color: rgba(var(--bard-color-on-surface-rgb), 0.38); + .expandable-button:disabled { + color: rgba(var(--gem-sys-color--on-surface--rgb), 0.38); } .mat-mdc-progress-bar { - --mdc-linear-progress-active-indicator-color: @accent-color; - --mdc-linear-progress-track-color: fade(@accent-color, 50%); + --mdc-linear-progress-active-indicator-color: @accent; + --mdc-linear-progress-track-color: fade(@accent, 50%); } - .mdc-list-item__primary-text, + .mdc-list-item, .gmat-mdc-list { --mdc-list-list-item-hover-state-layer-color: @overlay1; --mdc-list-list-item-label-text-color: @text; @@ -332,9 +281,9 @@ --mdc-list-list-item-focus-state-layer-color: @overlay2; } .gmat-mdc-button.mat-mdc-button.mat-primary { - --mdc-text-button-label-text-color: @accent-color; - --mdc-text-button-hover-label-text-color: lighten(@accent-color, 5%); - --mdc-text-button-focus-label-text-color: lighten(@accent-color, 8%); + --mdc-text-button-label-text-color: @accent; + --mdc-text-button-hover-label-text-color: lighten(@accent, 5%); + --mdc-text-button-focus-label-text-color: lighten(@accent, 8%); } .gmat-mdc-button.mat-mdc-button.mat-unthemed { --mat-text-button-state-layer-color: @overlay2; @@ -343,14 +292,14 @@ --mat-icon-button-state-layer-color: @overlay2; } .gmat-mdc-button.mat-mdc-fab:not( - .mat-mdc-button-disabled - ).mat-primary.gmat-mdc-fab-fill { - --mdc-fab-container-color: @accent-color; + .mat-mdc-button-disabled + ).mat-primary.gmat-mdc-fab-fill { + --mdc-fab-container-color: @accent; --mat-fab-foreground-color: @crust; } .gmat-mdc-button.mat-mdc-mini-fab:not( - .mat-mdc-button-disabled - ).mat-primary.gmat-mdc-fab-outline { + .mat-mdc-button-disabled + ).mat-primary.gmat-mdc-fab-outline { --mat-fab-small-state-layer-color: @surface0; } .mat-mdc-fab:not(.mdc-riple-upgraded):focus::before, @@ -360,17 +309,16 @@ .mat-mdc-menu-panel { background-color: @base !important; } + .mat-mdc-fab.mat-accent { + --mat-fab-foreground-color: @text; + } .xap-count-badge-dot { background-color: @red; } - .experiment-updates-banner-icon { - color: @crust; - } - .banner-close-button { - --mat-icon-color: @crust; - } - & when (@lookup = latte) { - --bard-color-action-tooltip-background: lighten(@accent-color, 30%); + & when (@flavor = latte) { + --gem-sys-color--on-primary-fixed: @accent; + --gem-sys-color--on-primary: @mantle; + --gem-sys-color--primary-fixed: @crust; } [data-mat-icon-name="search"] svg { > path:nth-child(1) { @@ -386,27 +334,26 @@ fill: @red; } } + .google-logo img { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } [src="https://www.gstatic.com/lamda/images/replit_dark_24px_7d0347bf84c2570074db9.svg"], - [src="https://www.gstatic.com/lamda/images/replit_light_24px_3a2ee6003110f3c8460c9.svg"] - { + [src="https://www.gstatic.com/lamda/images/replit_light_24px_3a2ee6003110f3c8460c9.svg"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; + /* Gemini Advanced shadows */ + chat-window > div > input-container { + background: unset; + } + input-container::before { + background: unset; + } + } } - -// vim:ft=less diff --git a/styles/google-gemini/preview.webp b/styles/google-gemini/preview.webp deleted file mode 100644 index b54239d376..0000000000 --- a/styles/google-gemini/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14146df622083c94ad8dfdbb5d7159ef1692aed2deae68481c1366c184d91eee -size 147722 diff --git a/styles/google-photos/README.md b/styles/google-photos/README.md index f8082d3c5d..dfbd953c62 100644 --- a/styles/google-photos/README.md +++ b/styles/google-photos/README.md @@ -10,17 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer +## ๐Ÿ’ Current Maintainers - [GenShibe](https://github.com/GenShibe) +- [WalkQuackBack](https://github.com/WalkQuackBack)   diff --git a/styles/google-photos/catppuccin.user.css b/styles/google-photos/catppuccin.user.less similarity index 78% rename from styles/google-photos/catppuccin.user.css rename to styles/google-photos/catppuccin.user.less index a2018dc7e0..f6245658c9 100644 --- a/styles/google-photos/catppuccin.user.css +++ b/styles/google-photos/catppuccin.user.less @@ -2,8 +2,8 @@ @name Google Photos Catppuccin @namespace github.com/catppuccin/userstyles/styles/google-photos @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/google-photos -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-photos/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google-photos/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agoogle-photos @description Soothing pastel theme for Google Photos @author Catppuccin @@ -15,773 +15,501 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('photos.google.com') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --pkw-background: @surface0; - --gm3-dialog-refactored-container-color: @base; - --pkw-on-surface-variant: @subtext0; - --pkw-on-surface: @text; - --gm-colortextbutton-ink-color: @blue; - .gp1Lgf { - --gm3-card-outlined-hover-outline-color: @surface2; - --gm3-card-outlined-container-color: @surface0; - --gm3-card-outlined-outline-color: @surface2; - } - .hIolmc { - --gm3-chip-assist-flat-label-text-color: @text; - --gm3-chip-assist-flat-hover-label-text-color: @accent-color; - --gm3-chip-assist-flat-outline-color: @surface2; - --gm3-sys-color-outline: @surface2; - } - .I2nt9 { - --gm3-text-field-filled-container-color: @surface2; - --gm3-text-field-filled-input-text-color: @text; - --gm3-sys-color-primary: @accent-color; - --gm3-sys-color-on-surface: @text; - --gm3-text-field-filled-caret-color: @accent-color; - --gm3-text-field-filled-label-text-color: @text; - } - /* checkbox */ - --mdc-checkbox-selected-icon-color: @accent-color; - --mdc-checkbox-selected-checkmark-color: @mantle; - --mdc-checkbox-unselected-icon-color: @surface0; - /* uploading photo popups */ - .z1QT7e { - --gm3-card-elevated-container-color: @surface0; - } - - /* editing photo sidebar */ - .dm7YTc .FcHdhd { - --gm3-navigation-drawer-coplanar-container-color: @base; - } - - /* loading circle */ - .DMuDh { - --gm3-circular-progress-active-indicator-color: @accent-color; - } +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - /* main background */ - .uGCjIb, - .HnzzId, - body { - background-color: @base !important; - } - /* uploading photo popups */ - .RUTfA { - background-color: @blue !important; - color: @mantle !important; - } - .uq8qae, - .wgq1ae { - color: @text !important; - } - .BNcPhf { - background-color: @blue !important; - } - /* top bar */ - .QtDoYb { - background-color: @crust; - border-color: @crust; - } - /* search bar in the top bar */ - .Aul2T, - .cI2tlc .jBmls { - background-color: @surface0 !important; - } - .LAL5ie .ZAGvjd { - color: @text; - } - .l9dCke, - .ggIr1e, - .OmFprf { - border-color: @surface1 !important; - } - .LAL5ie .jBmls { - border-top-color: @surface1; - } - .obNJBf.wH28vf > .lEclge { - color: @text; - } - .obNJBf { - color: @subtext0; - } - /* the word photos in the google photos logo */ - .EIug8e { - color: @text; - } - /* the text in the carousel at the top of the main page */ - .oedbUb { - color: @text; - } - /* date of when the photos were taken */ - .xA0gfb { - color: @subtext1; - } - /* place where photos were taken */ - .LzExud { - color: @subtext0; - } - /* top and sidebar svgs */ - .v1262d, - .gb_Ra.gb_Ja svg { - fill: @text !important; - } - .uprWmb .v1262d { - fill: @mantle !important; - } - /* sidebar */ - .RSjvib { - background-color: @crust; - } - .uprWmb:hover, - .uprWmb { - background: @accent-color !important; - } - .HksvWb, - .HEHjMc { - color: @text; - } - .HEHjMc:hover { - color: @accent-color; - } - - .uprWmb .HksvWb { - color: @mantle !important; - } - .ylKyWb { - color: @subtext0; - } - .lJ21id { - background-color: @surface0; - } - .Olf00, - .J0dufb { - background-color: @accent-color !important; - color: @mantle; - } - /* sidebar slider */ - .bButFf { - background-color: @surface0; - border-bottom-color: @accent-color; - color: @text; - } - /* year when scrolling */ - .HrGXnb { - background-color: @surface0; - color: @text; - } - /* unlock storage discount button */ - .z3RRjd:not(:disabled) { - color: @accent-color; - border-color: @surface0; +@-moz-document domain("photos.google.com") { + body { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - /* search bar */ - .fXq1Rc:not(.A82uMb) .Aul2T.qs41qe { - background: @surface1; - } - /* storage used bar */ - .XCxRFf { - background-color: @accent-color; - box-shadow: 2px 0 0 lighten(@accent-color, 10%); - } - .DFG23b { - background-color: @overlay0; - } - /* carousel buttons */ - .yhB1zd { - background: @surface0; - } - - /* favorites page */ - .ZEmz6b { - color: @text; - } - - /* albums page */ - /* background */ - .gN5aAe, - .eReC4e { - background-color: @base; - } - /* album title */ - .mfQCM, - .go6nxb, - .MXxZYe, - .NbrDvb, - .mfQCMe { - color: @text; - } - .kmqzh .tL9Q4c { - color: @text; - background-color: @surface0; - } - /* # of photos in album */ - .UV4Xae, - .Me6kjf { - color: @subtext0; - } - /* album date */ - .UmNiJe { - color: @subtext0; - } - /* play highlights button */ - .HQ97kd { - color: @text; - background-color: @base; - } - /* sharing dialog */ - .ju3TMb, - .hUsHhf, - .ex6r4d, - .dqAVOd { - color: @text; - background-color: @surface0; - } - .J2j0Cc.uH98yc { - background-color: @surface2; - } - /* ... menu in album */ - .s2VtY.JPdR6b { - background-color: @surface0; - } - .o7Osof .oJeWuf { - color: @text; - } - /* add to album */ - .Purf9b { - background-color: @base; - } - .Pk50Ic { - background: @accent-color; - } - /* underline on album title */ - .kmqzh .cXrdqd::before, - .kmqzh .cXrdqd::after { - background: @blue !important; - } - - /* favorites page */ - .YzU3ub.Sn08je { - background-color: @surface0; - } - - /* print store */ - .E2jkGc, - .bVnuib, - .D8oEA, - .mKmjtc, - .GVzd9d { - color: @text; - } - /* products */ - .CxyEyc { - background-color: @surface0; - border-color: @surface2; - } - /* photo books and canvases */ - .bYS0Le .p102md { - background-color: @surface0; - border-color: @surface2; - } - .INNc9c, - .fGZ5Db, - .KhXBec { - color: @text; - } - .b9GWRb { - color: @subtext0; - } - - /* explore page */ - .OgirMe, - .dykGZb { - color: @text; - } - /* names under faces */ - .hsohWb { - color: @text; - } - /* text in photos */ - .ydXkjb, - .WABMHe, - .fn6ocf { - color: @text; - } - /* categories inside the footer */ - .QmUPuf { - color: @text; - } - .QkA5Vc:not(:disabled) { - color: @subtext0; - } - - /* cannot connect page */ - .Ih0h6e, - .aPRVsf { - color: @text; - } - /* rety button */ - .RSxr8 { - background-color: darken(@accent-color, 15%); - } - - /* sharing page */ - /* item */ - .I7yCae { - color: @text; - } - .DcsHOb { - border-color: @surface2; - } - /* partner sharing dialog */ - .VfPpkd-P5QLlc, - .I4p4db, - .t1IGPc, - .Co16uf { - background-color: @surface0; - } - .osOuXd:not(.VfPpkd-O1htCb-OWXEXe-OWB6Me) .VfPpkd-TkwUic, - .osOuXd .VfPpkd-YPmvEd { - background-color: @surface2; - } - .V639qd .VfPpkd-cnG4Wd, - .fpyzKd, - .osOuXd:not(.VfPpkd-O1htCb-OWXEXe-OWB6Me) .VfPpkd-uusGie-fmcmS, - .osOuXd.VfPpkd-OkbHre.VfPpkd-rymPhb-Gtdoyb, - .VfPpkd-OkbHre .VfPpkd-rymPhb-fpDzbe-fmcmS, - .jc9Jq, - .Qwsrhf, - .VfPpkd-k2Wrsb { - color: @text; - } - .osOuXd - .VfPpkd-OkbHre.VfPpkd-rymPhb-ibnC6b.VfPpkd-rymPhb-ibnC6b-OWXEXe-gk6SMd { - background-color: @overlay2; - } - /* disabled text */ - .oFJeZc:disabled { - color: @surface2; - } - /* the small arrow in the dropdown box */ - .hqBSCb:not(.VfPpkd-O1htCb-OWXEXe-OWB6Me).VfPpkd-O1htCb-OWXEXe-XpnDCe - .VfPpkd-t08AT-Bz112c { - fill: @accent-color; - } - - /* sharing via links subpage */ - /* background */ - .Cv8Rjc { - background-color: @base; - } - /* page title & subtitle */ - .UtdETd, - .wMLcHf { - color: @text; - } - /* date when it was shared */ - .DtcBIe { - color: @subtext1; - } - /* item border */ - .j90Xnb { - border-color: @surface1; - } - - /* settings page */ - /* main text */ - .P0eWkf, - .rvEjke, - .IGdgBf, - .Sn08je { - color: @text; - } - /* top bar */ - .eReC4e.FbgB9 { - border-color: @surface0; - } - .yNVtPc .ZAGvjd .Ny5lGc::placeholder { - color: @text; - } - /* upload button */ - .s4MBmb { - color: @text; - } - /* subtext */ - .fYwTV, - .rN6Qmb, - .eT2rxc, - .EqBDpe, - .cuFkEd { - color: @subtext0; - } - /* "view" button links */ - .oFJeZc:not(:disabled) { - color: @accent-color; - } - /* sectional borders */ - .X0f2Ie, - .TYKfpe { - border-color: @surface0 !important; - } - /* storage discount button */ - .kDryjd:not(:disabled) { - background-color: @accent-color; - color: @crust; - } - /* selected radial selector */ - .bEtrNb - .VfPpkd-gBXA9-bMcfAe:enabled:checked - + .VfPpkd-RsCWK - .VfPpkd-wVo5xe-LkdAo, - .bEtrNb .VfPpkd-gBXA9-bMcfAe:enabled + .VfPpkd-RsCWK .VfPpkd-Z5TpLc-LkdAo { - border-color: @accent-color; - } - /* unselected radial selector */ - .bEtrNb - .VfPpkd-gBXA9-bMcfAe:enabled:not(:checked) - + .VfPpkd-RsCWK - .VfPpkd-wVo5xe-LkdAo { - border-color: @surface0; - } - /* switch that is in the off position */ - .OKFoxe .VfPpkd-uMhiad::before { - background: @mantle; - } - .OKFoxe:disabled .VfPpkd-l6JLsf::before { - background-color: @surface1 !important; - } - .OKFoxe.VfPpkd-scr2fc-OWXEXe-uqeOfd:disabled .VfPpkd-pafCAf { - fill: @accent-color; - } - /* switch that is in the on position */ - .OKFoxe.VfPpkd-scr2fc-OWXEXe-gk6SMd:enabled .VfPpkd-uMhiad::after { - background-color: @accent-color; - } - .OKFoxe.VfPpkd-scr2fc-OWXEXe-gk6SMd:enabled .VfPpkd-pafCAf { - fill: @mantle; - } - .OKFoxe:enabled .VfPpkd-l6JLsf::after { - background: @surface1; - } - - /* print orders page */ - .fwAVoc { - color: @text; - } - - /* privacy page */ - .UNOf0e, - .bTd6c { - color: @text; - } - /* footer */ - .rniux { - color: @subtext0; - } - - /* slideshow buttons */ - .UPRhTe { - background-color: @base; - } - - /* activity log page */ - /* main backgroound */ - .X67EZe { - background-color: @surface0; - } - /* main text */ - .vLZJlf, - .GiPflf, - .iEGkef { - color: @text; - } - /* type of activity */ - .PDX3vc.LMgvRb { - color: @green; - } - .y03tld .e2CuFe { - border-top-color: @green; - } - /* reached the end */ - .EIkL5b { - color: @subtext0; + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } - /* utilities page */ - /* headings */ - .ARSUIf { - color: @text; - } - /* elements */ - .FkWMmd { - color: @text; - } - .lnQi4 { - border-color: @surface2; - } - /* "new" pill thingy idk what to call this lol */ - .Li8WFe { - color: @mantle; - background-color: @accent-color; - } - /* create highlight video subpage */ - .a4dmPd { - border-color: @surface0; - } - .BH0KJc { - color: @text; - } - .z3RRjd:disabled { - color: @subtext0; - } - .IZzwM.bu4MSb { - --gm3-chip-input-without-avatar-label-text-color: @text; - --gm3-chip-input-without-avatar-with-trailing-icon-trailing-icon-color: @text; - background-color: @overlay0; - } + .zKHdkd { + #catppuccin(@lightFlavor); + } - /* trash page */ - .NSzyed { - color: @text; - } + .dm7YTc { + #catppuccin(@darkFlavor); + } - /* storage page */ - .hwDBSe, - .tzFvIf, - .BZXMjd .MrqLTc, - .ZbJY6, - .NKihpc, - .V3WOgd { - color: @text; - } - .gyqWff, - .BZXMjd .chfDde { - color: @subtext0; - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @inverse-theme: if(@flavor = latte, mocha, latte); + @inverse-accent: @catppuccin[@@inverse-theme][@@accentColor]; + // @color-scheme: if(@flavor = latte, light, dark); // Seems like a bug, this should be `color-scheme` not `@color-scheme`? This variable is not used anywhere else. + + // GM3 base + + @gm3-sys-color-error: @red; + @gm3-sys-color-error-rgb: #lib.rgbify(@gm3-sys-color-error)[]; + @gm3-sys-color-error-container: saturate( + mix(@gm3-sys-color-error, @mantle, 30%), + 20% + ); + @gm3-sys-color-error-container-rgb: #lib.rgbify( + @gm3-sys-color-error-container, + )[]; + + @gm3-sys-color-on-error: saturate( + mix(@gm3-sys-color-error, @base, 20%), + 25% + ); + @gm3-sys-color-on-error-rgb: #lib.rgbify(@gm3-sys-color-on-error)[]; + @gm3-sys-color-on-error-container: saturate( + mix(@gm3-sys-color-error-container, @text, 20%), + 25% + ); + @gm3-sys-color-on-error-container-rgb: #lib.rgbify( + @gm3-sys-color-on-error-container, + )[]; + + @gm3-sys-color-primary: @accent; + @gm3-sys-color-primary-rgb: #lib.rgbify(@gm3-sys-color-primary)[]; + @gm3-sys-color-primary-fixed: lighten(@accent, 5%); + @gm3-sys-color-primary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-primary-fixed, + )[]; + @gm3-sys-color-primary-fixed-dim: darken(@accent, 5%); + @gm3-sys-color-primary-fixed-dim-rgb: #lib.rgbify( + @gm3-sys-color-primary-fixed-dim, + )[]; + + @gm3-sys-color-on-primary: saturate( + mix(@gm3-sys-color-primary, @base, 20%), + 25% + ); + @gm3-sys-color-on-primary-rgb: #lib.rgbify(@gm3-sys-color-on-primary)[]; + @gm3-sys-color-on-primary-fixed: darken(@gm3-sys-color-on-primary, 5%); + @gm3-sys-color-on-primary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-on-primary-fixed, + )[]; + @gm3-sys-color-on-primary-fixed-variant: lighten( + @gm3-sys-color-on-primary, + 5% + ); + @gm3-sys-color-on-primary-fixed-variant-rgb: #lib.rgbify( + @gm3-sys-color-on-primary-fixed-variant, + )[]; + + @gm3-sys-color-primary-container: saturate( + mix(@gm3-sys-color-primary, @mantle, 30%), + 20% + ); + @gm3-sys-color-primary-container-rgb: #lib.rgbify( + @gm3-sys-color-primary-container, + )[]; + @gm3-sys-color-on-primary-container: saturate( + mix(@gm3-sys-color-primary, @text, 20%), + 25% + ); + @gm3-sys-color-on-primary-container-rgb: #lib.rgbify( + @gm3-sys-color-on-primary-container, + )[]; + + @gm3-sys-color-secondary: desaturate(@accent, 20%); + @gm3-sys-color-secondary-rgb: #lib.rgbify(@gm3-sys-color-secondary)[]; + @gm3-sys-color-secondary-fixed: lighten(@gm3-sys-color-secondary, 5%); + @gm3-sys-color-secondary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-secondary-fixed, + )[]; + @gm3-sys-color-secondary-fixed-dim: darken(@gm3-sys-color-secondary, 5%); + @gm3-sys-color-secondary-fixed-dim-rgb: #lib.rgbify( + @gm3-sys-color-secondary-fixed-dim, + )[]; + + @gm3-sys-color-on-secondary: saturate( + mix(@gm3-sys-color-secondary, @base, 20%), + 25% + ); + @gm3-sys-color-on-secondary-rgb: #lib.rgbify(@gm3-sys-color-on-secondary)[]; + @gm3-sys-color-on-secondary-fixed: darken( + @gm3-sys-color-on-secondary, + 5% + ); + @gm3-sys-color-on-secondary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-on-secondary-fixed, + )[]; + @gm3-sys-color-on-secondary-fixed-variant: lighten( + @gm3-sys-color-on-primary, + 5% + ); + @gm3-sys-color-on-secondary-fixed-variant-rgb: #lib.rgbify( + @gm3-sys-color-on-secondary-fixed-variant, + )[]; + + @gm3-sys-color-secondary-container: saturate( + mix(@gm3-sys-color-secondary, @mantle, 35%), + 10% + ); + @gm3-sys-color-secondary-container-rgb: #lib.rgbify( + @gm3-sys-color-secondary-container, + )[]; + @gm3-sys-color-on-secondary-container: saturate( + mix(@gm3-sys-color-secondary, @text, 75%), + 25% + ); + @gm3-sys-color-on-secondary-container-rgb: #lib.rgbify( + @gm3-sys-color-on-secondary-container, + )[]; + + @gm3-sys-color-tertiary: @accent; + @gm3-sys-color-tertiary-rgb: #lib.rgbify(@gm3-sys-color-tertiary)[]; + @gm3-sys-color-tertiary-fixed: lighten(@gm3-sys-color-tertiary, 5%); + @gm3-sys-color-tertiary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-tertiary-fixed, + )[]; + @gm3-sys-color-tertiary-fixed-dim: darken(@gm3-sys-color-tertiary, 5%); + @gm3-sys-color-tertiary-fixed-dim-rgb: #lib.rgbify( + @gm3-sys-color-tertiary-fixed-dim, + )[]; + + @gm3-sys-color-on-tertiary: saturate( + mix(@gm3-sys-color-tertiary, @base, 20%), + 25% + ); + @gm3-sys-color-on-tertiary-rgb: #lib.rgbify(@gm3-sys-color-on-tertiary)[]; + @gm3-sys-color-on-tertiary-fixed: darken(@gm3-sys-color-on-tertiary, 5%); + @gm3-sys-color-on-tertiary-fixed-rgb: #lib.rgbify( + @gm3-sys-color-on-tertiary-fixed, + )[]; + @gm3-sys-color-on-tertiary-fixed-variant: lighten( + @gm3-sys-color-on-tertiary, + 5% + ); + @gm3-sys-color-on-tertiary-fixed-variant-rgb: #lib.rgbify( + @gm3-sys-color-on-tertiary-fixed-variant, + )[]; + + @gm3-sys-color-tertiary-container: saturate( + mix(@gm3-sys-color-tertiary, @mantle, 20%), + 0% + ); + @gm3-sys-color-tertiary-container-rgb: #lib.rgbify( + @gm3-sys-color-tertiary-container, + )[]; + @gm3-sys-color-on-tertiary-container: saturate( + mix(@gm3-sys-color-tertiary-container, @text, 20%), + 25% + ); + @gm3-sys-color-on-tertiary-container-rgb: #lib.rgbify( + @gm3-sys-color-on-tertiary-container, + )[]; + + @gm3-sys-color-background: @base; + @gm3-sys-color-background-rgb: #lib.rgbify(@gm3-sys-color-background)[]; + @gm3-sys-color-on-background: @text; + @gm3-sys-color-on-background-rgb: #lib.rgbify( + @gm3-sys-color-on-background, + )[]; + + @gm3-sys-color-surface: @base; + @gm3-sys-color-surface-rgb: #lib.rgbify(@gm3-sys-color-surface)[]; + @gm3-sys-color-surface-bright: @surface0; + @gm3-sys-color-surface-bright-rgb: #lib.rgbify( + @gm3-sys-color-surface-bright, + )[]; + @gm3-sys-color-surface-dim: @crust; + @gm3-sys-color-surface-dim-rgb: #lib.rgbify(@gm3-sys-color-surface-dim)[]; + @gm3-sys-color-surface-variant: mix(@mantle, @accent, 87.5%); + @gm3-sys-color-surface-variant-rgb: #lib.rgbify( + @gm3-sys-color-surface-variant, + )[]; + @gm3-sys-color-surface-tint: @accent; + @gm3-sys-color-surface-tint-rgb: #lib.rgbify(@gm3-sys-color-surface-tint)[]; + + @gm3-sys-color-on-surface: @text; + @gm3-sys-color-on-surface-rgb: #lib.rgbify(@gm3-sys-color-on-surface)[]; + @gm3-sys-color-on-surface-variant: @subtext0; + @gm3-sys-color-on-surface-variant-rgb: #lib.rgbify( + @gm3-sys-color-on-surface-variant, + )[]; + + @gm3-sys-color-inverse-surface: @text; + @gm3-sys-color-inverse-surface-rgb: #lib.rgbify( + @gm3-sys-color-inverse-surface, + )[]; + @gm3-sys-color-inverse-on-surface: @mantle; + @gm3-sys-color-inverse-on-surface-rgb: #lib.rgbify( + @gm3-sys-color-inverse-on-surface, + )[]; + @gm3-sys-color-inverse-primary: @inverse-accent; + @gm3-sys-color-inverse-primary-rgb: #lib.rgbify( + @gm3-sys-color-inverse-primary, + )[]; + + @gm3-sys-color-surface-container-highest: @surface1; + @gm3-sys-color-surface-container-highest-rgb: #lib.rgbify( + @gm3-sys-color-surface-container-highest, + )[]; + @gm3-sys-color-surface-container-high: @surface0; + @gm3-sys-color-surface-container-high-rgb: #lib.rgbify( + @gm3-sys-color-surface-container-high, + )[]; + @gm3-sys-color-surface-container: @surface0; + @gm3-sys-color-surface-container-rgb: #lib.rgbify( + @gm3-sys-color-surface-container, + )[]; + @gm3-sys-color-surface-container-low: @mantle; + @gm3-sys-color-surface-container-low-rgb: #lib.rgbify( + @gm3-sys-color-surface-container-low, + )[]; + @gm3-sys-color-surface-container-lowest: @crust; + @gm3-sys-color-surface-container-lowest-rgb: #lib.rgbify( + @gm3-sys-color-surface-container-lowest, + )[]; + + @gm3-sys-color-outline: @overlay2; + @gm3-sys-color-outline-rgb: #lib.rgbify(@gm3-sys-color-outline)[]; + @gm3-sys-color-outline-variant: @overlay0; + @gm3-sys-color-outline-variant-rgb: #lib.rgbify( + @gm3-sys-color-outline-variant, + )[]; + + @gm3-sys-color-scrim: #000; + @gm3-sys-color-scrim-rgb: #lib.rgbify(@gm3-sys-color-scrim)[]; + @gm3-sys-color-shadow: #000; + @gm3-sys-color-shadow-rgb: #lib.rgbify(@gm3-sys-color-shadow)[]; + + --gm3-sys-color-background: @gm3-sys-color-background; + --gm3-sys-color-background-rgb: @gm3-sys-color-background-rgb; + --gm3-sys-color-error: @gm3-sys-color-error; + --gm3-sys-color-error-rgb: @gm3-sys-color-error-rgb; + --gm3-sys-color-error-container: @gm3-sys-color-error-container; + --gm3-sys-color-error-container-rgb: @gm3-sys-color-error-container-rgb; + --gm3-sys-color-inverse-on-surface: @gm3-sys-color-inverse-on-surface; + --gm3-sys-color-inverse-on-surface-rgb: @gm3-sys-color-inverse-on-surface-rgb; + --gm3-sys-color-inverse-primary: @gm3-sys-color-inverse-primary; + --gm3-sys-color-inverse-primary-rgb: @gm3-sys-color-inverse-primary-rgb; + --gm3-sys-color-inverse-surface: @gm3-sys-color-inverse-surface; + --gm3-sys-color-inverse-surface-rgb: @gm3-sys-color-inverse-surface-rgb; + --gm3-sys-color-on-background: @gm3-sys-color-on-background; + --gm3-sys-color-on-background-rgb: @gm3-sys-color-on-background-rgb; + --gm3-sys-color-on-error: @gm3-sys-color-on-error; + --gm3-sys-color-on-error-rgb: @gm3-sys-color-on-error-rgb; + --gm3-sys-color-on-error-container: @gm3-sys-color-on-error-container; + --gm3-sys-color-on-error-container-rgb: @gm3-sys-color-on-error-container-rgb; + --gm3-sys-color-on-primary: @gm3-sys-color-on-primary; + --gm3-sys-color-on-primary-rgb: @gm3-sys-color-on-primary-rgb; + --gm3-sys-color-on-primary-container: @gm3-sys-color-on-primary-container; + --gm3-sys-color-on-primary-container-rgb: @gm3-sys-color-on-primary-container-rgb; + --gm3-sys-color-on-primary-fixed: @gm3-sys-color-on-primary-fixed; + --gm3-sys-color-on-primary-fixed-rgb: @gm3-sys-color-on-primary-fixed-rgb; + --gm3-sys-color-on-primary-fixed-variant: @gm3-sys-color-on-primary-fixed-variant; + --gm3-sys-color-on-primary-fixed-variant-rgb: @gm3-sys-color-on-primary-fixed-variant-rgb; + --gm3-sys-color-on-secondary: @gm3-sys-color-on-secondary; + --gm3-sys-color-on-secondary-rgb: @gm3-sys-color-on-secondary-rgb; + --gm3-sys-color-on-secondary-container: @gm3-sys-color-on-secondary-container; + --gm3-sys-color-on-secondary-container-rgb: @gm3-sys-color-on-secondary-container-rgb; + --gm3-sys-color-on-secondary-fixed: @gm3-sys-color-on-secondary-fixed; + --gm3-sys-color-on-secondary-fixed-rgb: @gm3-sys-color-on-secondary-fixed-rgb; + --gm3-sys-color-on-secondary-fixed-variant: @gm3-sys-color-on-secondary-fixed-variant; + --gm3-sys-color-on-secondary-fixed-variant-rgb: @gm3-sys-color-on-secondary-fixed-variant-rgb; + --gm3-sys-color-on-surface: @gm3-sys-color-on-surface; + --gm3-sys-color-on-surface-rgb: @gm3-sys-color-on-surface-rgb; + --gm3-sys-color-on-surface-variant: @gm3-sys-color-on-surface-variant; + --gm3-sys-color-on-surface-variant-rgb: @gm3-sys-color-on-surface-variant-rgb; + --gm3-sys-color-on-tertiary: @gm3-sys-color-on-tertiary; + --gm3-sys-color-on-tertiary-rgb: @gm3-sys-color-on-tertiary-rgb; + --gm3-sys-color-on-tertiary-container: @gm3-sys-color-on-tertiary-container; + --gm3-sys-color-on-tertiary-container-rgb: @gm3-sys-color-on-tertiary-container-rgb; + --gm3-sys-color-on-tertiary-fixed: @gm3-sys-color-on-tertiary-fixed; + --gm3-sys-color-on-tertiary-fixed-rgb: @gm3-sys-color-on-tertiary-fixed-rgb; + --gm3-sys-color-on-tertiary-fixed-variant: @gm3-sys-color-on-tertiary-fixed-variant; + --gm3-sys-color-on-tertiary-fixed-variant-rgb: @gm3-sys-color-on-tertiary-fixed-variant-rgb; + --gm3-sys-color-outline: @gm3-sys-color-outline; + --gm3-sys-color-outline-rgb: @gm3-sys-color-outline-rgb; + --gm3-sys-color-outline-variant: @gm3-sys-color-outline-variant; + --gm3-sys-color-outline-variant-rgb: @gm3-sys-color-outline-variant-rgb; + --gm3-sys-color-primary: @gm3-sys-color-primary; + --gm3-sys-color-primary-rgb: @gm3-sys-color-primary-rgb; + --gm3-sys-color-primary-container: @gm3-sys-color-primary-container; + --gm3-sys-color-primary-container-rgb: @gm3-sys-color-primary-container-rgb; + --gm3-sys-color-primary-fixed: @gm3-sys-color-primary-fixed; + --gm3-sys-color-primary-fixed-rgb: @gm3-sys-color-primary-fixed-rgb; + --gm3-sys-color-primary-fixed-dim: @gm3-sys-color-primary-fixed-dim; + --gm3-sys-color-primary-fixed-dim-rgb: @gm3-sys-color-primary-fixed-dim-rgb; + --gm3-sys-color-scrim: @gm3-sys-color-scrim; + --gm3-sys-color-scrim-rgb: @gm3-sys-color-scrim-rgb; + --gm3-sys-color-secondary: @gm3-sys-color-secondary; + --gm3-sys-color-secondary-rgb: @gm3-sys-color-secondary-rgb; + --gm3-sys-color-secondary-container: @gm3-sys-color-secondary-container; + --gm3-sys-color-secondary-container-rgb: @gm3-sys-color-secondary-container-rgb; + --gm3-sys-color-secondary-fixed: @gm3-sys-color-secondary-fixed; + --gm3-sys-color-secondary-fixed-rgb: @gm3-sys-color-secondary-fixed-rgb; + --gm3-sys-color-secondary-fixed-dim: @gm3-sys-color-secondary-fixed-dim; + --gm3-sys-color-secondary-fixed-dim-rgb: @gm3-sys-color-secondary-fixed-dim-rgb; + --gm3-sys-color-shadow: @gm3-sys-color-shadow; + --gm3-sys-color-shadow-rgb: @gm3-sys-color-shadow-rgb; + --gm3-sys-color-surface: @gm3-sys-color-surface; + --gm3-sys-color-surface-rgb: @gm3-sys-color-surface-rgb; + --gm3-sys-color-surface-bright: @gm3-sys-color-surface-bright; + --gm3-sys-color-surface-bright-rgb: @gm3-sys-color-surface-bright-rgb; + --gm3-sys-color-surface-container: @gm3-sys-color-surface-container; + --gm3-sys-color-surface-container-rgb: @gm3-sys-color-surface-container-rgb; + --gm3-sys-color-surface-container-high: @gm3-sys-color-surface-container-high; + --gm3-sys-color-surface-container-high-rgb: @gm3-sys-color-surface-container-high-rgb; + --gm3-sys-color-surface-container-highest: @gm3-sys-color-surface-container-highest; + --gm3-sys-color-surface-container-highest-rgb: @gm3-sys-color-surface-container-highest-rgb; + --gm3-sys-color-surface-container-low: @gm3-sys-color-surface-container-low; + --gm3-sys-color-surface-container-low-rgb: @gm3-sys-color-surface-container-low-rgb; + --gm3-sys-color-surface-container-lowest: @gm3-sys-color-surface-container-lowest; + --gm3-sys-color-surface-container-lowest-rgb: @gm3-sys-color-surface-container-lowest-rgb; + --gm3-sys-color-surface-dim: @gm3-sys-color-surface-dim; + --gm3-sys-color-surface-dim-rgb: @gm3-sys-color-surface-dim-rgb; + --gm3-sys-color-surface-tint: @gm3-sys-color-surface-tint; + --gm3-sys-color-surface-tint-rgb: @gm3-sys-color-surface-tint-rgb; + --gm3-sys-color-surface-variant: @gm3-sys-color-surface-variant; + --gm3-sys-color-surface-variant-rgb: @gm3-sys-color-surface-variant-rgb; + --gm3-sys-color-tertiary: @gm3-sys-color-tertiary; + --gm3-sys-color-tertiary-rgb: @gm3-sys-color-tertiary-rgb; + --gm3-sys-color-tertiary-container: @gm3-sys-color-tertiary-container; + --gm3-sys-color-tertiary-container-rgb: @gm3-sys-color-tertiary-container-rgb; + --gm3-sys-color-tertiary-fixed: @gm3-sys-color-tertiary-fixed; + --gm3-sys-color-tertiary-fixed-rgb: @gm3-sys-color-tertiary-fixed-rgb; + --gm3-sys-color-tertiary-fixed-dim: @gm3-sys-color-tertiary-fixed-dim; + --gm3-sys-color-tertiary-fixed-dim-rgb: @gm3-sys-color-tertiary-fixed-dim-rgb; + --mdc-ripple-color: var(--gm3-sys-color-primary); + + // GM3 Photos + + @gm3-sys-color-caution: @yellow; + @gm3-sys-color-caution-rgb: #lib.rgbify(@gm3-sys-color-caution)[]; + @gm3-sys-color-on-caution: saturate( + mix(@gm3-sys-color-caution, @base, 20%), + 25% + ); + @gm3-sys-color-on-caution-rgb: #lib.rgbify(@gm3-sys-color-on-caution)[]; + @gm3-sys-color-caution-container: saturate( + mix(@gm3-sys-color-caution, @mantle, 30%), + 20% + ); + @gm3-sys-color-caution-container-rgb: #lib.rgbify( + @gm3-sys-color-caution-container, + )[]; + @gm3-sys-color-on-caution-container: saturate( + mix(@gm3-sys-color-caution-container, @text, 20%), + 25% + ); + @gm3-sys-color-on-caution-container-rgb: #lib.rgbify( + @gm3-sys-color-on-caution-container, + )[]; + @gm3-sys-color-storage-meter-normal-primary: @blue; + @gm3-sys-color-storage-meter-normal-primary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-normal-primary, + )[]; + @gm3-sys-color-storage-meter-normal-secondary: lighten( + spin(@blue, -20deg), + 10% + ); + @gm3-sys-color-storage-meter-normal-secondary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-normal-secondary, + )[]; + @gm3-sys-color-storage-meter-caution-primary: saturate( + darken(@yellow, 10%), + 10% + ); + @gm3-sys-color-storage-meter-caution-primary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-caution-primary, + )[]; + @gm3-sys-color-storage-meter-caution-secondary: @yellow; + @gm3-sys-color-storage-meter-caution-secondary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-caution-secondary, + )[]; + @gm3-sys-color-storage-meter-warning-primary: saturate( + darken(@red, 10%), + 10% + ); + @gm3-sys-color-storage-meter-warning-primary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-warning-primary, + )[]; + @gm3-sys-color-storage-meter-warning-secondary: @red; + @gm3-sys-color-storage-meter-warning-secondary-rgb: #lib.rgbify( + @gm3-sys-color-storage-meter-warning-secondary, + )[]; + @gm3-sys-color-on-scrim: #fff; + @gm3-sys-color-on-scrim-rgb: #lib.rgbify(@gm3-sys-color-on-scrim)[]; + @gm3-sys-color-lights-out-background: #000; + @gm3-sys-color-lights-out-background-rgb: #lib.rgbify( + @gm3-sys-color-lights-out-background, + )[]; + @gm3-sys-color-gems-main: @blue; + @gm3-sys-color-gems-main-rgb: #lib.rgbify(@gm3-sys-color-gems-main)[]; + @gm3-sys-color-gems-muted: @sapphire; + @gm3-sys-color-gems-muted-rgb: #lib.rgbify(@gm3-sys-color-gems-muted)[]; + @gm3-sys-color-gems-analog: @lavender; + @gm3-sys-color-gems-analog-rgb: #lib.rgbify(@gm3-sys-color-gems-analog)[]; + @gm3-sys-color-gems-complement: @peach; + @gm3-sys-color-gems-complement-rgb: #lib.rgbify( + @gm3-sys-color-gems-complement, + )[]; + @gm3-sys-color-twitter: @text; + @gm3-sys-color-twitter-rgb: #lib.rgbify(@gm3-sys-color-twitter)[]; + + --gm3-sys-color-caution: @gm3-sys-color-caution; + --gm3-sys-color-caution-rgb: @gm3-sys-color-caution-rgb; + --gm3-sys-color-on-caution: @gm3-sys-color-on-caution; + --gm3-sys-color-on-caution-rgb: @gm3-sys-color-on-caution-rgb; + --gm3-sys-color-caution-container: @gm3-sys-color-caution-container; + --gm3-sys-color-caution-container-rgb: @gm3-sys-color-caution-container-rgb; + --gm3-sys-color-on-caution-container: @gm3-sys-color-on-caution-container; + --gm3-sys-color-on-caution-container-rgb: @gm3-sys-color-on-caution-container-rgb; + --gm3-sys-color-storage-meter-normal-primary: @gm3-sys-color-storage-meter-normal-primary; + --gm3-sys-color-storage-meter-normal-primary-rgb: @gm3-sys-color-storage-meter-normal-primary-rgb; + --gm3-sys-color-storage-meter-normal-secondary: @gm3-sys-color-storage-meter-normal-secondary; + --gm3-sys-color-storage-meter-normal-secondary-rgb: @gm3-sys-color-storage-meter-normal-secondary-rgb; + --gm3-sys-color-storage-meter-caution-primary: @gm3-sys-color-storage-meter-caution-primary; + --gm3-sys-color-storage-meter-caution-primary-rgb: @gm3-sys-color-storage-meter-caution-primary-rgb; + --gm3-sys-color-storage-meter-caution-secondary: @gm3-sys-color-storage-meter-caution-secondary; + --gm3-sys-color-storage-meter-caution-secondary-rgb: @gm3-sys-color-storage-meter-caution-secondary-rgb; + --gm3-sys-color-storage-meter-warning-primary: @gm3-sys-color-storage-meter-warning-primary; + --gm3-sys-color-storage-meter-warning-primary-rgb: @gm3-sys-color-storage-meter-warning-primary-rgb; + --gm3-sys-color-storage-meter-warning-secondary: @gm3-sys-color-storage-meter-warning-secondary; + --gm3-sys-color-storage-meter-warning-secondary-rgb: @gm3-sys-color-storage-meter-warning-secondary-rgb; + --gm3-sys-color-on-scrim: @gm3-sys-color-on-scrim; + --gm3-sys-color-on-scrim-rgb: @gm3-sys-color-on-scrim-rgb; + --gm3-sys-color-lights-out-background: @gm3-sys-color-lights-out-background; + --gm3-sys-color-lights-out-background-rgb: @gm3-sys-color-lights-out-background-rgb; + --gm3-sys-color-gems-main: @gm3-sys-color-gems-main; + --gm3-sys-color-gems-main-rgb: @gm3-sys-color-gems-main-rgb; + --gm3-sys-color-gems-muted: @gm3-sys-color-gems-muted; + --gm3-sys-color-gems-muted-rgb: @gm3-sys-color-gems-muted-rgb; + --gm3-sys-color-gems-analog: @gm3-sys-color-gems-analog; + --gm3-sys-color-gems-analog-rgb: @gm3-sys-color-gems-analog-rgb; + --gm3-sys-color-gems-complement: @gm3-sys-color-gems-complement; + --gm3-sys-color-gems-complement-rgb: @gm3-sys-color-gems-complement-rgb; + --gm3-sys-color-twitter: @gm3-sys-color-twitter; + --gm3-sys-color-twitter-rgb: @gm3-sys-color-twitter-rgb; - /* how much storage is used bar */ - .O4tDGf:nth-of-type(1), - .vN9JEc:nth-of-type(1) > .ZbKZ3d { - background-color: @accent-color; - } - .O4tDGf:nth-of-type(2), - .vN9JEc:nth-of-type(2) > .ZbKZ3d { - background-color: lighten(@accent-color, 15%); - } - .yVr0Vb { - background-color: @overlay0; - } /* google 1 more storage border */ .BZXMjd.mPxwXe { - background-image: conic-gradient(@surface0, @surface0), + background-image: conic-gradient( - from 2deg, - @peach 0deg, - @peach 90deg, - @green 90deg, - @green 180deg, - @blue 180deg, - @blue 270deg, - @red 270deg, - @red 1turn + var(--gm3-sys-color-background), + var(--gm3-sys-color-background) ), - linear-gradient(@surface2, @surface2); - } - /* review and delete */ - .nfTM4e, - .UKzvpf .ASWyTc, - .TTlRAe .oevqcc { - color: @text; - } - .UKzvpf .YvjW7c { - color: @subtext0; - } - .UKzvpf:not(:last-child) .e0CX4d::after { - background-color: @overlay0; - } - .KVhwqd .TTlRAe .e0CX4d, - .TTlRAe:not(:last-child) .e0CX4d { - border-color: @overlay0; - } - - /* photo editing sidebar */ - .gmtNPe { - background-color: @surface0; - } - .bYXAhf, - .hGASzd, - .YFLDdf, - .QEQULc { - color: @text; - } - .dm7YTc .kDryjd:disabled { - color: fade(@text, 35%); - background-color: fade(@base, 40%); - } - .ALaST { - border-color: @surface0; - } - /* cropping tol */ - .j1AIcc { - background-color: @surface0; - } - .TERVqe { - background-color: @mantle; - } - /* effect sliders */ - .dm7YTc .fEUJ5b .dCWhBf, - .dm7YTc .fEUJ5b .R4GWv, - .dm7YTc .fEUJ5b.qoCZef .dCWhBf, - .dm7YTc .fEUJ5b.qoCZef .R4GWv, - .dm7YTc .fEUJ5b.qs41qe .dCWhBf, - .dm7YTc .fEUJ5b.qs41qe .R4GWv, - .dm7YTc .fEUJ5b .bBKqme { - background-color: @accent-color; - } - /* filters tool */ - .XlI4Ne { - color: @text; - } - /* pen tool */ - .W3FYdb { - background-color: @surface0; - } - /* photo info */ - .Q77Pt { - background-color: @base; - } - .WUbige { - color: @text; - } - .wiOkb, - .R9U8ab, - .x1LMef { - color: @text; - } - .JzSi2b, - .oBMhZb { - color: @subtext0; - } - .KefOhc { - border-bottom-color: @surface0; - } - /* editing date/location */ - .rrk4We:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me), - .sGhbA, - .LAL5ie .jBmls, - .VfPpkd-fmcmS-OyKIhb::after { - background-color: @surface2; - } - .oMg70c:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-NLUYnc-V67aGc, - .oMg70c:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) - .VfPpkd-NLUYnc-V67aGc-OWXEXe-TATcMc-KLRBe, - .oMg70c:not(.VfPpkd-fmcmS-yrriRe-OWXEXe-OWB6Me) .VfPpkd-fmcmS-wGMbrd, - .sGhbA, - .osOuXd:not(.VfPpkd-O1htCb-OWXEXe-OWB6Me) - .VfPpkd-NLUYnc-V67aGc-OWXEXe-TATcMc-KLRBe, - .BnQsec, - .mplJGb { - color: @text; - } - .osOuXd:not(.VfPpkd-O1htCb-OWXEXe-OWB6Me) .VfPpkd-RWgCYc-ksKsZd::after { - border-color: @accent-color; - } - .ddaf0 .qggZ5d .d1dlne::after { - background-color: @accent-color; - } - .pRVpNc { - color: @subtext0; - } - - /* unsupported videos page */ - /* video title & amount of vid selected */ - .nTuy2b, - .dSfdaf, - .rtExYb { - color: @text; - } - /* date & size of vid */ - .iKLDRc { - color: @subtext0; - } - /* selected video backgrounc */ - .s67Ibf.UYcdu { - background: fade(@accent-color, 40%); - } - - /* skipped suggestions page */ - /* suggestion background */ - .AbQ7md { - background: @surface0; - border-color: @surface2; - } - /* date of suggestion */ - .Vy0KAc { - color: @text; - } - - a { - color: @blue; - } - - .ATUW8c { - box-shadow: 0 0 0 1px var(--pkw-outline, (@surface2)) inset; + conic-gradient( + from 2deg, + @yellow 0deg, + @yellow 90deg, + @green 90deg, + @green 180deg, + @blue 180deg, + @blue 270deg, + @red 270deg, + @red 1turn + ), + linear-gradient( + var(--gm3-sys-color-outline-variant,), + var(--gm3-sys-color-outline-variant,) + ); } - // google 1 icon + // google one icon .BZXMjd.mPxwXe .oXxEid { @svg: escape( '' @@ -789,7 +517,7 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } - //google logo + // google logo .UDKXKd, .uuRyud { @svg: escape( @@ -805,7 +533,7 @@ ); background-image: url("data:image/svg+xml,@{svg}") !important; - & when (@lookup =latte) { + & when (@flavor = latte) { @svg: escape( '' ); @@ -813,14 +541,14 @@ } } - //google play install button + // google play install button .Od6mvf { @svg: escape( '' ); background-image: url("data:image/svg+xml,@{svg}") !important; - & when (@lookup =latte) { + & when (@flavor = latte) { @svg: escape( '' ); @@ -839,12 +567,12 @@ // favorites image .ryy2Zd { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml,@{svg}") !important; } - //album image + // album image .AAF8rf { @svg: escape( '' @@ -852,7 +580,7 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } - //archive image + // archive image .ZgMovb { @svg: escape( '' @@ -867,7 +595,7 @@ ); background-image: url("data:image/svg+xml,@{svg}") !important; - & when (@lookup =latte) { + & when (@flavor = latte) { @svg: escape( '' ); @@ -875,14 +603,14 @@ } } - //app download page image + // app download page image .TN5Asf { @svg: escape( '' ); background-image: url("data:image/svg+xml,@{svg}") !important; - & when (@lookup =latte) { + & when (@flavor = latte) { @svg: escape( '' ); @@ -890,13 +618,13 @@ } } - //google shield icon + // google shield icon .SAdUce { @svg: escape( '' ); background-image: url("data:image/svg+xml,@{svg}") !important; - & when (@lookup =latte) { + & when (@flavor = latte) { @svg: escape( '' ); @@ -904,7 +632,7 @@ } } - //trash icon + // trash icon .bR1LEf { @svg: escape( '' @@ -928,13 +656,8 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } } -} -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} -// vim:ft=less + a { + color: var(--gm3-sys-color-primary); + } +} diff --git a/styles/google-photos/preview.webp b/styles/google-photos/preview.webp deleted file mode 100644 index a62a540b82..0000000000 --- a/styles/google-photos/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f7715dbbe9c5f5ef6c705ce514417c976303b0ef1ae2fa26f3be3692de8f065 -size 135204 diff --git a/styles/google/README.md b/styles/google/README.md index dfe36c12fa..b3bbf1dc9e 100644 --- a/styles/google/README.md +++ b/styles/google/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [GitMuslim](https://github.com/GitMuslim) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find!   diff --git a/styles/google/catppuccin.user.css b/styles/google/catppuccin.user.less similarity index 62% rename from styles/google/catppuccin.user.css rename to styles/google/catppuccin.user.less index 9bf1bf628f..a4c80bdc5d 100644 --- a/styles/google/catppuccin.user.css +++ b/styles/google/catppuccin.user.less @@ -2,8 +2,8 @@ @name Google Catppuccin @namespace github.com/catppuccin/userstyles/styles/google @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/google -@version 0.2.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/google/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agoogle @description Soothing pastel theme for Google @author Catppuccin @@ -15,82 +15,55 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document regexp("^https?://(www\\.|images\\.)?google\\..*") -{ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp("^https?://(www\\.|images\\.)?google\\..*") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + // Unset color-scheme from `#lib.defaults()`. iframe { color-scheme: none !important; } - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - &, body { background: @base !important; --uv-styles-color-surface: @crust; --uv-styles-color-tertiary: @surface0; --uv-styles-color-secondary: fade(@blue, 25%); + --uv-styles-color-primary: @base; + --uv-styles-color-on-primary: @blue; --uv-styles-color-text-primary: @blue; --uv-styles-color-icon-default: @text; --uv-styles-color-text-emphasis: @text; --uv-styles-color-icon-on-secondary: @subtext0; --uv-styles-color-on-tertiary: @text; --uv-styles-color-icon-on-tertiary: @text; + --uv-styles-color-scrim: fade(@crust, 75%); + --uv-styles-color-on-scrim: @text; + --uv-styles-color-icon-on-scrim: @text; --xhUGwc: @base; --bbQxAb: @text; --IXoxUe: @subtext0; --COEmY: @text; --YLNNHc: @text; + --JKqx2: @blue; --gS5jXb: @surface0; + --mXZkqc: @surface0; --EpFNW: @mantle; + --XKMDxc: @mantle; + --TSWZIb: @mantle; --tefdc5886c2f04483: @text; --te8f1ea4d4928be48: @text !important; --ta884a309a24f44f4: @subtext0 !important; @@ -100,7 +73,7 @@ --t7d1a3050c2c1c0a5: @text !important; --t6a0469853a1a02c1: @text !important; --t5feec22832a0fdd6: @surface0 !important; - --t342c96645d13ae13: @accent-color !important; + --t342c96645d13ae13: @accent !important; --t6c7325fca9d536d4: @text !important; --tf7148cf5018d5074: @text !important; --t9ab8d922307d428d: @text; @@ -108,6 +81,9 @@ --tc9db399ed82142e1: @green !important; --uv-styles-color-text-default: @subtext0 !important; --uv-styles-color-review-stars: @yellow !important; + --gm3-sys-color-primary: @surface0; + --gm3-sys-color-on-primary: @blue; + --Nsm0ce: @blue; } /* header background */ @@ -140,10 +116,10 @@ } .VfPpkd-StrnGf-rymPhb-f7MjDc, .VfPpkd-qPzbhe-JNdkSc-Bz112c { - color: @accent-color !important; + color: @accent !important; } .EL3pcf { - color: @accent-color !important; + color: @accent !important; } .bVfPpkd-StrnGf-rymPhb, .DMZ54e { @@ -169,19 +145,125 @@ background-color: @mantle !important; } .VfPpkd-cTi5dd { - color: @accent-color !important; + color: @accent !important; } /* news column thingymaboober idk what it's actually called, but it's like these columns of news headlines so yeah */ - .z7T1i, .nEklgc { background-color: @surface0; } - .rbYSKb { - color: @subtext0; + .JJZKK.Wui1sd { + border-color: @surface0; } - .FuOudf { + .rbYSKb, + .FuOudf, + .GI74Re { color: @subtext0; } + /* widgets */ + /* timer */ + .pMz3A, + .qhXOwb, + .yrvNxb .pv60Cd, + .LPl7kb .pv60Cd, + .Q7q8pf .pv60Cd { + background-color: @mantle !important; + } + + /* color picker */ + .P2c8Dd { + background-color: @base; + } + + .R9RxHd { + border-color: @surface0; + } + + /* unit converter */ + .LNn04b { + background-color: @mantle; + color: @text !important; + border-color: @surface0; + } + + .vXQmIe, + .vk_c { + color: @text !important; + border-color: @surface0 !important; + } + + .NIzGle { + background-color: @yellow; + color: @crust; + } + + /* periodic table */ + .DJ3Gm { + background-color: @peach; + color: @crust; + } + + .nA1S9d { + background-color: @mauve; + color: @crust; + } + + .qY66Od { + background-color: @blue; + color: @crust; + } + + .IJR6Te { + background-color: @sky; + color: @crust; + } + + .asrVsb { + background-color: @surface0; + } + + .VCIyZb { + background-color: @red; + color: @crust; + } + + .QRbwTb { + background-color: @teal; + color: @crust; + } + + .tASb2d { + background-color: darken(@red, 5%); + color: @crust; + } + + .Fm9Me { + background-color: @yellow; + color: @crust; + } + + .wo1y7c { + background-color: @green; + color: @crust; + } + + /* search bar right beneath websites */ + .YbqTTb, + g-flat-button.BwMo1 { + background-color: @base; + border-color: @surface0; + } + + .YbqTTb:focus { + border-color: @accent; + } + + /* some play buttons on games */ + .fxvhbc, + .pGGGle { + background-color: @accent; + color: @crust; + } + /* calculator senpai~ */ .zRQJhd { background-color: @base !important; @@ -244,6 +326,39 @@ border-color: @overlay0; } } + /* more button */ + .CybWFf { + background-color: @surface0; + } + .Lu57id { + color: @subtext0; + } + /* live sports */ + .Wrsj9b, + .ofy7ae, + .PPjCfd, + .lr-imso-fix { + background-color: @accent !important; + color: @crust !important; + } + + .liveresults-sports-immersive__match-grid-bottom-border, + .liveresults-sports-immersive__match-grid-right-border, + .YENodc { + border-color: @surface0; + } + + .liveresults-sports-immersive__match-tile:hover, + .KAIX8d:hover, + .kwbMAe { + background-color: @surface0; + } + + .imspo_mt__dt-t, + .imspo_mt__pm-infc, + .GOsQPe { + color: @text !important; + } /* knowoledge panel uwu */ .H73aad { &, @@ -295,7 +410,7 @@ } .PGbOqf { - background-color: @accent-color; + background-color: @accent; } .yAbdSd { @@ -474,6 +589,108 @@ /* End of AI search */ + /* "People also search for.." / "People also ask" section */ + .vIifob, + .p8Jhnd { + background-color: @surface0 !important; + } + + .vBnbff, + .RSWv0c.NaC7Cf, + .RSWv0c.NaC7Cf .q8U8x > div:nth-child(1) { + background-color: @surface0 !important; + color: @text !important; + } + + .DxHbyd { + background-color: @surface2 !important; + } + + .dg6jd { + color: @text !important; + } + + /* mobile ui */ + /* header background & search bar */ + .v6U7rf { + background-color: @base; + } + + .zGVn2e, + .u4frDf { + background: @surface0 !important; + } + + /* search suggestions */ + .K4VNlb, + .Sl6fgd.A7Yvie, + .Sl6fgd .zGVn2e, + .UUbT9 { + background-color: @surface0; + border-color: @surface0 !important; + } + .sb43 { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + /* text */ + .SAuUUd-z5C9Gb-fmcmS, + .tJaMb, + .TElO2c, + .cQp1Ab { + color: @text !important; + } + + .s49v2 { + b, + span { + color: @text !important; + } + } + + .ob9lvb { + color: @subtext0; + } + + /* borders */ + .Dgr5Hb, + .GqbEwc { + border-color: @surface0 !important; + } + + #gsr { + background-color: @mantle; + } + + .Ww4FFb { + box-shadow: 0 0 0 1px @base; + } + + .Faw6Fe, + .GpOXq { + border-color: @surface0 !important; + } + + .zGVn2e, + .jh86Nb { + border-color: @surface1 !important; + } + + /* Featured snippets */ + @media (prefers-reduced-motion: no-preference) { + .c2xzTb .ILfuVd b { + background: linear-gradient( + 90deg, + fade(@accent, 30%) 50%, + #0000 50% + ) no-repeat 75% 0; + background-size: 200% 100%; + } + } + .pHiOh, a.pHiOh { color: @subtext1 !important; @@ -657,7 +874,7 @@ } .z1asCe, .ikb4Bb { - color: @text !important; + color: @subtext1 !important; } .rsGxI.Ww4FFb, .Ww4FFb { @@ -670,7 +887,8 @@ .related-question-pair div.iDjcJe { color: @text; } - .cUnQKe .ILfuVd b { + .cUnQKe .ILfuVd b, + .cUnQKe .QBI8hf b { background-color: fade(@blue, 25%); color: @text; } @@ -701,11 +919,7 @@ background-color: @surface0; } .language_list_languages.tw-ll-top::after { - background: linear-gradient( - to bottom, - rgba(red(@base), green(@base), blue(@base), 0), - rgba(red(@base), green(@base), blue(@base), 1) - ); + background: linear-gradient(to bottom, transparent, @base); } .HsZQAe { border-bottom-color: @surface2; @@ -819,6 +1033,10 @@ .YrbPuc { color: @subtext1; } + .SRfaKe, + .SRfaKe h2 { + background-color: @mantle; + } .y6CIle { background-color: @surface0; } @@ -837,6 +1055,9 @@ border-color: @surface1; background-color: @base; } + .PewBWb { + border-top-color: @surface1; + } .eadHV.Ses7yd { color: @text !important; } @@ -931,6 +1152,7 @@ .GKS7s { background: @surface0; border-color: @surface1; + box-shadow: inset 0 0 0 1px @surface2; } .GKS7s:hover { background-color: @surface1 !important; @@ -1084,9 +1306,6 @@ a:visited { color: @mauve; } - .F9Idpe { - background: linear-gradient(to right, transparent 0%, @base 60%, @base); - } .SvoXfb > .x5f7Bc { fill: @subtext0; } @@ -1183,6 +1402,7 @@ } .dG2XIf { background: @base; + border-color: @surface0 !important; } .Z0LcW { color: @text; @@ -1627,7 +1847,7 @@ } .NQyKp { color: @surface0 !important; - background: @accent-color !important; + background: @accent !important; } .b0Xfjd { color: @base !important; @@ -1836,67 +2056,263 @@ .act-switch-area { background-color: @base !important; } - .q8U8x > div:nth-child(1) { - background-color: @base !important; - } .EwDHG, .vNdLpe, .vNdLpe:visited { color: @subtext0 !important; } + // "Looking for results in English?" popup + [style*="background:#1f1000;border:1px solid #502900"], + [style*="background:#feefc3;border:1px solid #fdd663"] { + background: @mantle !important; + border-color: @surface0 !important; + box-shadow: 0 2px 4px @mantle !important; + [style*="color:#bdc1c6"], + [style*="color:#202124"] { + color: @text !important; + } + } + // translate this page label + .eFM0qc.BCF2pd { + background: @base !important; + } + // expand related question icon + .aj35ze { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + // tabs + [selected].YmvwI { + color: @text; + border-bottom-color: @text; + } + .YmvwI { + color: @subtext0; + } + // search bar buttons popups + [style^="background: rgb(32, 33, 36); border: 1px solid rgb(60, 64, 67);"] { + background: @mantle !important; + border-color: @overlay0 !important; + box-shadow: @mantle 1px 2px 4px !important; + color: @text !important; + [style^="border-style: solid;"] { + border-color: @overlay0 transparent !important; + } + } + // google apps button + .gb_F .gb_E, + .gb_F .gb_D { + fill: @text; + } + // translate popup + .t4wgMc { + background: @mantle; + } + .ELfqBe:hover, + .ELfqBe:focus { + background: @surface0; + } + .JFeuTc { + color: @text; + } + // skip to content + .S6VXfe { + background: @base; + } + // selected image + .qyKxnc.FnEtTd .srrRv { + background: fade(@blue, 10%); + } + // images page sticky suggestions header + .JiJthb, + .JiJthb .GKS7s:not([selected]) { + background: @mantle; + } + .JiJthb .F9Idpe.vezEod { + background: linear-gradient( + to left, + transparent 0%, + @mantle 60%, + @mantle + ); + } + + /// tv show information + // episode title + .huUgrf { + color: @blue; + } + // episode divider + .PZPZlf, .Ea7JLb { + border-color: @surface2; + } + /// season selection + // underline + .A0zxBb { + color: @text; + } + // background and border + .qFF17c { + background-color: @surface0 !important; + border-color: @surface2 !important; + } + // middle divider + .qFF17c > div { + border-color: @surface2 !important; + } + // text + .F3Istb > span { + color: @subtext1 !important; + } + // text underline + .F9SH7d { + border-color: @text !important; + } + /// watch buttons + // button + .ZkkK1e { + background-color: @surface0; + border-color: @surface1; + } + // text + .HJFlGc { + color: @text; + } + // play button + .GzErzd { + color: @blue !important; + } + + // footer logo + [style^="background:url(/images/nav_logo321.webp)"] { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + // tweets horizontal list + g-right-button, + g-left-button { + > g-fab { + background: @crust !important; + border-color: @surface0; + } + } + .vwfsqc { + .QuU3Wb { + color: @text; + } + } + // image overlays + .yUzGqc.wr8GYd { + background: fade(@crust, 75%); + color: @text; + } + // google lens icon hover + .ig2Tkd:hover:not(.RDPZE) { + background: fade(@mantle, 80%); + } + // image resolution + .UWuvyf { + background-color: fade(@crust, 80%); + color: @text; + } + // image hover shadow + .mkpRId.qyKxnc:hover .F0uyec { + background: fade(@crust, 5%); + box-shadow: 0 2px 12px 0 @crust; + } + // advanced search + input.jfk-textinput, + .gGbPid { + background: @base; + color: @text; + border-color: @overlay0; + } + .goog-menu { + background: @mantle; + } + .goog-menuitem-highlight, + .goog-menuitem-hover { + background: @surface0; + border-color: @surface0; + } + .goog-menuitem, + .goog-menuitem-highlight .goog-menuitem-content, + .goog-menuitem-hover .goog-menuitem-content { + color: @text; + } + .goog-flat-menu-button-hover { + border-color: @overlay2; + .goog-flat-menu-button-dropdown { + border-color: @overlay2 transparent; + } + } + .goog-flat-menu-button-dropdown { + border-color: @overlay0 transparent; + } + div.otByu div.FAcADc, + div.lFApYd, + .jfk-radiobutton-label { + color: @subtext1; + } + // knowledge panel + .Qc895c, + .Utq4Cb.PZPZlf, + .SU02Qd g-inner-card { + background-color: @surface0 !important; + } + .Qc895c div, + .Utq4Cb.PZPZlf div, + .CYJS5e { + color: @text !important; + } + .CYJS5e.W0urI, + .REySof.T9jMmf, + .b0Xfjd.Hyaw8c, + .dvfTSb.OdANFd { + background-color: @surface0 !important; + color: @text !important; + } + .CYJS5e.W0urI:hover { + background-color: @surface1 !important; + } + .gEYEQc.x5W9xd.qYvl9c.klitem, + .MJfuMd { + background-color: @base !important; + border-color: @surface1 !important; + } + .NQyKp.Hyaw8c.h4wEae.Maj6Tc { + border-color: @text !important; + } color: @subtext0; } @media (prefers-color-scheme: light) { body { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } } @media (prefers-color-scheme: dark) { body { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } } -@-moz-document regexp("^https?://(ogs\\.)?google\\..*") -{ - @media (prefers-color-scheme: light) { - body { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document regexp("^https?://(ogs\\.)?google\\..*") { + body { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - body { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + + #catppuccin(@flavor) { + #lib.palette(); .aRDKUe { .rRF0wd { @@ -2014,13 +2430,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/google/preview.webp b/styles/google/preview.webp deleted file mode 100644 index 71544556d2..0000000000 --- a/styles/google/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9a5d27a8a8bd8be4b654f7a1f865b47e768c12cc245430376b60df053687b67 -size 27950 diff --git a/styles/grabify/README.md b/styles/grabify/README.md new file mode 100644 index 0000000000..0c3a59b82c --- /dev/null +++ b/styles/grabify/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Grabify + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [trinkey](https://github.com/trinkey) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/grabify/catppuccin.user.less b/styles/grabify/catppuccin.user.less new file mode 100644 index 0000000000..781a71d3be --- /dev/null +++ b/styles/grabify/catppuccin.user.less @@ -0,0 +1,525 @@ +/* ==UserStyle== +@name Grabify Catppuccin +@namespace github.com/catppuccin/userstyles/styles/grabify +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/grabify +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/grabify/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agrabify +@description Soothing pastel theme for Grabify +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("grabify.link") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + background-color: @base; + + a { + color: @accent; + + &:hover, + &:focus { + color: darken(@accent, 5%); + } + + &[style*="color: "] { + color: @accent !important; + + &:hover, + &:focus { + color: darken(@accent, 5%) !important; + } + } + } + + hr, + .light-shaded { + background-color: @surface0; + } + + body, + strong, + article :is(h1, h2, li), + .content :is(h1, h2, h3), + .label, + .radio:hover, + .checkbox:hover, + .title, + .subtitle, + .pw-post-title, + .pw-post-body-paragraph { + color: @text; + } + + // Live support box + #wrapper ~ div:has(iframe[style*="color-scheme:light"]) { + display: none !important; + } + + .has-text-white { + color: @text !important; + } + + .has-text-white-ter { + color: @subtext1 !important; + } + + .has-text-grey, + .is-author-metadata, + figcaption, + article blockquote p { + color: @subtext0 !important; + } + + .navbar { + background-color: @crust; + border-color: @surface0; + } + + .navbar-item, + .navbar-link { + color: @text; + + &:hover, + &:focus { + color: @accent !important; + } + } + + .navbar-link:not(.is-arrowless)::after { + border-color: @accent; + } + + .navbar-dropdown { + background-color: @crust; + color: @text; + border-top-color: @surface0; + box-shadow: none; + } + + .has-gradient-bg.to-bottom-left { + background: @mantle; + } + + .landing-hero { + background: @mantle; + } + + polygon[fill="white"] { + fill: @base !important; + } + + [style*="color: red"], + [style*="color: rgb(224, 36, 36);"], + [style*="color: rgb(224, 185, 36);"], + [style="color: rgb(33, 150, 243);"] { + color: @accent !important; + } + + [style="color: rgb(44, 62, 80);"], + [style="font-style: italic; color: rgb(0, 0, 0);"] { + color: @subtext0 !important; + } + + [style="color: rgb(41, 182, 246);"] { + color: @blue !important; + } + + [style="color: rgb(0, 150, 136);"] { + color: @teal !important; + } + + [style="color: rgb(139, 195, 74);"] { + color: @green !important; + } + + .how-it-works-box { + background-color: @mantle; + box-shadow: none; + } + + [data-tooltip] { + &.has-tooltip-arrow { + &.has-tooltip-right::after { + border-right-color: @surface0; + } + + &.has-tooltip-bottom::after { + border-bottom-color: @surface0; + } + + &.has-tooltip-left::after { + border-left-color: @surface0; + } + + &.has-tooltip-top::after { + border-top-color: @surface0; + } + } + + &::before { + background-color: @surface0; + color: @text; + } + } + + [aria-label="Share Post"] path { + fill: @text; + } + + .dropdown-content { + background-color: @mantle; + + a.dropdown-item { + color: @text !important; + + &:hover { + background-color: @crust; + } + } + } + + .footer { + background-color: @mantle !important; + color: @text; + + .footer-separator { + background-color: @surface0; + } + } + + .switch[type="checkbox"] { + + label { + &::before { + background-color: @surface0; + } + + &::after { + background-color: @text; + } + } + + &:checked + label { + &::before { + background-color: @accent; + } + + &::after { + background-color: @base; + } + } + } + + .message.is-primary { + background: transparent; + + .message-header { + background-color: @mantle; + color: @text; + } + + .message-body { + background-color: @surface0; + color: @text; + } + } + + .button { + &:not(.is-ghost), + &.is-light { + border-color: @surface0; + background-color: @mantle; + + &, + strong { + color: @text; + } + + &:hover, + &.is-hovered { + background-color: @crust; + } + } + + &.is-primary, + &.is-info, + &.is-link { + background-color: @accent; + + &, + strong { + color: @crust; + } + + &:hover, + &.is-hovered { + background-color: darken(@accent, 5%); + } + } + + &.is-info.is-outlined { + border-color: @accent; + background: transparent; + + &, + strong { + color: @text; + } + + &:hover, + &.is-hovered { + color: @accent; + } + } + + &.is-danger { + background-color: @red; + + &, + strong { + color: @crust; + } + + &:hover, + &.is-hovered { + background-color: darken(@red, 5%); + } + } + } + + .input { + background-color: @mantle; + box-shadow: none; + border-color: @surface0; + color: @text; + } + + .card { + background-color: @mantle; + color: @text; + border-color: @surface0; + + .card__description, + .card__title, + .card__website { + color: @text; + } + + .card__image { + border-bottom-color: @surface0; + } + } + + .box { + box-shadow: none; + color: @text; + background-color: @mantle !important; + border-color: @surface0 !important; + } + + .table { + background-color: @mantle; + + &.is-hoverable tbody tr:hover, + &.is-striped tbody tr:nth-child(2n) { + background-color: @crust !important; + } + + .sortable th[data-sorted] { + &:hover { + background-color: @crust; + color: @text; + } + + &::after { + color: @text; + } + } + + th, + td { + border-color: @surface0; + color: @text; + + &[style*="color:"] { + color: @subtext0 !important; + } + } + } + + .log-table { + :is(.is-table-date, .is-table-ip, .is-table-country) div:nth-child(2), + .is-table-referrer .is-no-referrer { + color: @subtext0; + } + } + + .notification { + &.is-success { + background-color: @green; + } + + &.is-warning { + background-color: @yellow; + } + + &.is-danger { + background-color: @red; + } + + &, + strong { + color: @crust; + } + } + + #ab { + // Ad block detection modal + .css1.css2, + .ab_footer { + background-color: @base !important; + box-shadow: 0 2px 12px 0 fade(@crust, 20%); + } + + [style*="color: rgb(44, 62, 80)"] { + color: @text !important; + } + } + + #ab, + .modal-background { + background-color: fade(@crust, 65%) !important; + } + + .modal-card-head, + .modal-card-body, + .modal-card-foot { + background-color: @base; + border-color: @surface0; + } + + .modal-card-title { + color: @text; + } + + .delete { + &::before, + &::after { + background-color: @text; + } + } + + #root .app { + // Ad block disable instructions + [style="color: rgb(0, 0, 0);"] { + color: @text !important; + } + + .btn { + background-color: @accent; + + &[style="background-color: rgb(23, 188, 156);"] { + background-color: @accent !important; + } + + [style="color: rgb(255, 255, 255);"] { + color: @mantle !important; + } + + &.btn-outline { + background: @crust; + box-shadow: inset 0 0 0 1px + @surface0; // the outline property exists for a reason... + } + } + + .blockers { + .blocker.selected, + .blocker:hover { + background-color: @mantle; + } + + .arrow-icon path { + fill: @text !important; + } + } + } + + .select { + &:not(.is-multiple, .is-loading)::after { + border-color: @text; + } + + select { + background-color: @mantle; + border-color: @surface0; + color: @text; + + &:focus { + box-shadow: 0 0 0 0.125em @surface0; // once again, just use outline + } + } + } + + img[src$="images/grabify.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + img[src$="images/grabify-inverted.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + img[src$="images/homepage/2.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + img[src$="images/homepage/4.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + img[src$="images/homepage/5.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .is-world-background { + @svg: escape( + 'includes kosovo' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } +} diff --git a/styles/graphite/README.md b/styles/graphite/README.md index f9628fdd3b..d981268960 100644 --- a/styles/graphite/README.md +++ b/styles/graphite/README.md @@ -4,24 +4,25 @@

Logo
- Catppuccin for Graphite + Catppuccin for Graphite

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [Isabel](https://github.com/isabelroses) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! +## ๐Ÿ’– Past Maintainer +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/graphite/catppuccin.user.css b/styles/graphite/catppuccin.user.css deleted file mode 100644 index 9f058cfd0a..0000000000 --- a/styles/graphite/catppuccin.user.css +++ /dev/null @@ -1,112 +0,0 @@ -/* ==UserStyle== -@name Graphite Catppuccin -@namespace github.com/catppuccin/userstyles/styles/graphite -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/graphite -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/graphite/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agraphite -@description Soothing pastel theme for Graphite -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('app.graphite.dev') { - :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - - #createset(@color, @type) { - --color-@{type}-default: @color; - --color-@{type}-lowest-contrast: darken(@color, 60%); - --color-@{type}-low-contrast: @color; - --color-@{type}-high-contrast: @color; - --color-@{type}-highest-contrast: lighten(@color, 10%); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-bg-light: @base; - --color-bg-med: @mantle; - --color-bg-dark: @crust; - - --text-color-light: @crust; // this means on a light background - --text-color-default: @text; - --text-color-low-contrast: @text; - --text-color-high-contrast: @text; - --text-color-disabled: @subtext0; - - --btn-color-neutral-selected: @surface0; - --btn-color-neutral-default: @surface0; - --btn-color-neutral-hover: @surface0; - - --icon-color-default: @text; - - --border-color-default: @surface1; - - --color-gray-60: @surface0; - - #createset(@accent-color, emphasis); - #createset(@green, positive); - #createset(@peach, caution); - #createset(@red, negative); - #createset(@mauve, action); - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/graphite/catppuccin.user.less b/styles/graphite/catppuccin.user.less new file mode 100644 index 0000000000..2c57f2f94a --- /dev/null +++ b/styles/graphite/catppuccin.user.less @@ -0,0 +1,66 @@ +/* ==UserStyle== +@name Graphite Catppuccin +@namespace github.com/catppuccin/userstyles/styles/graphite +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/graphite +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/graphite/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agraphite +@description Soothing pastel theme for Graphite +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("app.graphite.com") { + :root[data-theme="light"] { + #catppuccin(@lightFlavor); + } + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + + #createset(@color, @type) { + --color-@{type}-default: @color; + --color-@{type}-lowest-contrast: darken(@color, 60%); + --color-@{type}-low-contrast: @color; + --color-@{type}-high-contrast: @color; + --color-@{type}-highest-contrast: lighten(@color, 10%); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-bg-light: @base; + --color-bg-med: @mantle; + --color-bg-dark: @crust; + + --text-color-light: @crust; // this means on a light background + --text-color-default: @text; + --text-color-low-contrast: @text; + --text-color-high-contrast: @text; + --text-color-disabled: @subtext0; + + --btn-color-neutral-selected: @surface0; + --btn-color-neutral-default: @surface0; + --btn-color-neutral-hover: @surface0; + + --icon-color-default: @text; + + --border-color-default: @surface1; + + --color-gray-60: @surface0; + + #createset(@accent, emphasis); + #createset(@green, positive); + #createset(@peach, caution); + #createset(@red, negative); + #createset(@mauve, action); + } +} diff --git a/styles/graphite/preview.webp b/styles/graphite/preview.webp deleted file mode 100644 index 3306c236a8..0000000000 --- a/styles/graphite/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64f5f46b519869ffeb4d8b2c9795c8553d2264e599e695920b6ccea2b16903d3 -size 404700 diff --git a/styles/hackage/README.md b/styles/hackage/README.md index a87fafc083..e552adc2d5 100644 --- a/styles/hackage/README.md +++ b/styles/hackage/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Sena](https://github.com/jn-sena) +- [jn-sena](https://github.com/jn-sena)   diff --git a/styles/hackage/catppuccin.user.css b/styles/hackage/catppuccin.user.less similarity index 64% rename from styles/hackage/catppuccin.user.css rename to styles/hackage/catppuccin.user.less index 2a6a978e15..b6c6e9595d 100644 --- a/styles/hackage/catppuccin.user.css +++ b/styles/hackage/catppuccin.user.less @@ -2,8 +2,8 @@ @name Hackage Catppuccin @namespace github.com/catppuccin/userstyles/styles/hackage @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hackage -@version 0.1.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hackage/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hackage/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahackage @description Soothing pastel theme for Hackage @author Catppuccin @@ -15,59 +15,22 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain("hackage.haskell.org") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("hackage.haskell.org"), + domain("hackage-content.haskell.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); &, body { @@ -80,10 +43,10 @@ } a[href]:link { - color: @accent-color; + color: @accent; } a[href]:visited { - color: average(@overlay2, @accent-color); + color: average(@overlay2, @accent); } a[href].def:link, @@ -94,6 +57,15 @@ color: average(@overlay2, @subtext0); } + button { + background-color: @mantle; + color: @text; + + &:hover { + background-color: @crust; + } + } + .caption, h1, h2, @@ -101,15 +73,21 @@ h4, h5, h6, - summary { - color: overlay(@accent-color, @surface0); + summary, + .section1, + .section2, + .section3, + .section4, + .section5, + .section6 { + color: @text; filter: none; } .collapser::before, .expander::before, .noexpander::before { - color: @accent-color; + color: @accent; } pre { @@ -119,11 +97,25 @@ blockquote { background-color: @surface0; - border-color: @accent-color; + border-color: @accent; } - .src { + .src, + .decl, + .declname, + .declbut, + .topdecl, + .arg, + .inline-code { background-color: @mantle; + color: @text; + } + + .declbut { + border-color: @overlay0 !important; + a { + color: @overlay2 !important; + } } /* @@ -132,9 +124,9 @@ #page-header, #package-header { - background-color: @accent-color; + background-color: @accent; color: @surface1; - border-color: shade(@accent-color, 25%); + border-color: shade(@accent, 25%); } #page-header .caption, @@ -144,8 +136,9 @@ color: @base !important; } - #module-header .caption { - color: @accent-color; + #module-header .caption, + .modulebar { + color: @accent; border-color: @surface1; } @@ -179,6 +172,31 @@ button { color: @base; } + + button { + background-color: transparent; + } + } + + .topbar { + background-color: @accent; + + .topbut { + border-color: @overlay0; + + a { + background-color: transparent; + color: @base; + } + } + .title { + color: @base; + } + } + + .botbar { + background-color: @crust; + color: @text; } /* @@ -225,7 +243,7 @@ */ .embedded-author-content { - border-color: @accent-color; + border-color: @accent; } /* @@ -236,14 +254,23 @@ background-color: @mantle; } - #table-of-contents { + h2#table-of-contents { + background-color: @mantle; + color: @text; + } + + div#table-of-contents { background-color: @base; border-color: @surface1; } #synopsis { - summary { - color: transparent; + summary, + #control\.syn { + @svg: escape( + 'SynopsisSynopsis' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; } ul { @@ -269,14 +296,14 @@ #search-form { input { - border-color: @accent-color; + border-color: @accent; } } #search-results { - border-color: @accent-color; + border-color: @accent; - & > ul > li { + > ul > li { border-bottom-color: @overlay0; } } @@ -295,7 +322,7 @@ } .keyboard-shortcuts th { - color: @accent-color; + color: @accent; } .key { @@ -313,13 +340,13 @@ border-color: @surface0; button { - background-color: @accent-color; + background-color: @accent; color: @mantle; border-color: @surface2; &:hover, &:active { - background-color: @accent-color; + background-color: @accent; color: @mantle; } } @@ -366,6 +393,11 @@ } } + .infohead, + .infoval { + color: @subtext1; + } + div#table_length.dataTables_length, div#table_filter.dataTables_filter { color: @text; @@ -387,8 +419,10 @@ #interface { .src { - .selflink .link { - color: @overlay2; + .link, + .selflink { + color: @overlay2 !important; + background-color: transparent !important; } } p.src .link { @@ -421,26 +455,29 @@ &[href]:link, &:link:hover { - color: @accent-color; + color: @accent; } &:visited, &:visited:hover { - color: average(@overlay2, @accent-color); + color: average(@overlay2, @accent); } &:link:hover, &:visited:hover { background-image: none; - background-color: @surface1; + background-color: @mantle; border-color: transparent; } } - .current, - .current:hover { + .current { background-image: none; - background-color: @surface0; - color: @accent-color; + background-color: @mantle; + color: @accent; border-color: transparent; + + &:hover { + background-color: @crust !important; + } } } @@ -467,6 +504,7 @@ input { background-color: @mantle; + color: @text; border-style: solid; border-color: @surface0; border-radius: 4px; @@ -487,15 +525,24 @@ } } - input[type="submit"] { - color: @text; - } - input[type="range"]:hover, input[type="submit"]:hover { background-color: @crust; } + /* + * Upload + */ + + input[type="file"] { + background-color: transparent; + + &::file-selector-button { + background-color: @mantle; + color: @text; + } + } + /* * Others */ @@ -545,11 +592,11 @@ } .text-button { - color: @accent-color; + color: @accent; } p.registration-email { - border-color: @accent-color; + border-color: @accent; } :target { @@ -590,7 +637,7 @@ .MathJax_Menu { background-color: @surface0; color: @text; - border-color: @accent-color; + border-color: @accent; box-shadow: 0 10px 20px @mantle; -webkit-box-shadow: 0 10px 20px @mantle; -moz-box-shadow: 0 10px 20px @mantle; @@ -642,59 +689,63 @@ } } - span.mathjax img when not (@lookup = latte) { - filter: invert(100%); + span.mathjax img { + filter: @text-filter; } /* * Sources */ - /* Old */ - - .hs-keyglyph, - .hs-layout { - color: @overlay2; - } - .hs-comment a { - color: @overlay0; - } - .hs-str, - .hs-chr { - color: @green; - } - - /* Modern */ - + span.definition, .hs-identifier { color: @blue; } + .hs-identifier.hs-type { color: @yellow; } + + span.keyword, .hs-keyword { color: @mauve; } + + span.str, + span.char, .hs-string, - .hs-char { + .hs-char, + .hs-str, + .hs-chr { color: @green; } + .hs-number { color: @peach; } + .hs-operator { color: @sky; } + + span.keyglyph, + span.layout, + span.conop, + .hs-keyglyph, + .hs-layout, .hs-glyph, .hs-special { color: @overlay2; } - .hs-comment { + + span.comment, + .hs-comment, + .hs-comment a { color: @overlay0; } - .hs-pragma { - color: @pink; - } + + span.cpp, + .hs-pragma, .hs-cpp { color: @pink; } @@ -719,18 +770,8 @@ span.annottext { background-color: @surface0; - border-color: @accent-color; + border-color: @accent; } } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/hackage/preview.webp b/styles/hackage/preview.webp deleted file mode 100644 index bc314f5f2e..0000000000 --- a/styles/hackage/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5dec0982b163ed9e51647b4c3d2cd1d0bc747a39d565bf8bf4215f931c15a3f -size 104186 diff --git a/styles/hacker-news/README.md b/styles/hacker-news/README.md index 00a898d5fa..43df843788 100644 --- a/styles/hacker-news/README.md +++ b/styles/hacker-news/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Lucas Melin](https://github.com/lucasmelin) +- [lucasmelin](https://github.com/lucasmelin)   diff --git a/styles/hacker-news/catppuccin.user.css b/styles/hacker-news/catppuccin.user.css deleted file mode 100644 index 25a2890468..0000000000 --- a/styles/hacker-news/catppuccin.user.css +++ /dev/null @@ -1,195 +0,0 @@ -/* ==UserStyle== -@name Hacker News Catppuccin -@namespace github.com/catppuccin/userstyles/styles/hacker-news -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hacker-news -@version 1.0.0 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hacker-news/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahacker-news -@description Soothing pastel theme for Hacker News -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("news.ycombinator.com") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @orange: mix(@peach, @yellow); - - [bgcolor="#fafaf0"], - [bgcolor="#f6f6ef"] { - background-color: @base; - } - body { - background-color: @mantle; - } - - td { - color: @text; - } - - /* Header */ - td[bgcolor="#ff6600"] { - background-color: @orange; - - .pagetop, - .pagetop a { - color: @crust !important; - } - - img[src="y18.svg"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - border-color: @crust !important; - } - - [color="#ffffff"] { - color: @crust; - } - } - - td[bgcolor="#ffffaa"] { - background-color: @yellow; - - td { - color: @crust; - } - } - - .subtext, - .comhead { - &, - a:link, - a:visited { - color: @overlay2; - } - } - - a:link { - color: @blue; - } - .hnmore a:link, - a:visited { - color: @lavender; - } - - [color="#3c963c"] { - color: @green; - } - - /* Story points */ - .score { - color: @subtext0; - } - - /* Story ranking number */ - .title { - color: @lavender; - } - - /* Comment text */ - .commtext { - color: @text; - } - - /* Comment hyperlinks */ - .commtext a:link { - color: @sapphire; - } - - /* Comment box */ - input, - textarea, - select { - background-color: @mantle; - color: @text; - border-width: 1px; - border-style: solid; - border-color: @surface0; - border-radius: 2px; - } - - input { - padding: 2px; - } - - /* Poll questions */ - td.comment > div > font { - color: @text; - } - - /* Text post content */ - .toptext { - color: @text; - } - - .votearrow { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .yclinks { - color: @surface2; - } - - b { - color: @text; - } - - table[bgcolor="#ff6600"] { - background-color: @orange; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/hacker-news/catppuccin.user.less b/styles/hacker-news/catppuccin.user.less new file mode 100644 index 0000000000..b5e70980dd --- /dev/null +++ b/styles/hacker-news/catppuccin.user.less @@ -0,0 +1,162 @@ +/* ==UserStyle== +@name Hacker News Catppuccin +@namespace github.com/catppuccin/userstyles/styles/hacker-news +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hacker-news +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hacker-news/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahacker-news +@description Soothing pastel theme for Hacker News +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("news.ycombinator.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + [bgcolor="#fafaf0"], + [bgcolor="#f6f6ef"] { + background-color: @base; + } + body { + background-color: @mantle; + color: @text; + } + + td { + color: @text; + } + + /* Header */ + td[bgcolor="#ff6600"] { + background-color: @accent; + + .pagetop, + .pagetop a { + color: @crust !important; + } + + img[src="y18.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + border-color: @crust !important; + } + + [color="#ffffff"] { + color: @crust; + } + } + + td[bgcolor="#ffffaa"] { + background-color: @yellow; + + td { + color: @crust; + } + } + + .subtext, + .comhead { + &, + a:link, + a:visited, + a:hover { + color: @overlay2 !important; + } + } + + a:link { + color: @blue; + &:hover { + color: @sky; + } + } + .hnmore a:link, + a:visited { + color: @lavender; + } + + [color="#3c963c"] { + color: @green; + } + + /* Story points */ + .score { + color: @subtext0; + } + + /* Story ranking number */ + .title { + color: @lavender; + } + + /* Comment text */ + .commtext { + color: @text; + } + + /* Comment box */ + input, + textarea, + select { + background-color: @mantle; + color: @text; + border-width: 1px; + border-style: solid; + border-color: @surface0; + border-radius: 2px; + } + + input { + padding: 2px; + } + + /* Poll questions */ + td.comment > div > font { + color: @text; + } + + /* Text post content */ + .toptext { + color: @text; + } + + .votearrow { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .yclinks { + color: @surface2; + } + + b { + color: @text; + } + + table[bgcolor="#ff6600"] { + background-color: @accent; + } + } +} diff --git a/styles/hacker-news/preview.webp b/styles/hacker-news/preview.webp deleted file mode 100644 index 34db2b8c3a..0000000000 --- a/styles/hacker-news/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b799861b5dac0506cca04cf57b06c907acb9b9e28864324466e15aeed6e26a8 -size 414436 diff --git a/styles/have-i-been-pwned/README.md b/styles/have-i-been-pwned/README.md new file mode 100644 index 0000000000..7cb23cc027 --- /dev/null +++ b/styles/have-i-been-pwned/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Have I Been Pwned + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [trinkey](https://github.com/trinkey) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/have-i-been-pwned/catppuccin.user.less b/styles/have-i-been-pwned/catppuccin.user.less new file mode 100644 index 0000000000..1b38f32497 --- /dev/null +++ b/styles/have-i-been-pwned/catppuccin.user.less @@ -0,0 +1,414 @@ +/* ==UserStyle== +@name Have I Been Pwned Catppuccin +@namespace github.com/catppuccin/userstyles/styles/have-i-been-pwned +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/have-i-been-pwned +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/have-i-been-pwned/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahave-i-been-pwned +@description Soothing pastel theme for Have I Been Pwned +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("haveibeenpwned.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + color: @text; + } + + hr { + border-color: @surface0; + } + + a { + &, + &:hover, + &:focus { + color: @text; + border-bottom-color: @surface2; + } + + &:hover { + background-color: fade(@accent, 30%); + } + } + + img.pwnLogo.large.modalLogo { + filter: @text-filter; + } + + .bodyGradient { + color: @text; + } + + .modal-header { + background: @crust; + + .close { + color: @text; + } + } + + .fa-loader, + .loaderText { + color: @text; + } + + #postNotificationCallsToAction { + .btn { + background-color: @crust; + color: @text; + } + + a.socialLink { + &, + &:link, + &:visited { + color: @text; + } + } + } + + .modal-content { + background-color: @base; + border-color: @surface0; + } + + .main { + background-color: @mantle; + color: @text; + } + + .main-logo .logo { + border-color: @accent; + background-color: fade(@accent, 30%); + } + + .pwnedCompanyList { + a, + a:hover { + color: @text; + border-bottom-color: @surface2; + } + + td { + color: @subtext0; + } + } + + footer { + a, + p { + color: @subtext0; + } + } + + .unverified { + &, + a { + color: darken(@red, 50%) !important; + border-bottom-color: darken(@red, 50%) !important; + } + } + + .navbar-inverse { + border-color: @surface0; + background-color: @crust; + + .navbar-toggle { + border-color: @surface0; + + &:hover, + &:focus { + background-color: @surface0; + } + + .icon-bar { + background-color: @text; + } + } + + .navbar-brand { + color: @text; + border-color: @text !important; + } + + li.active > a { + &, + &:hover, + &:focus { + color: @text; + background-color: @crust; + } + } + + li > a { + color: @subtext0; + + &:hover, + &:focus { + color: @text; + } + } + } + + img.pwnLogo { + &[src$="/List.png"], + &[src$="/Email.png"] { + filter: @text-filter; + } + } + + .form-control { + background-color: @crust; + color: @text; + border-color: @surface0 !important; + + &:focus { + box-shadow: 0 0 8px fade(@accent, 30%); + } + } + + .btn-primary { + color: @text; + background-color: @crust; + border-color: @surface0 !important; + + &:hover { + background-color: fade(@accent, 30%); + } + } + + .btn-success { + background-color: @green; + color: @base; + border-color: @surface0; + } + + .progress-bar { + background-color: @accent; + } + + .form-group .termsOfUse { + background-color: @base; + } + + .termsOfUse { + background-color: @mantle; + + &, + a { + color: @subtext0; + border-bottom-color: @surface2; + } + } + + .secondaryHeader { + background-color: @mantle; + } + + .sensitive { + color: @yellow; + } + + .sensitive-fade { + color: @subtext0; + } + + .panel-primary { + border-color: @surface0; + + > .panel-heading, + > .panel-footer { + color: @text; + border-color: @surface0; + background-color: @mantle; + } + } + + #noPwnage { + background: @green; + + a.socialLink { + color: @base !important; + } + } + + #invalidAccount { + background: @yellow; + } + + #pwnedWebsitesContainer { + hr { + border-color: @surface0; + } + + > .pwnedRow { + background: @red; + + .pwnedWebsite { + color: @base; + + a { + color: @base; + border-bottom-color: @base; + + &:hover { + background-color: transparent !important; + } + } + } + } + + a.socialLink { + color: @base !important; + } + } + + .pwnResultBanner { + color: @base; + + a { + color: @base; + border-bottom-color: @base !important; + + &:hover { + background-color: transparent !important; + } + } + } + + #Cloudflare img { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + pre, + code { + background-color: @mantle; + color: @text; + border-color: @surface0; + } + + thead tr { + border-color: @surface0; + } + + .bitcoinAddress { + background-color: @mantle; + color: @text; + } + + .bg-info { + background-color: @mantle; + color: @text; + } + + .subscriptions { + .rpm10 { + border-color: @teal; + + h4, + h5, + .price { + background-color: @teal; + color: @base; + } + } + + .rpm50 { + border-color: @green; + + h4, + h5, + .price { + background-color: @green; + color: @base; + } + } + + .rpm100 { + border-color: @yellow; + + h4, + h5, + .price { + background-color: @yellow; + color: @base; + } + } + + .rpm500 { + border-color: @peach; + + h4, + h5, + .price { + background-color: @peach; + color: @base; + } + } + + .description { + color: @text; + } + } + + .finePrint { + color: @text; + } + + .table-bordered { + &, + th, + td { + border-color: @surface0; + } + } + + .dropdown-menu { + background-color: @base; + + > li > a { + &:hover, + &:focus { + background-color: @mantle; + } + } + } + + @media (min-width: 768px) { + ul.nav li.dropdown:hover { + background-color: @base; + } + } + + @media (max-width: 480px) { + #searchContainer { + background-color: @mantle; + } + } + } +} diff --git a/styles/holodex/README.md b/styles/holodex/README.md index ad150af868..6d94380bc2 100644 --- a/styles/holodex/README.md +++ b/styles/holodex/README.md @@ -10,18 +10,15 @@

- -

- -

- +

## Usage -> [!NOTE] -> Holodex's selected theme is ignored. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> Holodex's selected theme is ignored. ## ๐Ÿ’ Current Maintainer - [Guaxinim5573](https://github.com/Guaxinim5573) diff --git a/styles/holodex/catppuccin.user.css b/styles/holodex/catppuccin.user.css deleted file mode 100644 index 310683c0b3..0000000000 --- a/styles/holodex/catppuccin.user.css +++ /dev/null @@ -1,275 +0,0 @@ -/* ==UserStyle== -@name Holodex Catppuccin -@namespace github.com/catppuccin/userstyles/styles/holodex -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/holodex -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/holodex/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aholodex -@description Soothing pastel theme for Holodex -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('holodex.net') { - :root:has(.theme--dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - :root:has(.theme--light) { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --v-anchor-base: @accent-color; - --v-primary-base: @accent-color; - --v-primary-lighten1: lighten(@accent-color, 4%); - --v-primary-lighten2: lighten(@accent-color, 8%); - --v-primary-lighten3: lighten(@accent-color, 9%); - --v-primary-lighten4: lighten(@accent-color, 18%); - --v-primary-lighten5: lighten(@accent-color, 19%); - --v-primary-darken1: darken(@accent-color, 14%); - --v-primary-darken2: darken(@accent-color, 31%); - --v-primary-darken3: darken(@accent-color, 35%); - --v-primary-darken4: darken(@accent-color, 43%); - - --v-accent-base: @accent-color; - --v-accent-lighten1: lighten(@accent-color, 4%); - --v-accent-lighten2: lighten(@accent-color, 8%); - --v-accent-lighten3: lighten(@accent-color, 9%); - --v-accent-lighten4: lighten(@accent-color, 18%); - --v-accent-lighten5: lighten(@accent-color, 19%); - --v-accent-darken1: darken(@accent-color, 14%); - --v-accent-darken2: darken(@accent-color, 31%); - --v-accent-darken3: darken(@accent-color, 35%); - --v-accent-darken4: darken(@accent-color, 43%); - - --v-secondary-base: @accent-color; - --v-secondary-lighten1: lighten(@accent-color, 4%); - --v-secondary-lighten2: lighten(@accent-color, 8%); - --v-secondary-lighten3: lighten(@accent-color, 9%); - --v-secondary-lighten4: lighten(@accent-color, 18%); - --v-secondary-lighten5: lighten(@accent-color, 19%); - --v-secondary-darken1: darken(@accent-color, 14%); - --v-secondary-darken2: darken(@accent-color, 31%); - --v-secondary-darken3: darken(@accent-color, 35%); - --v-secondary-darken4: darken(@accent-color, 43%); - - --v-error-base: @red; - --v-error-lighten1: lighten(@red, 4%); - --v-error-lighten2: lighten(@red, 8%); - --v-error-lighten3: lighten(@red, 9%); - --v-error-lighten4: lighten(@red, 18%); - --v-error-lighten5: lighten(@red, 19%); - --v-error-darken1: darken(@red, 14%); - --v-error-darken2: darken(@red, 31%); - --v-error-darken3: darken(@red, 35%); - --v-error-darken4: darken(@red, 43%); - - --v-info-base: @blue; - --v-info-lighten1: lighten(@blue, 4%); - --v-info-lighten2: lighten(@blue, 8%); - --v-info-lighten3: lighten(@blue, 9%); - --v-info-lighten4: lighten(@blue, 18%); - --v-info-lighten5: lighten(@blue, 19%); - --v-info-darken1: darken(@blue, 14%); - --v-info-darken2: darken(@blue, 31%); - --v-info-darken3: darken(@blue, 35%); - --v-info-darken4: darken(@blue, 43%); - - --v-success-base: @green; - --v-success-lighten1: lighten(@green, 4%); - --v-success-lighten2: lighten(@green, 8%); - --v-success-lighten3: lighten(@green, 9%); - --v-success-lighten4: lighten(@green, 18%); - --v-success-lighten5: lighten(@green, 19%); - --v-success-darken1: darken(@green, 14%); - --v-success-darken2: darken(@green, 31%); - --v-success-darken3: darken(@green, 35%); - --v-success-darken4: darken(@green, 43%); - - --v-warning-base: @yellow; - --v-warning-lighten1: lighten(@yellow, 4%); - --v-warning-lighten2: lighten(@yellow, 8%); - --v-warning-lighten3: lighten(@yellow, 9%); - --v-warning-lighten4: lighten(@yellow, 18%); - --v-warning-lighten5: lighten(@yellow, 19%); - --v-warning-darken1: darken(@yellow, 14%); - --v-warning-darken2: darken(@yellow, 31%); - --v-warning-darken3: darken(@yellow, 35%); - --v-warning-darken4: darken(@yellow, 43%); - - --v-background-base: @base; - --v-background-lighten1: lighten(@base, 4%); - --v-background-lighten2: lighten(@base, 8%); - --v-background-lighten3: lighten(@base, 9%); - --v-background-lighten4: lighten(@base, 18%); - --v-background-lighten5: lighten(@base, 19%); - --v-background-darken1: darken(@base, 14%); - --v-background-darken2: darken(@base, 31%); - --v-background-darken3: darken(@base, 35%); - --v-background-darken4: darken(@base, 43%); - - div.v-application { - background: @base !important; - color: @text; - } - - header#top-bar, - header.v-toolbar, - div.v-navigation-drawer__content, - div#bottom-bar, - div.v-main__wrap > div, - div.v-select__selections, - div.v-slide-group__wrapper, - div.v-bottom-navigation, - div.v-select__slot, - div.v-input__slot, - div.v-overlay__scrim { - background: @base !important; - } - div.v-sheet { - background: @base; - border-color: @base; - } - - .v-btn.v-btn--has-bg:not(.nav-btn) { - background-color: @surface0 !important; - } - - .v-list, - .v-list-item, - .v-card, - .v-sheet, - .v-select__selections, - .v-label, - .text--secondary, - .v-input__slot input { - color: @text !important; - path:not([fill*="iid-1"]) { - fill: @text; - } - } - - .v-messages, - .v-list-item__subtitle, - .v-tab:not(.v-tab--active) { - color: @subtext0 !important; - } - - svg.logo path { - fill: darken(@accent-color, 2%) !important; - - &:last-child { - fill: darken(@blue, 8%) !important; - } - } - - .v-chip { - background: @blue; - } - - .primary--text, - .name-vtuber { - color: @accent-color !important; - } - - .text-live { - color: @red; - } - - .stream-count-chip { - color: @crust !important; - } - - .nav-btn.v-btn--active { - color: @accent-color !important; - } - - div.v-sheet.v-alert { - background: none !important; - color: @yellow !important; - - .v-icon path { - fill: @yellow !important; - } - } - - hr { - border-color: @base; - } - - // Snack - div.v-snack { - color: @text; - - div.v-sheet { - background: @surface0 !important; - } - - button.v-btn--text { - color: @text !important; - } - - button.v-btn--is-elevated.v-btn--has-bg { - background: @accent-color !important; - color: @base; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/holodex/catppuccin.user.less b/styles/holodex/catppuccin.user.less new file mode 100644 index 0000000000..8da3759e63 --- /dev/null +++ b/styles/holodex/catppuccin.user.less @@ -0,0 +1,229 @@ +/* ==UserStyle== +@name Holodex Catppuccin +@namespace github.com/catppuccin/userstyles/styles/holodex +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/holodex +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/holodex/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aholodex +@description Soothing pastel theme for Holodex +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("holodex.net") { + :root:has(.theme--dark) { + #catppuccin(@darkFlavor); + } + + :root:has(.theme--light) { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --v-anchor-base: @accent; + --v-primary-base: @accent; + --v-primary-lighten1: lighten(@accent, 4%); + --v-primary-lighten2: lighten(@accent, 8%); + --v-primary-lighten3: lighten(@accent, 9%); + --v-primary-lighten4: lighten(@accent, 18%); + --v-primary-lighten5: lighten(@accent, 19%); + --v-primary-darken1: darken(@accent, 14%); + --v-primary-darken2: darken(@accent, 31%); + --v-primary-darken3: darken(@accent, 35%); + --v-primary-darken4: darken(@accent, 43%); + + --v-accent-base: @accent; + --v-accent-lighten1: lighten(@accent, 4%); + --v-accent-lighten2: lighten(@accent, 8%); + --v-accent-lighten3: lighten(@accent, 9%); + --v-accent-lighten4: lighten(@accent, 18%); + --v-accent-lighten5: lighten(@accent, 19%); + --v-accent-darken1: darken(@accent, 14%); + --v-accent-darken2: darken(@accent, 31%); + --v-accent-darken3: darken(@accent, 35%); + --v-accent-darken4: darken(@accent, 43%); + + --v-secondary-base: @accent; + --v-secondary-lighten1: lighten(@accent, 4%); + --v-secondary-lighten2: lighten(@accent, 8%); + --v-secondary-lighten3: lighten(@accent, 9%); + --v-secondary-lighten4: lighten(@accent, 18%); + --v-secondary-lighten5: lighten(@accent, 19%); + --v-secondary-darken1: darken(@accent, 14%); + --v-secondary-darken2: darken(@accent, 31%); + --v-secondary-darken3: darken(@accent, 35%); + --v-secondary-darken4: darken(@accent, 43%); + + --v-error-base: @red; + --v-error-lighten1: lighten(@red, 4%); + --v-error-lighten2: lighten(@red, 8%); + --v-error-lighten3: lighten(@red, 9%); + --v-error-lighten4: lighten(@red, 18%); + --v-error-lighten5: lighten(@red, 19%); + --v-error-darken1: darken(@red, 14%); + --v-error-darken2: darken(@red, 31%); + --v-error-darken3: darken(@red, 35%); + --v-error-darken4: darken(@red, 43%); + + --v-info-base: @blue; + --v-info-lighten1: lighten(@blue, 4%); + --v-info-lighten2: lighten(@blue, 8%); + --v-info-lighten3: lighten(@blue, 9%); + --v-info-lighten4: lighten(@blue, 18%); + --v-info-lighten5: lighten(@blue, 19%); + --v-info-darken1: darken(@blue, 14%); + --v-info-darken2: darken(@blue, 31%); + --v-info-darken3: darken(@blue, 35%); + --v-info-darken4: darken(@blue, 43%); + + --v-success-base: @green; + --v-success-lighten1: lighten(@green, 4%); + --v-success-lighten2: lighten(@green, 8%); + --v-success-lighten3: lighten(@green, 9%); + --v-success-lighten4: lighten(@green, 18%); + --v-success-lighten5: lighten(@green, 19%); + --v-success-darken1: darken(@green, 14%); + --v-success-darken2: darken(@green, 31%); + --v-success-darken3: darken(@green, 35%); + --v-success-darken4: darken(@green, 43%); + + --v-warning-base: @yellow; + --v-warning-lighten1: lighten(@yellow, 4%); + --v-warning-lighten2: lighten(@yellow, 8%); + --v-warning-lighten3: lighten(@yellow, 9%); + --v-warning-lighten4: lighten(@yellow, 18%); + --v-warning-lighten5: lighten(@yellow, 19%); + --v-warning-darken1: darken(@yellow, 14%); + --v-warning-darken2: darken(@yellow, 31%); + --v-warning-darken3: darken(@yellow, 35%); + --v-warning-darken4: darken(@yellow, 43%); + + --v-background-base: @base; + --v-background-lighten1: lighten(@base, 4%); + --v-background-lighten2: lighten(@base, 8%); + --v-background-lighten3: lighten(@base, 9%); + --v-background-lighten4: lighten(@base, 18%); + --v-background-lighten5: lighten(@base, 19%); + --v-background-darken1: darken(@base, 14%); + --v-background-darken2: darken(@base, 31%); + --v-background-darken3: darken(@base, 35%); + --v-background-darken4: darken(@base, 43%); + + div.v-application { + background: @base !important; + color: @text; + } + + header#top-bar, + header.v-toolbar, + div.v-navigation-drawer__content, + div#bottom-bar, + div.v-main__wrap > div, + div.v-select__selections, + div.v-slide-group__wrapper, + div.v-bottom-navigation, + div.v-select__slot, + div.v-input__slot, + div.v-overlay__scrim { + background: @base !important; + } + div.v-sheet { + background: @base; + border-color: @base; + } + + .v-btn.v-btn--has-bg:not(.nav-btn) { + background-color: @surface0 !important; + } + + .v-list, + .v-list-item, + .v-card, + .v-sheet, + .v-select__selections, + .v-label, + .text--secondary, + .v-input__slot input { + color: @text !important; + path:not([fill*="iid-1"]) { + fill: @text; + } + } + + .v-messages, + .v-list-item__subtitle, + .v-tab:not(.v-tab--active) { + color: @subtext0 !important; + } + + svg.logo path { + fill: darken(@accent, 2%) !important; + + &:last-child { + fill: darken(@blue, 8%) !important; + } + } + + .v-chip { + background: @blue; + } + + .primary--text, + .name-vtuber { + color: @accent !important; + } + + .text-live { + color: @red; + } + + .stream-count-chip { + color: @crust !important; + } + + .nav-btn.v-btn--active { + color: @accent !important; + } + + div.v-sheet.v-alert { + background: none !important; + color: @yellow !important; + + .v-icon path { + fill: @yellow !important; + } + } + + hr { + border-color: @base; + } + + // Snack + div.v-snack { + color: @text; + + div.v-sheet { + background: @surface0 !important; + } + + button.v-btn--text { + color: @text !important; + } + + button.v-btn--is-elevated.v-btn--has-bg { + background: @accent !important; + color: @base; + } + } + } +} diff --git a/styles/holodex/preview.webp b/styles/holodex/preview.webp deleted file mode 100644 index a2e41667a3..0000000000 --- a/styles/holodex/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4fff48eb9bf12b06e27c656750004cf219060ce9390ca8d1996175ba1c422198 -size 1129982 diff --git a/styles/home-manager-options-search/README.md b/styles/home-manager-options-search/README.md index 06e648715a..d42143be4a 100644 --- a/styles/home-manager-options-search/README.md +++ b/styles/home-manager-options-search/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/home-manager-options-search/catppuccin.user.css b/styles/home-manager-options-search/catppuccin.user.css deleted file mode 100644 index 042ca5a5c2..0000000000 --- a/styles/home-manager-options-search/catppuccin.user.css +++ /dev/null @@ -1,198 +0,0 @@ -/* ==UserStyle== -@name Home Manager Options Search Catppuccin -@namespace github.com/catppuccin/userstyles/styles/home-manager-options-search -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/home-manager-options-search -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/home-manager-options-search/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahome-manager-options-search -@description Soothing pastel theme for Home Manager Options Search -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('home-manager-options.extranix.com') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - color: @text; - } - - header { - background-color: @mantle; - - nav.shortcuts li a { - color: @text; - - &:hover { - background-color: @surface0; - color: @text; - } - } - } - - #lastUpdateElement { - color: @text; - } - - a, - a:visited { - color: @accent-color; - } - - input, - textarea, - select { - background-color: @mantle; - color: @text; - caret-color: @text; - border-color: @surface0; - } - - .progress-bar-striped { - background-image: linear-gradient( - 45deg, - fade(@text, 40%) 25%, - transparent 25%, - transparent 50%, - fade(@text, 40%) 50%, - fade(@text, 40%) 75%, - transparent 75%, - transparent - ); - background-color: @accent-color; - color: @crust; - } - - .form-control:focus { - border-color: @accent-color; - box-shadow: - inset 0 1px 1px rgba(0, 0, 0, 0.075), - 0 0 8px @accent-color; - } - - .table-striped > tbody > tr:nth-of-type(2n + 1) { - background-color: @surface0; - } - - table#indexedOptionsTable tr td, - .table > thead > tr > th { - border-color: @surface2 !important; - } - - table tr.optrow:focus-visible, - table tr.optrow:hover { - background-color: @surface1 !important; - } - - .modal-content { - background-color: @base; - - .modal-header, - .modal-footer { - border-color: @surface0 !important; - } - - .close { - color: @text; - text-shadow: 0 1px 0 @text; - } - - pre { - color: @text; - background-color: @mantle; - border-color: @surface0; - } - } - - .btn-default { - background: @surface0; - color: @text; - text-shadow: none; - box-shadow: none; - border-color: @surface0; - - &:hover, - &:focus, - &:active, - .focus, - .active { - background-color: @surface1; - color: @text; - border-color: @surface0; - } - } - - footer { - background-color: @mantle; - color: @text; - border-color: @surface2; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/home-manager-options-search/catppuccin.user.less b/styles/home-manager-options-search/catppuccin.user.less new file mode 100644 index 0000000000..5b18cea093 --- /dev/null +++ b/styles/home-manager-options-search/catppuccin.user.less @@ -0,0 +1,148 @@ +/* ==UserStyle== +@name Home Manager Options Search Catppuccin +@namespace github.com/catppuccin/userstyles/styles/home-manager-options-search +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/home-manager-options-search +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/home-manager-options-search/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahome-manager-options-search +@description Soothing pastel theme for Home Manager Options Search +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("home-manager-options.extranix.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + color: @text; + } + + header { + background-color: @mantle; + + nav.shortcuts li a { + color: @text; + + &:hover { + background-color: @surface0; + color: @text; + } + } + } + + #lastUpdateElement { + color: @text; + } + + a, + a:visited { + color: @accent; + } + + input, + textarea, + select { + background-color: @mantle; + color: @text; + caret-color: @text; + border-color: @surface0; + } + + .progress-bar-striped { + background-image: linear-gradient( + 45deg, + fade(@text, 40%) 25%, + transparent 25%, + transparent 50%, + fade(@text, 40%) 50%, + fade(@text, 40%) 75%, + transparent 75%, + transparent + ); + background-color: @accent; + color: @crust; + } + + .form-control:focus { + border-color: @accent; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px @accent; + } + + .table-striped > tbody > tr:nth-of-type(2n+1) { + background-color: @surface0; + } + + table#indexedOptionsTable tr td, + .table > thead > tr > th { + border-color: @surface2 !important; + } + + table tr.optrow:focus-visible, + table tr.optrow:hover { + background-color: @surface1 !important; + } + + .modal-content { + background-color: @base; + + .modal-header, + .modal-footer { + border-color: @surface0 !important; + } + + .close { + color: @text; + text-shadow: 0 1px 0 @text; + } + + pre { + color: @text; + background-color: @mantle; + border-color: @surface0; + } + } + + .btn-default { + background: @surface0; + color: @text; + text-shadow: none; + box-shadow: none; + border-color: @surface0; + + &:hover, + &:focus, + &:active, + .focus, + .active { + background-color: @surface1; + color: @text; + border-color: @surface0; + } + } + + footer { + background-color: @mantle; + color: @text; + border-color: @surface2; + } + } +} diff --git a/styles/home-manager-options-search/preview.webp b/styles/home-manager-options-search/preview.webp deleted file mode 100644 index 41817c818b..0000000000 --- a/styles/home-manager-options-search/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d536058afb94b30bbc8e72bd5709834cb6afb0f8e7c57756e8a2c2e333bd2efa -size 228262 diff --git a/styles/homepage/README.md b/styles/homepage/README.md index 791e46090f..6291af83fe 100644 --- a/styles/homepage/README.md +++ b/styles/homepage/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Gandalf the Blue](https://github.com/Gandalf-the-Blue) +- [Gandalf-the-Blue](https://github.com/Gandalf-the-Blue)   diff --git a/styles/homepage/catppuccin.user.css b/styles/homepage/catppuccin.user.css deleted file mode 100644 index 36a324b284..0000000000 --- a/styles/homepage/catppuccin.user.css +++ /dev/null @@ -1,204 +0,0 @@ -/* ==UserStyle== -@name homepage Catppuccin -@namespace github.com/catppuccin/userstyles/styles/homepage -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/homepage -@version 0.0.5 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/homepage/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahomepage -@description Soothing pastel theme for homepage -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("homepage.example.com"), regexp("https?://homepage\\..*") -{ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - //Page Level Features - - :is(.dark .dark\:bg-theme-800) { - --tw-bg-opacity: 1; - background-color: @base; //background Color - } - - .dark { - --bg-color: @base; - --scrollbar-thumb: @accent-color; //ScrollBar - --scrollbar-track: @mantle; //Scrollbar base - } - - //Information Widget Features - - :is(.dark .dark\:bg-theme-200\/20) { - background-color: @overlay0 //Information Widgets Progress Bar Background -; - } - :is(.dark .dark\:bg-theme-200\/50) { - background-color: @text //Information Widgets Progress Bar Value -; - } - .border-theme-300 { - --tw-border-opacity: 1; - border-color: @surface0 !important; //Search bar Border (important is needed so top separator doesn't override) - } - :is(.dark .dark\:bg-white\/10) { - background-color: @base //Search bar background -; - } - :is(.dark .dark\:focus\:ring-white\/50:focus) { - --tw-ring-color: @text; //Search bar Focus Border - } - - :is(.dark .dark\:text-white) { - --tw-text-opacity: 1; - color: @accent-color //Search bar Text -; - } - - // Services Level Features - - :is(.dark .dark\:bg-white\/5) { - background-color: @mantle; //Box Background - } - :is(.dark .dark\:shadow-theme-900\/20) { - --tw-shadow-color: @mantle; //Box Shadows - --tw-shadow: var(--tw-shadow-colored); - } - - :is(.dark .dark\:hover\:bg-white\/10:hover) { - background-color: @surface1 //Box Hover Color -; - } - - :is(.dark .dark\:bg-theme-900\/50) { - background-color: @crust; //Ping & Docker Stats Box Background - } - :is(.dark .dark\:bg-theme-900\/20) { - background-color: @surface0; //Stats Background Color - } - - :is(.dark .dark\:bg-theme-900\/40) { - background-color: @accent-color; //Progress Bar - } - :is(.dark .dark\:text-theme-300) { - color: @text; //Section Names + Container Description - } - - // api error - .text-theme-900 { - --tw-border-opacity: 1; - color: @base; // api error text color - } - - .bg-rose-900\/80 { - --tw-border-opacity: 1; - background-color: @red; // api error box color - } - // - - :is(.dark .dark\:text-theme-400) { - --tw-border-opacity: 1; - color: @text; // update and version text - } - - .text-white { - color: @subtext1; // search bar icon - } - - :is(.dark .dark\:border-theme-200\/50) { - --tw-border-opacity: 1; - border-color: @surface2; // top separator - } - - :is(.dark .dark\:hover\:text-theme-300:hover) { - --tw-text-opacity: 1; - color: darken( - @accent-color, - 10% - ); //Section Names + Container Description Hover Color - } - :is(.dark .dark\:text-theme-200) { - --tw-text-opacity: 1; - color: @text; // Container Names + Stats - } - - .text-emerald-500\/80 { - color: lighten( - @green, - 10% - ); //Ping & Docker Status Text (Running + Healthy) - } - .text-orange-400\/50 { - color: lighten(@yellow, 10%); //Docker Status Text (Unhealthy) - } - .text-rose-500\/80 { - color: darken(@red, 10%); //Ping Status Text (Bad) - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/homepage/catppuccin.user.less b/styles/homepage/catppuccin.user.less new file mode 100644 index 0000000000..1b69d038a5 --- /dev/null +++ b/styles/homepage/catppuccin.user.less @@ -0,0 +1,152 @@ +/* ==UserStyle== +@name homepage Catppuccin +@namespace github.com/catppuccin/userstyles/styles/homepage +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/homepage +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/homepage/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahomepage +@description Soothing pastel theme for homepage +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("homepage.example.com"), + regexp("https?://homepage\\..*") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + //Page Level Features + + :is(.dark .dark\:bg-theme-800) { + --tw-bg-opacity: 1; + background-color: @base; //background Color + } + + .dark { + --bg-color: @base; + --scrollbar-thumb: @accent; //ScrollBar + --scrollbar-track: @mantle; //Scrollbar base + } + + //Information Widget Features + + :is(.dark .dark\:bg-theme-200\/20) { + background-color: @overlay0; //Information Widgets Progress Bar Background + } + :is(.dark .dark\:bg-theme-200\/50) { + background-color: @text; //Information Widgets Progress Bar Value + } + .border-theme-300 { + --tw-border-opacity: 1; + border-color: @surface0 + !important; //Search bar Border (important is needed so top separator doesn't override) + } + :is(.dark .dark\:bg-white\/10) { + background-color: @base; //Search bar background + } + :is(.dark .dark\:focus\:ring-white\/50:focus) { + --tw-ring-color: @text; //Search bar Focus Border + } + + :is(.dark .dark\:text-white) { + --tw-text-opacity: 1; + color: @accent; //Search bar Text + } + + // Services Level Features + + :is(.dark .dark\:bg-white\/5) { + background-color: @mantle; //Box Background + } + :is(.dark .dark\:shadow-theme-900\/20) { + --tw-shadow-color: @mantle; //Box Shadows + --tw-shadow: var(--tw-shadow-colored); + } + + :is(.dark .dark\:hover\:bg-white\/10:hover) { + background-color: @surface1; //Box Hover Color + } + + :is(.dark .dark\:bg-theme-900\/50) { + background-color: @crust; //Ping & Docker Stats Box Background + } + :is(.dark .dark\:bg-theme-900\/20) { + background-color: @surface0; //Stats Background Color + } + + :is(.dark .dark\:bg-theme-900\/40) { + background-color: @accent; //Progress Bar + } + :is(.dark .dark\:text-theme-300) { + color: @text; //Section Names + Container Description + } + + // api error + .text-theme-900 { + --tw-border-opacity: 1; + color: @base; // api error text color + } + + .bg-rose-900\/80 { + --tw-border-opacity: 1; + background-color: @red; // api error box color + } + // + + :is(.dark .dark\:text-theme-400) { + --tw-border-opacity: 1; + color: @text; // update and version text + } + + .text-white { + color: @subtext1; // search bar icon + } + + :is(.dark .dark\:border-theme-200\/50) { + --tw-border-opacity: 1; + border-color: @surface2; // top separator + } + + :is(.dark .dark\:hover\:text-theme-300:hover) { + --tw-text-opacity: 1; + color: darken( + @accent, + 10% + ); //Section Names + Container Description Hover Color + } + :is(.dark .dark\:text-theme-200) { + --tw-text-opacity: 1; + color: @text; // Container Names + Stats + } + + .text-emerald-500\/80 { + color: lighten( + @green, + 10% + ); //Ping & Docker Status Text (Running + Healthy) + } + .text-orange-400\/50 { + color: lighten(@yellow, 10%); //Docker Status Text (Unhealthy) + } + .text-rose-500\/80 { + color: darken(@red, 10%); //Ping Status Text (Bad) + } + } +} diff --git a/styles/homepage/preview.webp b/styles/homepage/preview.webp deleted file mode 100644 index b9ba43d2c7..0000000000 --- a/styles/homepage/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f25115113bc4f54476fe8b8040b7f0dcef61677a2ccb05066df385ce4b0cf091 -size 51490 diff --git a/styles/hoogle/README.md b/styles/hoogle/README.md new file mode 100644 index 0000000000..dd5eecb44e --- /dev/null +++ b/styles/hoogle/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Hoogle + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [jn-sena](https://github.com/jn-sena) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/hoogle/catppuccin.user.less b/styles/hoogle/catppuccin.user.less new file mode 100644 index 0000000000..0d32d24275 --- /dev/null +++ b/styles/hoogle/catppuccin.user.less @@ -0,0 +1,254 @@ +/* ==UserStyle== +@name Hoogle Catppuccin +@namespace github.com/catppuccin/userstyles/styles/hoogle +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hoogle +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hoogle/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahoogle +@description Soothing pastel theme for Hoogle +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("hoogle.haskell.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + a { + color: @accent; + + &:hover { + background-color: @surface0; + } + } + + body { + background-color: @base; + color: @text; + } + + /* + * Top + */ + + #links { + background-color: @accent; + color: @surface1; + border-color: shade(@accent, 25%); + } + + #top-menu li { + border-color: @crust; + + a, + a:visited, + a:link { + color: @base; + } + a:hover { + background-color: fade(@overlay0, 30%); + } + } + + #logo { + img { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + &:hover { + background-color: transparent; + } + } + + #hoogle, + #scope, + #submit { + background-color: @mantle; + color: @subtext1; + border-style: solid; + border-width: 2px; + border-color: @surface0; + border-radius: 4px; + } + + .chosen-container { + .chosen-drop { + background-color: @mantle; + border-color: @surface0; + } + + .chosen-single { + background-image: none; + background-color: @mantle; + box-shadow: none; + border-style: solid; + border-width: 2px; + border-color: @surface0; + color: @subtext1; + } + + .chosen-default { + color: @crust; + } + + .chosen-search input { + border-color: @surface1; + border-radius: 4px; + } + + .chosen-results { + color: @subtext1; + + li.disabled-result { + color: @overlay0; + } + + li.highlighted { + background-image: none; + background-color: @accent; + color: @base; + } + + li.no-results { + color: @subtext1; + background-color: @mantle; + } + } + } + + /* + * Left + */ + + #left { + a { + color: @accent; + } + .plus { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + color: @green; + } + .minus { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + color: @red; + } + } + + /* + * Footer + */ + + #footer { + background-color: @crust; + color: @subtext1; + border-color: @overlay0; + } + + /* + * Other + */ + + .error { + border-color: @red; + } + + #example { + background-color: @mantle; + color: @subtext1; + border-color: @surface0; + } + + /* + * Results + */ + + .result.active { + background-color: @mantle; + } + + .ans { + background-color: @mantle; + border-color: @surface0; + + a { + color: @subtext1; + } + .name { + color: @accent; + } + } + + .links a { + color: @overlay1; + } + + .from a, + .p1, + .p2 { + color: @green; + } + + .doc, + .doc a { + color: @subtext1; + } + + .open { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + .shut { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .c0 { + background-color: @rosewater; + } + .c1 { + background-color: @green; + } + .c2 { + background-color: @lavender; + } + .c3 { + background-color: @yellow; + } + .c4 { + background-color: @pink; + } + .c5 { + background-color: @teal; + } + } +} diff --git a/styles/hoppscotch/README.md b/styles/hoppscotch/README.md index c1671c52ec..f8dc6aadd6 100644 --- a/styles/hoppscotch/README.md +++ b/styles/hoppscotch/README.md @@ -4,19 +4,18 @@

Logo
- Catppuccin for Hoppscotch + Catppuccin for Hoppscotch

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/hoppscotch/catppuccin.user.css b/styles/hoppscotch/catppuccin.user.css deleted file mode 100644 index 27c53375c1..0000000000 --- a/styles/hoppscotch/catppuccin.user.css +++ /dev/null @@ -1,131 +0,0 @@ -/* ==UserStyle== -@name Hoppscotch Catppuccin -@namespace github.com/catppuccin/userstyles/styles/hoppscotch -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hoppscotch -@version 1.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hoppscotch/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahoppscotch -@description Soothing pastel theme for Hoppscotch -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("hoppscotch.io") { - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @accent-color-light-alpha: 1.1; - @accent-color-dark-alpha: 0.9; - @accent-gradient-from-color: 1.05; - @accent-gradient-via-color: 1.2; - @accent-gradient-to-color: 0.85; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --primary-color: @base; - --primary-light-color: @surface1; - --primary-dark-color: @crust; - --primary-contrast-color: @mantle; - --secondary-color: @subtext0; - --secondary-light-color: @subtext0; - --secondary-dark-color: @subtext1; - --divider-color: @overlay0; - --divider-light-color: @overlay1; - --divider-dark-color: @surface2; - --error-color: @red; - --tooltip-color: @text; - --popover-color: @crust; - --editor-theme: "vscode-esque"; - --editor-type-color: fade(@mauve, 0.9); - --editor-name-color: @blue; - --editor-operator-color: @mauve; - --editor-invalid-color: @maroon; - --editor-separator-color: @overlay0; - --editor-meta-color: @overlay0; - --editor-variable-color: @green; - --editor-link-color: @sapphire; - --editor-constant-color: fade(@lavender, 1.2); - --editor-keyword-color: @red; - --accent-color: @accent-color; - --accent-light-color: fade(@accent-color, @accent-color-light-alpha); - --accent-dark-color: fade(@accent-color, @accent-color-dark-alpha); - --accent-contrast-color: @crust; - --gradient-from-color: fade(@accent-color, @accent-gradient-from-color); - --gradient-via-color: fade(@accent-color, @accent-gradient-via-color); - --gradient-to-color: fade(@accent-color, @accent-gradient-to-color); - - --editor-process-color: @text; - - .อผ1 .cm-placeholder { - color: @text; - } - - .cm-focused .cm-activeLine { - background-color: @surface0; - } - - .cm-focused .cm-activeLineGutter { - background-color: @surface2; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/hoppscotch/catppuccin.user.less b/styles/hoppscotch/catppuccin.user.less new file mode 100644 index 0000000000..aed0de7b3d --- /dev/null +++ b/styles/hoppscotch/catppuccin.user.less @@ -0,0 +1,109 @@ +/* ==UserStyle== +@name Hoppscotch Catppuccin +@namespace github.com/catppuccin/userstyles/styles/hoppscotch +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hoppscotch +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hoppscotch/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahoppscotch +@description Soothing pastel theme for Hoppscotch +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("hoppscotch.io") { + :root.dark { + #catppuccin(@darkFlavor); + } + + :root.light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @accent-light-alpha: 1.1; + @accent-dark-alpha: 80%; + @accent-gradient-from-color: 1.05; + @accent-gradient-via-color: 1.2; + @accent-gradient-to-color: 0.85; + + --primary-color: @base; + --primary-light-color: @mantle; + --primary-dark-color: @crust; + --primary-contrast-color: @mantle; + --secondary-color: @subtext0; + --secondary-light-color: @subtext0; + --secondary-dark-color: @subtext1; + --divider-color: @surface0; + --divider-light-color: @surface0; + --divider-dark-color: @surface0; + --error-color: @red; + --tooltip-color: @text; + --popover-color: @crust; + --editor-theme: "vscode-esque"; + --editor-type-color: fade(@mauve, 90%); + --editor-name-color: @blue; + --editor-operator-color: @mauve; + --editor-invalid-color: @maroon; + --editor-separator-color: @overlay0; + --editor-meta-color: @overlay0; + --editor-variable-color: @green; + --editor-link-color: @sapphire; + --editor-constant-color: fade(@lavender, 1.2%); + --editor-keyword-color: @red; + --accent-color: @accent; + --accent-light-color: fade(@accent, @accent-light-alpha); + --accent-dark-color: fade(@accent, @accent-dark-alpha); + --accent-contrast-color: @crust; + --gradient-from-color: fade(@accent, @accent-gradient-from-color); + --gradient-via-color: fade(@accent, @accent-gradient-via-color); + --gradient-to-color: fade(@accent, @accent-gradient-to-color); + + --editor-process-color: @text; + --banner-info-color: fade(@blue, 20%); + + --method-get-color: @green; + --method-post-color: @yellow; + --method-put-color: @sapphire; + --method-patch-color: @mauve; + --method-delete-color: @red; + --method-head-color: @teal; + --method-options-color: @lavender; + --method-default-color: @overlay1; + --status-info-color: @blue; + --status-success-color: @green; + --status-redirect-color: @peach; + --status-critical-error-color: @red; + --status-server-error-color: @red; + --status-missing-data-color: @overlay0; + + .cm-editor { + background: @mantle; + + .cm-placeholder { + color: @text; + } + } + + .cm-focused .cm-activeLine { + background-color: @base; + } + + .cm-focused .cm-activeLineGutter { + background-color: @surface0; + } + + .cm-selectionBackground { + background: fade(@accent, 30%) !important; + } + } +} diff --git a/styles/hoppscotch/preview.webp b/styles/hoppscotch/preview.webp deleted file mode 100644 index 2e89fc18f6..0000000000 --- a/styles/hoppscotch/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23308b1b27eb31401d64d14d73a10641bec5d47868a1a13c9ada32476dd23300 -size 184974 diff --git a/styles/hyperpipe/README.md b/styles/hyperpipe/README.md index 40eb633806..1fe862ee85 100644 --- a/styles/hyperpipe/README.md +++ b/styles/hyperpipe/README.md @@ -4,24 +4,25 @@

Logo
- Catppuccin for Hyperpipe + Catppuccin for Hyperpipe

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [Sena](https://github.com/jn-sena) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! +## ๐Ÿ’– Past Maintainer +- [jn-sena](https://github.com/jn-sena)   diff --git a/styles/hyperpipe/catppuccin.user.css b/styles/hyperpipe/catppuccin.user.css deleted file mode 100644 index be2786475d..0000000000 --- a/styles/hyperpipe/catppuccin.user.css +++ /dev/null @@ -1,124 +0,0 @@ -/* ==UserStyle== -@name Hyperpipe Catppuccin -@namespace github.com/catppuccin/userstyles/styles/hyperpipe -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hyperpipe -@version 0.1.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hyperpipe/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahyperpipe -@description Soothing pastel theme for Hyperpipe -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("hyperpipe.surge.sh"), - domain("hyperpipe.esmailelbob.xyz"), - domain("listen.whatever.social"), - domain("music.adminforge.de"), - domain("music.pfcd.me"), - domain("listen.whateveritworks.org"), - domain("hyperpipe.frontendfriendly.xyz"), - domain("hyperpipe.drgns.space"), - domain("hyperpipe.projectsegfau.lt"), - domain("hp.ggtyler.dev"), - domain("hyperpipe.lunar.icu"), - domain("hp.iqbalrifai.eu.org"), - domain("hp.ngn.tf"), - domain("hyperpipe.ducks.party") { - @media (prefers-color-scheme: light) { - body { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - body { - #catppuccin(@darkFlavor, @accentColor); - } - } - - body[data-theme^="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - - body[data-theme^="dark"], - body[data-theme^="black"], - body[data-theme^="dracula"], - body[data-theme^="nord"] { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-foreground: @accent-color !important; - --color-background: @base !important; - --color-background-soft: @surface0 !important; - --color-background-mute: @surface1 !important; - --color-border: @surface0 !important; - --color-border-hover: @overlay0 !important; - --color-shadow: @crust !important; - --color-blur: fade(@mantle, 45%) !important; - --color-gradient: linear-gradient( - 45deg, - @accent-color, - fade(@accent-color, 45%) - ); - --color-scrollbar: @accent-color !important; - --color-heading: @text !important; - --color-text: @text !important; - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/hyperpipe/catppuccin.user.less b/styles/hyperpipe/catppuccin.user.less new file mode 100644 index 0000000000..b371086662 --- /dev/null +++ b/styles/hyperpipe/catppuccin.user.less @@ -0,0 +1,62 @@ +/* ==UserStyle== +@name Hyperpipe Catppuccin +@namespace github.com/catppuccin/userstyles/styles/hyperpipe +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/hyperpipe +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/hyperpipe/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ahyperpipe +@description Soothing pastel theme for Hyperpipe +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("hyperpipe.surge.sh") { + body { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + body[data-theme^="light"] { + #catppuccin(@lightFlavor); + } + + body[data-theme^="dark"], + body[data-theme^="black"], + body[data-theme^="dracula"], + body[data-theme^="nord"] { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-foreground: @accent !important; + --color-background: @base !important; + --color-background-soft: @surface0 !important; + --color-background-mute: @surface1 !important; + --color-border: @surface0 !important; + --color-border-hover: @overlay0 !important; + --color-shadow: @crust !important; + --color-blur: fade(@mantle, 45%) !important; + --color-gradient: linear-gradient( + 45deg, + @accent, + fade(@accent, 45%) + ); + --color-scrollbar: @accent !important; + --color-heading: @text !important; + --color-text: @text !important; + } +} diff --git a/styles/hyperpipe/preview.webp b/styles/hyperpipe/preview.webp deleted file mode 100644 index 10521827df..0000000000 --- a/styles/hyperpipe/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1afa5bea5bdc46916cee6246b8b69d0fcf53c86b01ae7e7afd45be81ddf6c38e -size 507634 diff --git a/styles/ichi.moe/README.md b/styles/ichi.moe/README.md index b7bf3d2b63..b22a224662 100644 --- a/styles/ichi.moe/README.md +++ b/styles/ichi.moe/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Ren](https://github.com/watatomo) +- [watatomo](https://github.com/watatomo)   diff --git a/styles/ichi.moe/catppuccin.user.css b/styles/ichi.moe/catppuccin.user.css deleted file mode 100644 index fa2e6d723f..0000000000 --- a/styles/ichi.moe/catppuccin.user.css +++ /dev/null @@ -1,428 +0,0 @@ -/* ==UserStyle== -@name ichi.moe Catppuccin -@namespace github.com/catppuccin/userstyles/styles/ichi.moe -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ichi.moe -@version 1.1.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ichi.moe/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aichi.moe -@description Soothing pastel theme for ichi.moe -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var checkbox zen "Zen Mode" 0 -==/UserStyle== */ - -@-moz-document domain("ichi.moe") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - html, - body { - background: @base; - color: @text; - } - - footer { - color: @subtext1; - } - - span.query-word:hover { - border-color: @pink; - } - - .panel-error { - background-color: fadeout(@red, 0.2); - } - - .highlight { - background-color: fadeout(@yellow, 0.2); - } - - .gloss { - & when (@lookup ="latte") { - background-color: @base; - border-color: @surface2; - } - background-color: @surface0; - border-color: @overlay0; - } - - .gloss-rtext { - & when (@lookup ="latte") { - border-color: @surface2; - } - border-color: @overlay0; - } - - .gloss:target { - & when (@lookup ="latte") { - box-shadow: 0 0 5px @surface2; - -webkit-box-shadow: 0 0 5px @surface2; - -moz-box-shadow: 0 0 5px @surface2; - } - box-shadow: 0 0 5px @overlay0; - -webkit-box-shadow: 0 0 5px @overlay0; - -moz-box-shadow: 0 0 5px @overlay0; - } - - a { - color: @sapphire; - } - - a.wiktionary-link { - color: @text; - } - - a.info-link { - color: @text; - } - - a.info-link:hover { - border-bottom-color: @sapphire; - } - - .note-skipped a { - color: @subtext1; - } - - .note-skipped a:hover { - border-color: @subtext1; - } - - .jspDrag { - & when (@lookup ="latte") { - background-color: @surface1; - } - background-color: @surface2; - } - - .conj-negative { - color: @red; - } - - .conj-formal { - color: @blue; - } - - .pos-desc { - color: @green; - } - - .reading-table tr:nth-of-type(2n) { - & when (@lookup ="latte") { - background: fadeout(@surface0, 0.5); - } - background: fadeout(@surface1, 0.5); - } - - table.kanji-match tr:nth-of-type(2n) { - & when (@lookup ="latte") { - background: fadeout(@surface0, 0.5); - } - background: fadeout(@surface1, 0.5); - } - - .kanji-big a { - color: @subtext1; - } - - .autocomplete-suggestions { - & when (@lookup ="latte") { - background: @base; - border-color: @surface2; - } - background: @surface0; - border-color: @overlay0; - } - - .autocomplete-selected { - & when (@lookup ="latte") { - background: @base; - } - background: @surface0; - } - - .autocomplete-suggestions strong { - color: @lavender; - } - - .autocomplete-group strong { - border-bottom-color: @text; - } - - .button { - background-color: @sapphire; - border-color: @sapphire; - color: @base; - } - - button:hover, - button:focus, - .button:hover, - .button:focus { - background-color: darken(@sapphire, 25%); - color: @base; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - color: @text; - } - - input[type="text"], - input[type="password"], - input[type="date"], - input[type="datetime"], - input[type="datetime-local"], - input[type="month"], - input[type="week"], - input[type="email"], - input[type="number"], - input[type="search"], - input[type="tel"], - input[type="time"], - input[type="url"], - input[type="color"], - textarea, - input[type="file"], - input[type="checkbox"], - input[type="radio"], - select, - input[type="text"]:focus, - input[type="password"]:focus, - input[type="date"]:focus, - input[type="datetime"]:focus, - input[type="datetime-local"]:focus, - input[type="month"]:focus, - input[type="week"]:focus, - input[type="email"]:focus, - input[type="number"]:focus, - input[type="search"]:focus, - input[type="tel"]:focus, - input[type="time"]:focus, - input[type="url"]:focus, - input[type="color"]:focus, - textarea:focus, - input[type="file"]:focus, - input[type="checkbox"]:focus, - input[type="radio"]:focus, - select:focus { - & when (@lookup ="latte") { - background-color: @base; - border-color: @surface0; - } - background-color: @surface0; - border-color: @surface1; - color: @text; - } - - .header-nav a { - color: @pink; - } - - .header-nav a:hover { - color: darken(@pink, 15%); - } - - .jspTrack { - & when (@lookup ="latte") { - background: @surface0; - } - background: @surface1; - } - - .f-dropdown { - & when (@lookup ="latte") { - background-color: @base; - } - background-color: @surface0; - border-color: @subtext1; - } - - .f-dropdown::before { - border-color: transparent transparent @subtext1; - } - - span.query-pick { - color: @text; - } - - .has-tip { - color: @subtext1; - border-color: @overlay1; - } - - .has-tip:hover, - .has-tip:focus { - border-bottom-color: @sapphire; - color: @sapphire; - } - - label { - color: @subtext1; - } - - table { - background: @base; - & when (@lookup ="latte") { - background-color: @surface0; - } - background-color: @surface1; - } - - table tr th, - table tr td { - color: @subtext1; - } - - .kanji-table td { - & when (@lookup ="latte") { - border-color: @surface0; - } - border-color: @surface1; - } - - table tr.even, - table tr.alt, - table tr:nth-of-type(2n) { - & when (@lookup ="latte") { - background: fadeout(@surface0, 0.5); - } - background: fadeout(@surface1, 0.5); - } - - .reading-table tr ~ tr > td { - & when (@lookup ="latte") { - border-color: @surface0; - } - border-color: @surface1; - } - - table.kanji-match td { - & when (@lookup ="latte") { - border-color: @surface0; - } - border-color: @surface1; - } - - tr.match-row-kanji, - tr.match-row-reading { - & when (@lookup ="latte") { - border-color: @surface0; - } - border-color: @surface1; - } - - img { - filter: contrast(1.2) opacity(85%); - } - - /* Options */ - & when (@zen = 1) { - .header, - footer, - .landing-page { - display: none; - } - - div.wrapper { - display: flex; - flex-direction: column; - align-items: center; - place-content: center center; - padding: 50px 0; - min-height: 100vh; - margin: 0; - } - - .gloss-all { - width: 100%; - padding: 0 10px; - } - - #div-ichiran-result { - padding: 0 10px; - } - - #div-kanji-form, - #w-form { - width: 100%; - } - - #k-form > div > div, - #w-form > div > div { - width: 100%; - max-width: 304px; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/ichi.moe/catppuccin.user.less b/styles/ichi.moe/catppuccin.user.less new file mode 100644 index 0000000000..1db2272c63 --- /dev/null +++ b/styles/ichi.moe/catppuccin.user.less @@ -0,0 +1,321 @@ +/* ==UserStyle== +@name ichi.moe Catppuccin +@namespace github.com/catppuccin/userstyles/styles/ichi.moe +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ichi.moe +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ichi.moe/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aichi.moe +@description Soothing pastel theme for ichi.moe +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var checkbox zen "Zen Mode" 0 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("ichi.moe") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + html, + body { + background: @base; + color: @text; + } + + footer { + color: @subtext1; + } + + span.query-word:hover { + border-color: @pink; + } + + .panel-error { + background-color: fade(@red, 80%); + } + + .highlight { + background-color: fade(@yellow, 80%); + } + + .gloss { + background-color: if(@flavor = "latte", @base, @surface0); + } + + .gloss, + .gloss-rtext { + border-color: if(@flavor = "latte", @surface2, @overlay0); + } + + .gloss:target { + & when (@flavor = "latte") { + box-shadow: 0 0 5px @surface2; + -webkit-box-shadow: 0 0 5px @surface2; + -moz-box-shadow: 0 0 5px @surface2; + } + box-shadow: 0 0 5px @overlay0; + -webkit-box-shadow: 0 0 5px @overlay0; + -moz-box-shadow: 0 0 5px @overlay0; + } + + a { + color: @sapphire; + } + + a.wiktionary-link { + color: @text; + } + + a.info-link { + color: @text; + } + + a.info-link:hover { + border-bottom-color: @sapphire; + } + + .note-skipped a { + color: @subtext1; + } + + .note-skipped a:hover { + border-color: @subtext1; + } + + .jspDrag { + background-color: if(@flavor = "latte", @surface1, @surface2); + } + + .conj-negative { + color: @red; + } + + .conj-formal { + color: @blue; + } + + .pos-desc { + color: @green; + } + + .reading-table tr:nth-of-type(2n), + table.kanji-match tr:nth-of-type(2n) { + background: fade(if(@flavor = "latte", @surface0, @surface1), 50%); + } + + .kanji-big a { + color: @subtext1; + } + + .autocomplete-suggestions { + border-color: if(@flavor = "latte", @surface2, @overlay0); + } + + .autocomplete-suggestions, + .autocomplete-selected { + background: if(@flavor = "latte", @base, @surface0); + } + + .autocomplete-suggestions strong { + color: @lavender; + } + + .autocomplete-group strong { + border-bottom-color: @text; + } + + .button { + background-color: @sapphire; + border-color: @sapphire; + color: @base; + } + + button:hover, + button:focus, + .button:hover, + .button:focus { + background-color: darken(@sapphire, 25%); + color: @base; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + color: @text; + } + + input[type="text"], + input[type="password"], + input[type="date"], + input[type="datetime"], + input[type="datetime-local"], + input[type="month"], + input[type="week"], + input[type="email"], + input[type="number"], + input[type="search"], + input[type="tel"], + input[type="time"], + input[type="url"], + input[type="color"], + textarea, + input[type="file"], + input[type="checkbox"], + input[type="radio"], + select, + input[type="text"]:focus, + input[type="password"]:focus, + input[type="date"]:focus, + input[type="datetime"]:focus, + input[type="datetime-local"]:focus, + input[type="month"]:focus, + input[type="week"]:focus, + input[type="email"]:focus, + input[type="number"]:focus, + input[type="search"]:focus, + input[type="tel"]:focus, + input[type="time"]:focus, + input[type="url"]:focus, + input[type="color"]:focus, + textarea:focus, + input[type="file"]:focus, + input[type="checkbox"]:focus, + input[type="radio"]:focus, + select:focus { + & when (@flavor = "latte") { + background-color: @base; + border-color: @surface0; + } + background-color: @surface0; + border-color: @surface1; + color: @text; + } + + .header-nav a { + color: @pink; + } + + .header-nav a:hover { + color: darken(@pink, 15%); + } + + .jspTrack { + background: if(@flavor = "latte", @surface0, @surface1); + } + + .f-dropdown { + background-color: if(@flavor = "latte", @base, @surface0); + border-color: @subtext1; + } + + .f-dropdown::before { + border-color: transparent transparent @subtext1; + } + + span.query-pick { + color: @text; + } + + .has-tip { + color: @subtext1; + border-color: @overlay1; + } + + .has-tip:hover, + .has-tip:focus { + border-bottom-color: @sapphire; + color: @sapphire; + } + + label { + color: @subtext1; + } + + table { + background: @base; + background-color: if(@flavor = "latte", @surface0, @surface1); + } + + table tr th, + table tr td { + color: @subtext1; + } + + table tr.even, + table tr.alt, + table tr:nth-of-type(2n) { + background: fade(if(@flavor = "latte", @surface0, @surface1), 50%); + } + + .kanji-table td, + .reading-table tr ~ tr > td, + table.kanji-match td, + tr.match-row-kanji, + tr.match-row-reading { + border-color: if(@flavor = "latte", @surface0, @surface1); + } + + img { + filter: contrast(1.2) opacity(85%); + } + + /* Options */ + & when (@zen = 1) { + .header, + footer, + .landing-page { + display: none; + } + + div.wrapper { + display: flex; + flex-direction: column; + align-items: center; + place-content: center center; + padding: 50px 0; + min-height: 100vh; + margin: 0; + } + + .gloss-all { + width: 100%; + padding: 0 10px; + } + + #div-ichiran-result { + padding: 0 10px; + } + + #div-kanji-form, + #w-form { + width: 100%; + } + + #k-form > div > div, + #w-form > div > div { + width: 100%; + max-width: 304px; + } + } + } +} diff --git a/styles/ichi.moe/preview.webp b/styles/ichi.moe/preview.webp deleted file mode 100644 index 746240471d..0000000000 --- a/styles/ichi.moe/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:184d8aa5341bebf1ad5b6122d61969fc929fbbf1b790c9e9114ce3fb7cc26033 -size 240882 diff --git a/styles/indie-wiki-buddy/README.md b/styles/indie-wiki-buddy/README.md new file mode 100644 index 0000000000..016391b98d --- /dev/null +++ b/styles/indie-wiki-buddy/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Indie Wiki Buddy + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [thismoon](https://github.com/thismoon) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/indie-wiki-buddy/catppuccin.user.less b/styles/indie-wiki-buddy/catppuccin.user.less new file mode 100644 index 0000000000..90172a7c6c --- /dev/null +++ b/styles/indie-wiki-buddy/catppuccin.user.less @@ -0,0 +1,115 @@ +/* ==UserStyle== +@name Indie Wiki Buddy Catppuccin +@namespace github.com/catppuccin/userstyles/styles/indie-wiki-buddy +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/indie-wiki-buddy +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/indie-wiki-buddy/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aindie-wiki-buddy +@description Soothing pastel theme for Indie Wiki Buddy +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +/* +To get a list of supported search engines, run the following command: +curl -s https://raw.githubusercontent.com/KevinPayravi/indie-wiki-buddy/main/manifest-firefox.json | python -c "import sys, json;print(*json.loads(sys.stdin.read())['content_scripts'][2]['matches'], sep='\n')" +*/ +@-moz-document domain("bing.com"), + domain("search.brave.com"), + domain("duckduckgo.com"), + domain("ecosia.org"), + domain("kagi.com"), + domain("qwant.com"), + domain("search.yahoo.com"), + domain("startpage.com"), + domain("ya.ru"), + regexp("^https?://(www\\.)?google\\..*"), + regexp("^https?://(www\\.)?yandex\\..*") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + + .iwb-new-link button { + color: @base; + background: @blue; + &:hover { + background: @sky; + } + } + .iwb-result-controls { + color: @text !important; + } + } +} + +@-moz-document domain("fandom.com"), + domain("fextralife.com"), + domain("neoseeker.com"), + domain("breezewiki.com"), + domain("antifandom.com"), + domain("bw.artemislena.eu"), + domain("breezewiki.catsarch.com"), + domain("breezewiki.esmailelbob.xyz"), + domain("breezewiki.frontendfriendly.xyz"), + domain("bw.hamstro.dev"), + domain("breeze.hostux.net"), + domain("breezewiki.hyperreal.coffee"), + domain("breeze.mint.lgbt"), + domain("breezewiki.nadeko.net"), + domain("nerd.whatever.social"), + domain("breeze.nohost.network"), + domain("z.opnxng.com"), + domain("bw.projectsegfau.lt"), + domain("breezewiki.pussthecat.org"), + domain("bw.vern.cc"), + domain("breeze.whateveritworks.org"), + domain("breezewiki.woodland.cafe") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + + .indie-wiki-banner { + background: @mantle; + color: @text; + ::selection { + background-color: fade(@accent, 30%); + } + } + .indie-wiki-banner-exit { + color: @text; + } + .indie-wiki-banner-link { + color: @blue; + + &:hover { + color: @sky; + } + } + .indie-wiki-banner-disabled { + color: @subtext0; + } + } +} diff --git a/styles/inoreader/README.md b/styles/inoreader/README.md index 359748a961..40c9045c74 100644 --- a/styles/inoreader/README.md +++ b/styles/inoreader/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Thomas Philippot](https://github.com/thomas-philippot) +- [thomas-philippot](https://github.com/thomas-philippot)   diff --git a/styles/inoreader/catppuccin.user.css b/styles/inoreader/catppuccin.user.css deleted file mode 100644 index cb89627fd1..0000000000 --- a/styles/inoreader/catppuccin.user.css +++ /dev/null @@ -1,386 +0,0 @@ -/* ==UserStyle== -@name inoreader Catppuccin -@namespace github.com/catppuccin/userstyles/styles/inoreader -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/inoreader -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/inoreader/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainoreader -@description Soothing pastel theme for inoreader -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('inoreader.com') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body, - .inno_dialog, - .reader_pane_view_style_1 .article_subscribed, - .reader_pane_view_style_4 .article_subscribed, - .inno_toolbar_switcher_button_active, - .dashboard_wrapper, - #sb_tree_part, - #sb_menu_icon, - #sb_tp_search_overlay, - #feed_searcher, - #wraper.tree_pane_docked #feed_searcher, - #reader_pane, - #preferences_main_wrapper, - .reader_pane_view_style_0 .article_expanded:hover, - div.article_expanded, - .article, - .article_expanded - .article_footer_placeholder_middle.footerized.article_footer_placeholder_middle_sticky, - #article_dialog .article_footer_placeholder_top, - #three_way_contents .article_footer_placeholder_top, - .article_footer, - .pricing_plans_row_sticky { - background-color: @base; - } - - body, - .article_unreaded .article_tile_title, - .icon16, - .icon14, - .icon19, - .article_unreaded .article_magazine_content, - .article_unreaded .article_magazine_title, - #sb_tp_dock, - .inno_toolbar_button, - #sb_rp_heading, - .article_header_text, - .profile_menu_themes_heading, - .inno_toolbar_switcher_button:hover, - #sb_rp_heading span.icon16, - .sub_engagement_number, - .sub_folder, - .inline_folders_editor, - .tf, - .top_bar_tab, - .top_bar_tab .icon16, - #tree_pane .icon16, - #add_content_simulated_button .plus_img { - color: @text; - } - - #tree_pane, - .tree_ad, - .article_full_contents, - .article_unreaded, - .search_empty_state_mask, - .library_wrapper_outer, - .teams_presentation_wrapper, - .article_subscribed, - .tr1, - .search_width_constraint { - background-color: @base; - color: @text; - } - - .st_usage_slider_outer { - background-color: @text; - } - - .st_usage_slider_inner { - background-color: @accent-color; - } - - #hint-pref { - fill: @accent-color; - } - - .preferences_main_button, - .preferences_billing_feature_main { - background-color: @mantle; - border-color: @surface0; - } - - .dashboard_gadgets, - .dashboard_gadgets .content, - .library_section_main_article, - .library_secondary_article, - .library_section_list_articles { - background-color: @mantle; - } - - input[type="text"]:focus, - input[type="checkbox"]:focus + label, - input[type="checkbox"]:active + label, - input[type="button"]:focus, - input[type="button"]:active, - textarea:focus, - select:focus, - button:focus, - input[type="password"]:focus, - input[type="email"]:focus, - button:active { - box-shadow: 0 0 3px @accent-color !important; - } - - input[type="text"], - input[type="number"], - input[type="password"], - select, - textarea { - background-color: @base; - color: @text; - border-color: @subtext0; - } - - .graylink_darker, - .article_short_contents { - color: @subtext0; - } - - div.article_magazine.article_current, - div.article_magazine.article_bulk_selected { - box-shadow: 0 0 0 1px @subtext0; - } - - .article_magazine_content { - color: @overlay0; - } - - .article_magazine_title { - color: @overlay1; - } - - .inno_dialog_modal_overlay { - background-color: @overlay2; - } - - .subscriptions_legend, - .preferences_main_button_icon span, - a.bluelink:link, - .bluelink, - .inno_tabs_tab_current, - .inno_tabs_tab_current:hover, - .inno_toolbar_button_menu_item_inactive .inno_toolbar_button_menu_icon, - .inno_toolbar_button_menu_icon, - #preferences_subscriptions_table span.icon_active { - color: @accent-color; - } - - #new_articles_overlay { - color: @accent-color; - background-color: @base; - } - - input.apple-switch:checked { - background-color: @accent-color; - border-color: @accent-color; - } - - .add_content_simulated_button.expanded { - background-color: @surface0; - box-shadow: inset 0 -1px 0 0 @accent-color; - } - - .inno_toolbar_button_menu, - #reader_pane .info_state, - .inno_dialog_modal .info_state, - .preferences_interface_helper, - .sub_folder { - background-color: @mantle; - color: @text; - } - - #profile_menu_themes_wrapper { - display: none; - } - - #sb_reading_part, - #wraper.tree_pane_docked #sb_tree_part { - box-shadow: none; - } - - .whitebutton { - background-color: @base; - color: @text; - border-color: @surface0; - } - - .bluebutton { - background-color: @accent-color; - color: @crust; - border-style: none; - } - - .icon_green { - color: @green; - } - - .reader_pane_view_style_0 .article_unreaded:hover, - .reader_pane_view_style_2 .article_unreaded:hover, - .reader_pane_view_style_2 .article:hover, - .sd .share_wrapper .icon16:hover, - .pricing_feature_row:nth-child(odd), - .pricing_table_row .pricing_table_leftmost_cell { - background-color: @surface0; - } - - .add_content_simulated_button_menu, - .profile_menu_plan_badge { - background-color: @surface0; - border-color: @surface0; - color: @text; - } - - .catalog_follow_featured_collection, - .catalog_sub_section_title, - .search_feed_wrapper { - border-color: @surface0; - } - - .pricing_teams_hero { - background-color: @surface0; - background-image: none; - } - - .parent_div_inner:hover, - .inno_toolbar_button_menu_item:hover, - .preferences_profile_wrapper, - code, - pre { - background-color: @surface0; - color: @text; - } - - .preferences_profile_plan_wrapper, - .st_subheader, - .catalog_sub_section_tab.catalog_sub_section_tab_current, - .catalog_sub_section_tab:hover { - background: @surface1; - color: @text; - } - - .article_footer .article_footer_main_buttons .article_footer_buttons:hover, - .article_footer - .article_footer_main_buttons - .article_footer_buttons_current, - .article_footer .icon-article_topbar_more_menu:hover, - .st_header, - input[type="radio"].filter_radio:checked + label, - input[type="checkbox"].filter_radio:checked + label { - background-color: @surface2; - color: @text; - } - - .normal_dim { - color: @subtext1; - } - - .parent_div_inner_selected, - #preferences_header, - .add_content_simulated_button_menu_line_item:hover { - background-color: @accent-color; - color: @mantle; - } - - #preferences_header .icon16, - #preferences_dialog_close_button span.icon16 { - color: @mantle; - } - - .article_tile.article_unreaded.article_expanded { - background-color: @base; - box-shadow: - 0 1px 8px @mantle, - 0 1px 3px @mantle; - } - - div.article_current_3way { - box-shadow: - inset 0 0 0 1 @accent-color, - inset 5px 0 0 0 @accent-color; - } - - div.article_tile.article_expanded { - border-color: @mantle; - } - - .article_footer_placeholder_top .article_footer, - .inno_tabs_header, - .gadget_overview_feed { - border-color: @surface2; - } - - .inno_toolbar_switcher:hover .inno_toolbar_switcher_button_active, - .inno_toolbar_switcher:hover .inno_toolbar_switcher_button_active:hover { - color: @accent-color; - background-color: @base; - border-color: @accent-color; - } - - .inno_tabs_tab:hover { - color: @accent-color; - border-color: @accent-color; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/inoreader/catppuccin.user.less b/styles/inoreader/catppuccin.user.less new file mode 100644 index 0000000000..88ba27c309 --- /dev/null +++ b/styles/inoreader/catppuccin.user.less @@ -0,0 +1,582 @@ +/* ==UserStyle== +@name inoreader Catppuccin +@namespace github.com/catppuccin/userstyles/styles/inoreader +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/inoreader +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/inoreader/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainoreader +@description Soothing pastel theme for inoreader +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("inoreader.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body, + .inno_dialog, + .reader_pane_view_style_1 .article_subscribed, + .reader_pane_view_style_4 .article_subscribed, + .inno_toolbar_switcher_button_active, + .dashboard_wrapper, + #sb_tree_part, + #sb_menu_icon, + #sb_tp_search_overlay, + #feed_searcher, + #wraper.tree_pane_docked #feed_searcher, + #preferences_main_wrapper, + .reader_pane_view_style_0 .article_expanded:hover, + div.article_expanded, + .article, + .article_expanded + .article_footer_placeholder_middle.footerized.article_footer_placeholder_middle_sticky, + #article_dialog .article_footer_placeholder_top, + #three_way_contents .article_footer_placeholder_top, + .article_footer, + .pricing_plans_row_sticky, + .searcher_top_bar_wrapper { + background-color: @base; + } + + body, + .article_unreaded .article_tile_title, + .icon16, + .icon14, + .icon19, + .h6, + .article_unreaded .article_magazine_content, + .article_unreaded .article_magazine_title, + #sb_tp_dock, + .inno_toolbar_button, + #sb_rp_heading, + .article_header_text, + .article_content, + .profile_menu_themes_heading, + .inno_toolbar_switcher_button:hover, + #sb_rp_heading span.icon16, + .sub_engagement_number, + .sub_folder, + .inline_folders_editor, + .tf, + .top_bar_tab, + .top_bar_tab .icon16, + #tree_pane .icon16, + #add_content_simulated_button .plus_img, + a:link, + .h4[class*="icon-"], + h4[class*="icon-"], + .inno_tabs_wrapper .inno_tabs_header .inno_tabs_tab a:link, + .inno_tabs_wrapper .inno_tabs_header .inno_tabs_tab a:active, + .inno_tabs_wrapper .inno_tabs_header .inno_tabs_tab a:visited, + #tree_pane .plus_img { + color: @text; + } + a.text-color, + a.nav-item-btn, + .icon-arrow_collapse { + color: @text !important; + } + + .progress { + --bs-progress-bar-color: @accent; + --bs-progress-bar-bg: @accent; + --bs-bar-bg: @overlay1; + } + + .text-muted-color { + color: @subtext0 !important; + } + + #tree_pane, + #reader_pane, + #feeds_nav, + .tree_ad, + .article_full_contents, + .article_unreaded, + .search_empty_state_mask, + .library_wrapper_outer, + .teams_presentation_wrapper, + .article_subscribed, + .tr1, + .search_width_constraint, + .bg-white { + background-color: @base !important; + color: @text; + } + + .st_usage_slider_outer { + background-color: @text; + } + + .st_usage_slider_inner, + #text-menu .dropdown-menu, + .article_unreaded .article_unread_dot .article_unread_dot_internal { + background-color: @accent; + } + + .bg-primary { + background-color: @accent !important; + } + + #tree_pane .parent_div_inner_selected .plus_img { + color: @accent; + } + + .active-url .item-name, + .active-url span[class^="icon-"].h4, + .active-url i[class^="icon-"].h4 { + color: @accent !important; + } + + .icon-logo_circle { + color: @crust !important; + } + + #tabs_pane .nav-item a i, + #tabs_pane .nav-item a span, + #tabs_pane #bottom_tabs .nav-item a i { + color: @crust; + } + + #tabs_pane .tabs-counter, + #tabs_pane #bottom_tabs .nav-item a i.icon-full { + color: @text !important; + background-color: @base !important; + } + + #hint-pref { + fill: @accent; + } + + .article_footer_buttons.icon-article_topbar_read_later_full, + #reader_pane .ar .article_btns a .h4.icon-saved, + #reader_pane .ar .article_btns a .h4.star_full, + span.icon-yellow, + i.icon-yellow { + color: @yellow; + } + + .bg-alt { + background: @yellow !important; + } + + .btn.btn-alt { + background-color: @yellow; + border-color: @yellow; + } + + .bg-success-color.darker { + background-color: @green !important; + } + + .alert_state { + background-color: @red; + } + + .icon-mark-as-read-single-unread { + color: @blue !important; + } + + .tabs-counter { + background-color: @accent !important; + outline-color: @accent !important; + color: @mantle; + } + + .active-tab-feeds:not(.active-overlay) #tabs_pane [data-tab="feeds"] i, + .active-tab-dashboard:not(.active-overlay) + #tabs_pane + [data-tab="dashboard"] + i, + .active-tab-saved:not(.active-overlay) #tabs_pane [data-tab="saved"] i, + .active-tab-automation:not(.active-overlay) + #tabs_pane + [data-tab="automation"] + i, + .active-tab-search:not(.active-overlay) #tabs_pane [data-tab="search"] i, + .active-tab-add_feed:not(.active-overlay) + #tabs_pane + [data-tab="add_feed"] + i, + .active-tab-notifications:not(.active-overlay) + #tabs_pane + [data-tab="notifications"] + i, + .active-tab-preferences:not(.active-overlay) + #tabs_pane + [data-tab="preferences"] + i { + background-color: @base; + color: @text !important; + } + + .preferences_main_button, + .preferences_billing_feature_main { + background-color: @mantle; + border-color: @surface0; + } + + .dashboard_gadgets, + .dashboard_gadgets .content, + .library_section_main_article, + .library_secondary_article, + .library_section_list_articles { + background-color: @mantle; + } + + #header_pane, + .search_context_dropdown.open { + background-color: @base !important; + color: @text; + } + + .dropdown-menu, + .ino-autocomplete { + background-color: @mantle; + } + + .dropdown-menu .dropdown-header { + color: @text; + } + + .dropdown-menu .dropdown-item, + a:visited { + color: @subtext0; + } + + .dropdown-menu .dropdown-item:hover, + .dropdown-menu .dropdown-item:focus, + #tree_pane .parent_div_inner:hover, + #tree_pane .parent_div_inner:active, + #tree_pane .parent_div_inner:focus, + .search_context_dropdown.open .search_context_filter:hover, + .nav.nav-hover .nav-item:hover, + .lang_bubble:hover, + #tabs_pane .toggle_sidebar_btn i { + background-color: @surface0; + } + + .dropdown-menu .dropdown-item:active { + background-color: @surface0; + color: @accent; + } + + .dropdown-menu .dropdown-item.active, + #tree_pane .parent_div_inner_selected, + #tree_pane .parent_div_inner_selected:hover, + #tree_pane .parent_div_inner_selected a, + .search_context_dropdown.open .search_context_filter.active, + .nav.nav-hover .active-url, + .lang_bubble.lang_bubble_current { + background-color: @surface1; + color: @accent; + } + + .btn.btn-outline-text { + color: @text; + border-color: @subtext0; + } + + .btn.btn-primary, + .btn.btn-primary:hover { + color: @text; + background-color: @accent; + border-color: @accent; + } + + .dropdown-menu-active, + .btn.btn-outline-text:hover { + color: @text; + border-color: @subtext0; + background-color: @surface0; + } + + input[type="text"]:focus, + input[type="checkbox"]:focus + label, + input[type="checkbox"]:active + label, + input[type="button"]:focus, + input[type="button"]:active, + textarea:focus, + select:focus, + button:focus, + input[type="password"]:focus, + input[type="email"]:focus { + box-shadow: 0 0 3px @accent !important; + border-color: @accent !important; + } + + input[type="text"], + input[type="number"], + input[type="password"], + select, + textarea { + background-color: @base !important; + color: @text !important; + border-color: @subtext0; + } + + .graylink_darker, + .article_short_contents { + color: @subtext0; + } + + div.article_magazine.article_current, + div.article_magazine.article_bulk_selected { + box-shadow: 0 0 0 1px @subtext0; + } + .view_style_3 #reader_pane .ar.article_current .article_tile_picture { + box-shadow: inset 3px 3px 0 -2px @accent, inset -3px 2px 0 -2px @accent; + } + .view_style_3 #reader_pane .ar.article_current { + box-shadow: inset 0 0 0 1px @accent; + } + + .view_style_4 #reader_pane .ar.article_current { + box-shadow: 0 0 0 1px @accent; + } + .view_style_2 #reader_pane .ar.article_current_3way, + .view_style_2 #reader_pane .ar.article_expanded { + box-shadow: none; + border-color: @text; + } + + .article_magazine_content { + color: @overlay0; + } + + .article_magazine_title { + color: @overlay1; + } + + .inno_dialog_modal_overlay { + background-color: @overlay2; + } + + .subscriptions_legend, + .preferences_main_button_icon span, + a.bluelink:link, + .bluelink, + .inno_tabs_tab_current, + .inno_tabs_tab_current:hover, + .inno_toolbar_button_menu_item_inactive .inno_toolbar_button_menu_icon, + .inno_toolbar_button_menu_icon, + #preferences_subscriptions_table span.icon_active, + .text-primary, + .inno_tabs_wrapper + .inno_tabs_header + .inno_tabs_tab.inno_tabs_tab_current + a:link, + .inno_tabs_wrapper + .inno_tabs_header + .inno_tabs_tab.inno_tabs_tab_current + a:active, + .inno_tabs_wrapper + .inno_tabs_header + .inno_tabs_tab.inno_tabs_tab_current + a:visited { + color: @accent !important; + } + + #new_articles_overlay { + color: @accent; + background-color: @base; + } + + input.apple-switch:checked { + background-color: @accent; + border-color: @accent; + } + + .add_content_simulated_button.expanded { + background-color: @surface0; + box-shadow: inset 0 -1px 0 0 @accent; + } + + .inno_toolbar_button_menu, + #reader_pane .info_state, + .inno_dialog_modal .info_state, + .preferences_interface_helper, + .sub_folder { + background-color: @mantle; + color: @text; + } + + #profile_menu_themes_wrapper { + display: none; + } + + #sb_reading_part, + #wraper.tree_pane_docked #sb_tree_part { + box-shadow: none; + } + + .whitebutton { + background-color: @base; + color: @text; + border-color: @surface0; + } + + .bluebutton, + .inno_dialog .inno_dialog_buttonbar_button:nth-child(1) { + background-color: @accent; + color: @crust; + border-style: none; + } + + .inno_dialog .inno_dialog_buttonbar_button:nth-child(1):hover:enabled { + background-color: @accent; + border-color: @accent; + } + + .inno_dialog_buttonbar_button { + background-color: @base; + color: @text; + } + + .icon_green { + color: @green; + } + + .reader_pane_view_style_0 .article_unreaded:hover, + .reader_pane_view_style_2 .article_unreaded:hover, + .reader_pane_view_style_2 .article:hover, + .sd .share_wrapper .icon16:hover, + .pricing_feature_row:nth-child(odd), + .pricing_table_row .pricing_table_leftmost_cell, + .article_footer .share_wrapper:hover { + background-color: @surface0; + } + + .add_content_simulated_button_menu, + .profile_menu_plan_badge { + background-color: @surface0; + border-color: @surface0; + color: @text; + } + + .catalog_follow_featured_collection, + .catalog_sub_section_title, + .search_feed_wrapper { + border-color: @surface0; + } + + .border-bottom, + .header-shadow { + border-color: @text; + } + + .pricing_teams_hero { + background-color: @surface0; + background-image: none; + } + + .parent_div_inner:hover, + .inno_toolbar_button_menu_item:hover, + .preferences_profile_wrapper, + code, + pre { + background-color: @surface0; + color: @text; + } + + .preferences_profile_plan_wrapper, + .st_subheader, + .catalog_sub_section_tab.catalog_sub_section_tab_current, + .catalog_sub_section_tab:hover { + background: @surface1; + color: @text; + } + + .article_footer .article_footer_main_buttons .article_footer_buttons:hover, + .article_footer + .article_footer_main_buttons + .article_footer_buttons_current, + .article_footer .icon-article_topbar_more_menu:hover, + .st_header, + input[type="radio"].filter_radio:checked + label, + input[type="checkbox"].filter_radio:checked + label { + background-color: @surface2; + color: @text; + } + + input[type="checkbox"].form-check-input:checked, + input[type="radio"].form-check-input:checked { + background-color: @accent; + border-color: @accent; + } + + .normal_dim { + color: @subtext1; + } + + .parent_div_inner_selected, + #preferences_header, + #tabs_pane, + .add_content_simulated_button_menu_line_item:hover { + background-color: @accent; + color: @mantle; + } + + #preferences_header .icon16, + #preferences_dialog_close_button span.icon16 { + color: @mantle; + } + + .article_tile.article_unreaded.article_expanded { + background-color: @base; + box-shadow: 0 1px 8px @mantle, 0 1px 3px @mantle; + } + + div.article_current_3way { + box-shadow: inset 0 0 0 1 @accent, inset 5px 0 0 0 @accent; + } + + div.article_tile.article_expanded { + border-color: @mantle; + } + + .article_footer_placeholder_top .article_footer, + .inno_tabs_header, + .gadget_overview_feed { + border-color: @surface2; + } + + .inno_toolbar_switcher:hover .inno_toolbar_switcher_button_active, + .inno_toolbar_switcher:hover .inno_toolbar_switcher_button_active:hover { + color: @accent; + background-color: @base; + border-color: @accent; + } + + .inno_tabs_tab:hover { + color: @accent; + border-color: @accent; + } + + #audio_player_nav.is-overlay .tab-content, + #audio_player_nav .media-player.maximized .container, + #notifications_nav.is-overlay .tab-content, + #support_nav.is-overlay .tab-content, + #profile_nav.is-overlay .tab-content { + background-color: @base; + } + } +} diff --git a/styles/inoreader/preview.webp b/styles/inoreader/preview.webp deleted file mode 100644 index c507ade90f..0000000000 --- a/styles/inoreader/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1734a437d28f146f4ff0ff76347d555681272c475cde310afbd580ab4b4cf81 -size 159466 diff --git a/styles/instagram/README.md b/styles/instagram/README.md index 257186c31d..63b1e77833 100644 --- a/styles/instagram/README.md +++ b/styles/instagram/README.md @@ -10,20 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer - [GenShibe](https://github.com/GenShibe) ## ๐Ÿ’– Past Maintainer -- [Isabel](https://github.com/isabelroses) +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/instagram/catppuccin.user.css b/styles/instagram/catppuccin.user.less similarity index 51% rename from styles/instagram/catppuccin.user.css rename to styles/instagram/catppuccin.user.less index 1e12f33277..e7729da6e3 100644 --- a/styles/instagram/catppuccin.user.css +++ b/styles/instagram/catppuccin.user.less @@ -2,8 +2,8 @@ @name Instagram Catppuccin @namespace github.com/catppuccin/userstyles/styles/instagram @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/instagram -@version 0.2.5 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/instagram/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/instagram/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainstagram @description Soothing pastel theme for Instagram @author Catppuccin @@ -15,59 +15,22 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('instagram.com') { +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("instagram.com") { ._aa4d { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } ._aa4c { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @text-filter: @catppuccin[@@lookup][@text-filter]; - @dark-color: if(@lookup = latte, @text, @crust); - @light-color: if(@lookup = latte, @crust, @text); - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @dark-color: if(@flavor = latte, @text, @crust); + @light-color: if(@flavor = latte, @crust, @text); &, .x1qjc9v5, @@ -76,50 +39,59 @@ .xdt5ytf, .x1iyjqo2, .xl56j7k { - --web-always-black: #rgbify(@dark-color) []; - --ig-primary-icon: #rgbify(@text) []; - --web-always-white: #rgbify(@light-color) []; - --always-white: #rgbify(@light-color) []; - --overlay-alpha-80: fadeout(@dark-color, 50); - --always-dark-overlay: fadeout(@surface0, 50); - --grey-9: #rgbify(@crust) []; - --ig-primary-background: #rgbify(@base) []; - --ig-secondary-background: #rgbify(@surface0) []; - --ig-banner-background: #rgbify(@crust) []; - --ig-highlight-background: #rgbify(@surface0) []; - --ig-elevated-background: #rgbify(@crust) []; - --ig-elevated-highlight-background: #rgbify(@surface0) []; - --ig-hover-overlay: #rgbify(@text) [], 0.1; - --hover-overlay: fadeout(@surface0, 80); - --ig-text-on-color: #rgbify(@crust) []; - --ig-badge: #rgbify(@accent-color) []; - --ig-primary-button: #rgbify(@accent-color) []; - --ig-primary-button-hover: fadeout(@accent-color, 20); - --ig-secondary-button-background: #rgbify(@surface0) []; - --ig-secondary-button-hover: #rgbify(@surface1) []; - --ig-secondary-button: #rgbify(@text) []; - --ig-primary-text: #rgbify(@text) []; - --ig-secondary-text: #rgbify(@subtext0) []; - --ig-tertiary-text: #rgbify(@subtext0) []; + --web-always-black: #lib.rgbify(@dark-color)[]; + --ig-primary-icon: #lib.rgbify(@text)[]; + --web-always-white: #lib.rgbify(@light-color)[]; + --always-white: #lib.rgbify(@light-color)[]; + --overlay-alpha-80: fade(@dark-color, 50%); + --grey-9: #lib.rgbify(@crust)[]; + --ig-primary-background: #lib.rgbify(@base)[]; + --ig-secondary-background: #lib.rgbify(@surface0)[]; + --ig-banner-background: #lib.rgbify(@crust)[]; + --ig-highlight-background: #lib.rgbify(@surface0)[]; + --ig-elevated-background: #lib.rgbify(@crust)[]; + --ig-elevated-highlight-background: #lib.rgbify(@surface0)[]; + --ig-hover-overlay: #lib.rgbify(@text)[], 0.1; + --hover-overlay: fade(@surface0, 20%); + --ig-text-on-color: #lib.rgbify(@crust)[]; + --ig-badge: #lib.rgbify(@accent)[]; + --ig-primary-button: #lib.rgbify(@accent)[]; + --ig-primary-button-hover: fade(@accent, 80%); + --ig-secondary-button-background: #lib.rgbify(@surface0)[]; + --ig-secondary-button-hover: #lib.rgbify(@surface1)[]; + --ig-secondary-button: #lib.rgbify(@text)[]; + --ig-primary-text: #lib.rgbify(@text)[]; + --ig-secondary-text: #lib.rgbify(@subtext0)[]; + --ig-tertiary-text: #lib.rgbify(@subtext0)[]; --wbloks-primary-text: @text; - --ig-text-on-media: #rgbify(@text) []; - --ig-separator: #rgbify(@surface0) []; - --chat-admin-text-color: #rgbify (@subtext0) []; - --ig-elevated-separator: #rgbify(@surface0) []; - --post-separator: #rgbify(@overlay0) []; - --ig-stroke: #rgbify(@overlay0) []; - --grey-2: #rgbify(@overlay0) []; - --ig-link: #rgbify(@accent-color) []; - --ig-error-or-destructive: #rgbify(@maroon) []; - --ig-success: #rgbify(@green) []; - --blue-2: #rgbify(@blue) []; - --ig-close-friends-refreshed: #rgbify(@green) []; - --ig-text-input-border-hover-prism: #rgbify(@surface1) []; - --ig-toggle-outline-prism: #rgbify(@text) []; - --ig-toggle-background-on-prism: #rgbify(@text) []; - --ig-stroke-prism: #rgbify(@crust) []; - --barcelona-logo: #rgbify (@text) []; - scrollbar-color: @accent-color @crust; + --ig-text-on-media: #lib.rgbify(@text)[]; + --ig-separator: #lib.rgbify(@surface0)[]; + --chat-admin-text-color: #lib.rgbify(@subtext0)[]; + --ig-elevated-separator: #lib.rgbify(@surface0)[]; + --post-separator: #lib.rgbify(@overlay0)[]; + --ig-stroke: #lib.rgbify(@overlay0)[]; + --grey-2: #lib.rgbify(@overlay0)[]; + --ig-link: #lib.rgbify(@accent)[]; + --ig-error-or-destructive: #lib.rgbify(@red)[]; + --ig-success: #lib.rgbify(@green)[]; + --blue-2: #lib.rgbify(@blue)[]; + --ig-close-friends-refreshed: #lib.rgbify(@green)[]; + --ig-text-input-border-hover-prism: #lib.rgbify(@surface1)[]; + --ig-toggle-outline-prism: #lib.rgbify(@text)[]; + --ig-toggle-background-on-prism: #lib.rgbify(@text)[]; + --ig-stroke-prism: #lib.rgbify(@crust)[]; + --barcelona-logo: #lib.rgbify(@text)[]; + --ig-bubble-background: #lib.rgbify(@surface1)[]; + --ig-tertiary-icon: #lib.rgbify(@accent)[]; + --always-dark-overlay: @accent; + --secondary-text: @subtext0; + --primary-text: @text; + --primary-icon: @accent; + --primary-button-text: @mantle !important; + --primary-button: @blue !important; + --mwp-primary-theme-color: darken(@blue, 10%); + --chat-composer-button-color: darken(@blue, 10%); + scrollbar-color: @accent @crust; } #splash-screen { background-color: @base !important; @@ -146,7 +118,12 @@ /* Story progress bar */ ._ac3p { - background-color: @accent-color !important; + background-color: @accent !important; + } + + /* close friends story things */ + .x9bdzbf { + color: @text !important; } /* Story seen / not seen ring */ @@ -161,7 +138,7 @@ } &[aria-label^="Story by"][aria-label$="not seen"] span { - outline-color: @accent-color; + outline-color: @accent; outline-width: 0.2rem; } &[aria-label^="Story by"]:not([aria-label$="not seen"]) span { @@ -175,7 +152,7 @@ background-color: @mantle; border-color: @overlay0 !important; border-radius: var(--modal-border-radius); - box-shadow: 0 3px 5px -1px fadeout(@dark-color, 20); + box-shadow: 0 3px 5px -1px fade(@dark-color, 80%); box-sizing: border-box; } ._aatc ._aasi, @@ -185,14 +162,27 @@ } /* Icons */ - svg[aria-label="Unlike"] { - fill: @accent-color; + svg[aria-label="Unlike"], + svg[aria-label="Verified"] { + fill: @accent !important; } + svg[aria-label="Next"], + svg[aria-label="Go back"], svg[aria-label="Close"] { - color: @text; + fill: @text !important; } - svg[aria-label="Verified"] { - fill: @accent-color; + + /* new post thingy */ + ._aa1q._aa1q { + color: @text !important; + } + + /* sumting wong's popup box */ + .x879a55, + .x7ywyr2:not( + [style*="background-color: rgb(var(--ig-highlight-background))"] + ) { + background-color: var(--surface1) !important; } /* Share box */ @@ -201,13 +191,13 @@ color: @text !important; &:hover { color: @mantle !important; - background-color: @accent-color !important; + background-color: @accent !important; } } .xk5f4mz { background-color: @mantle; &:hover { - background-color: @accent-color; + background-color: @accent; } } .x3nfvp2 { @@ -217,21 +207,24 @@ } } + /* reel icon */ + .xq3z1fi { + color: @accent !important; + } + /* Toggle sliders */ .x1r7x56h { - background-color: @accent-color; + background-color: @accent; } .x100vrsf { background-color: @surface0; } - .xw4jnvo { - background-color: @overlay1; - } + .x1psfjxj { background-color: @mantle; } span[data-bloks-name="bk.components.TextSpan"] { - color: @accent-color !important; + color: @accent !important; } .xs7f9wi { background-color: @mantle !important; @@ -245,286 +238,286 @@ } /* Excluded: - _9ys7, _9_1f, _9ys8 (verified icon) */ [style*='background-image: url("https://static.cdninstagram.com/rsrc.php/v3/y4/r/ewSyA8IItw_.png")'], - ._9zkj, - ._a3ds, - ._a3dt, - ._a3du, - ._a3dv, - ._a3dw, - ._9-b3, - ._9znl, - ._9z-6, - ._a3dx, - ._a3dy, - ._a3dz, - ._a3d-, - ._a3d_, - ._a3e0, - ._9zm4, - ._a3e1, - ._a3e2, - ._a3e3, - ._a3e4, - ._a3e5, - ._a3e6, - ._a3e7, - ._a3e8, - ._a3e9, - ._a3ea, - ._9_57, - ._9_n5, - ._9-y3, - ._a3eb, - ._a3ec, - ._a3ed, - ._a3ee, - ._9zlu, - ._9-yp, - ._a3ef, - ._a3eg, - ._9_wm, - ._a3eh, - ._a3ei, - ._9-j_, - ._a3ej, - ._a3ek, - ._9_ij, - ._9_d_, - ._9_e1, - ._9-mm, - ._9_cx, - ._9zm0, - ._9zfi, - ._9-ub, - ._a3el, - ._9-7-, - ._9-1a, - ._a3em, - ._9zrp, - ._a3en, - ._9zz9, - ._a3eo, - ._9zmr, - ._9-8d, - ._9zhi, - ._a3ep, - ._9zs0, - ._9-j-, - ._a3eq, - ._9zli, - ._9_4y, - ._9zm2, - ._9zfj, - ._9zlg, - ._a3er, - ._9-lv, - ._9_ug, - ._9_sh, - ._9_sj, - ._9-k0, - ._9z-c, - ._9_35, - ._9_hh, - ._a3es, - ._a3et, - ._a3eu, - ._9-v-, - ._9_4d, - ._9zlh, - ._a3ev, - ._a3ew, - ._a3ex, - ._a3ey, - ._9_7m, - ._9_fv, - ._a3ez, - ._9-zf, - ._9-zg, - ._9-ze, - ._a9fa, - ._9-zh, - ._9-zi, - ._9-zj, - ._9-zk, - ._9-zl, - ._9-zm, - ._9-zn, - ._9-zo, - ._9-zp, - ._9-zq, - ._9-zr, - ._9-zs, - ._9-zt, - ._a3op, - ._a3oq, - ._9-zu, - ._9-zv, - ._9-zw, - ._9-zx, - ._9-zy, - ._9-zz, - ._9-z-, - ._a3or, - ._a3ot, - ._a3os, - ._9zs1, - ._9zs2, - ._9-z_, - ._9--0, - ._9--1, - ._9--2, - ._9--3, - ._9--4, - ._9--5, - ._9--6, - ._9--7, - ._9--f, - ._9--8, - ._9--9, - ._9--a, - ._9--b, - ._9--c, - ._9--d, - ._9--e, - ._a3ou, - ._9--g, - ._9--h, - ._9--i, - ._9--j, - ._9--l, - ._9--k, - ._9--m, - ._9--n, - ._9--o, - ._9--p, - ._9--q, - ._a3ov, - ._9--s, - ._9--r, - ._9--t, - ._9--u, - ._9--v, - ._9--x, - ._9--y, - ._9--w, - ._9--z, - ._9--_, - ._9-_0, - ._9-_1, - ._9-_2, - ._9-_3, - ._9---, - ._9-_4, - ._9-_5, - ._9-_6, - ._9-_7, - ._a3wy, - ._9-_8, - ._9-_9, - ._a3ow, - ._9-_a, - ._9-_b, - ._9-_c, - ._9-_d, - ._9-_e, - ._9-_f, - ._9-_g, - ._9-_h, - ._9-_i, - ._9-_j, - ._9-_k, - ._9-_l, - ._9-_m, - ._9-_n, - ._9-_o, - ._a3ox, - ._9-_p, - ._9-_q, - ._a9fb, - ._9-_t, - ._9-_r, - ._9-_s, - ._a93g, - ._9-_u, - ._9-_v, - ._a9fc, - ._9-_w, - ._9-_x, - ._9-_y, - ._9-_z, - ._9-_-, - ._9-__, - ._9_00, - ._a3oy, - ._9_01, - ._9_02, - ._9_03, - ._9_04, - ._9_05, - ._9_08, - ._9_09, - ._9_07, - ._9_06, - ._9_0a, - ._9_0b, - ._9_0c, - ._9_0d, - ._9_0e, - ._9_0f, - ._9_0g, - ._a93h, - ._9_0h, - ._9_0i, - ._9_0j, - ._9_0k, - ._aepo, - ._9_0l, - ._9_0m, - ._9_0n, - ._9_0o, - ._9_0p, - ._a3oz, - ._a93l, - ._9_0r, - ._9_0s, - ._a7tk, - ._9_0q, - ._a3o-, - ._9_0t, - ._9_0v, - ._9_0u, - ._a9ej, - ._9_0w, - ._9_0x, - ._9_0y, - ._9_0z, - ._9_0_, - ._9_0-, - ._9_10, - ._9_11, - ._9_12, - ._9_13, - ._9_14, - ._9_15, - ._a3o_, - ._9_18, - ._9_19, - ._9_1a, - ._9_1e, - ._9_1b, - ._9_1c, - ._9_1d, - ._9_16, - ._9_17, - ._a3p0, - ._9_1g, - ._9_1i, - ._9_1h, - ._9_1j, - ._9_1k, - ._9_1l, - ._9_1m, - ._a9pw { + ._9zkj, + ._a3ds, + ._a3dt, + ._a3du, + ._a3dv, + ._a3dw, + ._9-b3, + ._9znl, + ._9z-6, + ._a3dx, + ._a3dy, + ._a3dz, + ._a3d-, + ._a3d_, + ._a3e0, + ._9zm4, + ._a3e1, + ._a3e2, + ._a3e3, + ._a3e4, + ._a3e5, + ._a3e6, + ._a3e7, + ._a3e8, + ._a3e9, + ._a3ea, + ._9_57, + ._9_n5, + ._9-y3, + ._a3eb, + ._a3ec, + ._a3ed, + ._a3ee, + ._9zlu, + ._9-yp, + ._a3ef, + ._a3eg, + ._9_wm, + ._a3eh, + ._a3ei, + ._9-j_, + ._a3ej, + ._a3ek, + ._9_ij, + ._9_d_, + ._9_e1, + ._9-mm, + ._9_cx, + ._9zm0, + ._9zfi, + ._9-ub, + ._a3el, + ._9-7-, + ._9-1a, + ._a3em, + ._9zrp, + ._a3en, + ._9zz9, + ._a3eo, + ._9zmr, + ._9-8d, + ._9zhi, + ._a3ep, + ._9zs0, + ._9-j-, + ._a3eq, + ._9zli, + ._9_4y, + ._9zm2, + ._9zfj, + ._9zlg, + ._a3er, + ._9-lv, + ._9_ug, + ._9_sh, + ._9_sj, + ._9-k0, + ._9z-c, + ._9_35, + ._9_hh, + ._a3es, + ._a3et, + ._a3eu, + ._9-v-, + ._9_4d, + ._9zlh, + ._a3ev, + ._a3ew, + ._a3ex, + ._a3ey, + ._9_7m, + ._9_fv, + ._a3ez, + ._9-zf, + ._9-zg, + ._9-ze, + ._a9fa, + ._9-zh, + ._9-zi, + ._9-zj, + ._9-zk, + ._9-zl, + ._9-zm, + ._9-zn, + ._9-zo, + ._9-zp, + ._9-zq, + ._9-zr, + ._9-zs, + ._9-zt, + ._a3op, + ._a3oq, + ._9-zu, + ._9-zv, + ._9-zw, + ._9-zx, + ._9-zy, + ._9-zz, + ._9-z-, + ._a3or, + ._a3ot, + ._a3os, + ._9zs1, + ._9zs2, + ._9-z_, + ._9--0, + ._9--1, + ._9--2, + ._9--3, + ._9--4, + ._9--5, + ._9--6, + ._9--7, + ._9--f, + ._9--8, + ._9--9, + ._9--a, + ._9--b, + ._9--c, + ._9--d, + ._9--e, + ._a3ou, + ._9--g, + ._9--h, + ._9--i, + ._9--j, + ._9--l, + ._9--k, + ._9--m, + ._9--n, + ._9--o, + ._9--p, + ._9--q, + ._a3ov, + ._9--s, + ._9--r, + ._9--t, + ._9--u, + ._9--v, + ._9--x, + ._9--y, + ._9--w, + ._9--z, + ._9--_, + ._9-_0, + ._9-_1, + ._9-_2, + ._9-_3, + ._9---, + ._9-_4, + ._9-_5, + ._9-_6, + ._9-_7, + ._a3wy, + ._9-_8, + ._9-_9, + ._a3ow, + ._9-_a, + ._9-_b, + ._9-_c, + ._9-_d, + ._9-_e, + ._9-_f, + ._9-_g, + ._9-_h, + ._9-_i, + ._9-_j, + ._9-_k, + ._9-_l, + ._9-_m, + ._9-_n, + ._9-_o, + ._a3ox, + ._9-_p, + ._9-_q, + ._a9fb, + ._9-_t, + ._9-_r, + ._9-_s, + ._a93g, + ._9-_u, + ._9-_v, + ._a9fc, + ._9-_w, + ._9-_x, + ._9-_y, + ._9-_z, + ._9-_-, + ._9-__, + ._9_00, + ._a3oy, + ._9_01, + ._9_02, + ._9_03, + ._9_04, + ._9_05, + ._9_08, + ._9_09, + ._9_07, + ._9_06, + ._9_0a, + ._9_0b, + ._9_0c, + ._9_0d, + ._9_0e, + ._9_0f, + ._9_0g, + ._a93h, + ._9_0h, + ._9_0i, + ._9_0j, + ._9_0k, + ._aepo, + ._9_0l, + ._9_0m, + ._9_0n, + ._9_0o, + ._9_0p, + ._a3oz, + ._a93l, + ._9_0r, + ._9_0s, + ._a7tk, + ._9_0q, + ._a3o-, + ._9_0t, + ._9_0v, + ._9_0u, + ._a9ej, + ._9_0w, + ._9_0x, + ._9_0y, + ._9_0z, + ._9_0_, + ._9_0-, + ._9_10, + ._9_11, + ._9_12, + ._9_13, + ._9_14, + ._9_15, + ._a3o_, + ._9_18, + ._9_19, + ._9_1a, + ._9_1e, + ._9_1b, + ._9_1c, + ._9_1d, + ._9_16, + ._9_17, + ._a3p0, + ._9_1g, + ._9_1i, + ._9_1h, + ._9_1j, + ._9_1k, + ._9_1l, + ._9_1m, + ._a9pw { filter: @text-filter; } @@ -538,8 +531,7 @@ @blue 90% ); /* Instagram text logo */ - [style*="background-image: url(\"https://static.cdninstagram.com/rsrc.php/v3/yU/r/H5Bq7ru-y9E.png\");"] - { + [style*="background-image: url(\"https://static.cdninstagram.com/rsrc.php/v3/yU/r/H5Bq7ru-y9E.png\");"] { @svg: escape( '' ); @@ -557,13 +549,12 @@ /* "All caught up" icon */ img[src="/images/instagram/xig/web/illo-confirm-refresh-light.png"] { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } - [style*='background-image: url("https://static.cdninstagram.com/rsrc.php/v3/y4/r/ewSyA8IItw_.png")'] - { + [style*='background-image: url("https://static.cdninstagram.com/rsrc.php/v3/y4/r/ewSyA8IItw_.png")'] { /* No photo icon */ &[style*="background-position: 0px -97px"] { filter: none; @@ -607,7 +598,7 @@ } ._acas:not(._acao):hover { background-color: @surface0 !important; - color: @accent-color !important; + color: @accent !important; } /* Secondary buttons */ @@ -627,12 +618,12 @@ div:has(> .x1mu97ne) { background-color: @crust; border-color: @overlay0; - box-shadow: 0 10px 35px 2px fadeout(@dark-color, 0.7); + box-shadow: 0 10px 35px 2px fade(@dark-color, 30%); } /* Dialog overlay */ .x7r02ix[role="dialog"] { - box-shadow: 0 5px 10px 0 fadeout(@dark-color, 0.5); + box-shadow: 0 5px 10px 0 fade(@dark-color, 50%); } /* Settings */ @@ -671,7 +662,7 @@ &[style*="border-radius: 4px"] { /* Selected radio */ &[style*="background: rgb(0\, 149\, 246)"] { - background-color: @accent-color !important; + background-color: @accent !important; } /* Not selected radio */ @@ -707,7 +698,7 @@ .leaflet-popup-content-wrapper, .leaflet-popup-tip { background-color: @mantle; - box-shadow: 0 5px 15px fadeout(@dark-color, 0.4); + box-shadow: 0 5px 15px fade(@dark-color, 60%); * { color: @text !important; @@ -720,51 +711,25 @@ } ::-webkit-scrollbar-thumb { - background-color: @accent-color; + background-color: @accent; border-radius: 10px; } } } -@-moz-document regexp('^.*instagram.com/direct.*') { +@-moz-document regexp("^.*instagram.com/direct.*") { ._aa4d { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } ._aa4c { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, - @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + + #catppuccin(@flavor) { + #lib.palette(); .x11jlvup { - --chat-outgoing-message-bubble-background-color: @blue; + --chat-outgoing-message-bubble-background-color: fade(@blue, 80%); } .x1n2onr6 { --chat-incoming-message-bubble-background-color: @surface0; @@ -795,14 +760,19 @@ /* Chat button */ .x1i10hfl:hover { - background-color: @surface0; color: @text; } + .x1bvjpef { + color: @crust; + } + .x1bvjpef:hover { + color: lighten(@accent, 5%); + } /* notes */ .xsnw5ke, .x3zg9eu::after { - background-color: @surface0; + background-color: @surface0 !important; } .x103n6ev, .xzxgvzf { @@ -813,35 +783,52 @@ ); } + /* voice clip */ + div.x7ywyr2 { + &[style*="background-color: rgb(var(--ig-highlight-background))"] { + div[aria-label="Play"], + div[aria-label="Pause"], + div[role="timer"], + div[role="slider"] { + background-color: @text !important; + } + div[style*="clip-path"] div.x5yr21d.xh8yej3.x1bhxuv2 { + background-color: @subtext0 !important; + } + div[aria-label="Play"]:hover { + background-color: @subtext1 !important; + } + } + &[style*="background-color: var(--mwp-primary-theme-color)"] { + background-color: var(--mwp-primary-theme-color) !important; + div[aria-label="Play"], + div[aria-label="Pause"], + div[role="slider"], + div[role="timer"] { + background-color: @text !important; + } + div[aria-label="Play"]:hover { + background-color: @subtext1 !important; + } + } + } + /* voice clip recording container */ + div[style*="background-color: var(--chat-composer-button-color)"] { + div[role="slider"] { + opacity: 1 !important; + background-color: darken(@blue, 4%) !important; + } + div[aria-label="Play"], + div[aria-label="Pause"], + div[role="timer"], + div[aria-label="Stop recording"] { + background-color: @text !important; + } + } + /* explicit music icon in notes */ .x1cp0k07 { color: @text; } } } - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { - @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; - @text-filter: brightness(0) saturate(100%) invert(28%) sepia(17%) saturate(835%) hue-rotate(196deg) brightness(97%) contrast(85%); - }; - @frappe: { - @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; - @text-filter: brightness(0) saturate(100%) invert(84%) sepia(5%) saturate(1519%) hue-rotate(192deg) brightness(100%) contrast(93%); - }; - @macchiato: { - @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; - @text-filter: brightness(0) saturate(100%) invert(80%) sepia(18%) saturate(377%) hue-rotate(192deg) brightness(103%) contrast(92%); - }; - @mocha: { - @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; - @text-filter: brightness(0) saturate(100%) invert(85%) sepia(6%) saturate(1356%) hue-rotate(194deg) brightness(103%) contrast(91%); - }; -} - -// vim:ft=less diff --git a/styles/instagram/preview.webp b/styles/instagram/preview.webp deleted file mode 100644 index 718576b3ae..0000000000 --- a/styles/instagram/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7d65b8f55b2d686bf292607d95d758b26db4aa9e7f64e48cd96b763e89c88081 -size 143156 diff --git a/styles/invidious/README.md b/styles/invidious/README.md index 70eb961b06..7371b148ab 100644 --- a/styles/invidious/README.md +++ b/styles/invidious/README.md @@ -10,21 +10,20 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! ## ๐Ÿ’– Past Maintainers -- [Lemon](https://github.com/unseen-ninja) -- [winston](https://github.com/nekowinston) +- [unseen-ninja](https://github.com/unseen-ninja) +- [nekowinston](https://github.com/nekowinston)   diff --git a/styles/invidious/catppuccin.user.css b/styles/invidious/catppuccin.user.css deleted file mode 100644 index 5f157f8873..0000000000 --- a/styles/invidious/catppuccin.user.css +++ /dev/null @@ -1,344 +0,0 @@ -/* ==UserStyle== -@name Invidious Catppuccin -@namespace github.com/catppuccin/userstyles/styles/invidious -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/invidious -@version 0.4.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/invidious/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainvidious -@description Soothing pastel theme for Invidious -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var checkbox styleVideoPlayer "Style Video Player" 1 -==/UserStyle== */ - -/** - * kept up-to-date with - * `curl https://api.invidious.io/instances.json | jq '.[] | select(.[1].type=="https") | .[0]'` - */ -@-moz-document domain("anontube.lvkaszus.pl"), - domain("inv.citw.lgbt"), - domain("inv.in.projectsegfau.lt"), - domain("inv.tux.pizza"), - domain("inv.us.projectsegfau.lt"), - domain("inv.zzls.xyz"), - domain("invidious.asir.dev"), - domain("invidious.drgns.space"), - domain("invidious.einfachzocken.eu"), - domain("invidious.fdn.fr"), - domain("invidious.io.lol"), - domain("invidious.lunar.icu"), - domain("invidious.nerdvpn.de"), - domain("invidious.no-logs.com"), - domain("invidious.perennialte.ch"), - domain("invidious.privacydev.net"), - domain("invidious.private.coffee"), - domain("invidious.projectsegfau.lt"), - domain("invidious.protokolla.fi"), - domain("invidious.slipfox.xyz"), - domain("iv.datura.network"), - domain("iv.ggtyler.dev"), - domain("iv.melmac.space"), - domain("iv.nboeck.de"), - domain("iv.winston.sh"), - domain("onion.tube"), - domain("vid.priv.au"), - domain("vid.puffyan.us"), - domain("yewtu.be"), - domain("yt.artemislena.eu"), - domain("yt.cdaut.de"), - domain("yt.drgnz.club"), - domain("yt.oelrichsgarcia.de") { - @media (prefers-color-scheme: light) { - .no-theme { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - .no-theme { - #catppuccin(@darkFlavor, @accentColor); - } - } - - .light-theme { - #catppuccin(@lightFlavor, @accentColor); - } - .dark-theme { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - #lightenOrDarken(@color, @value) { - @result: if( - @lookup = latte, - darken(@color, @value), - lighten(@color, @value) - ); - } - - @link-color: @accent-color; - @link-hover: #lightenOrDarken(@accent-color, 5%) [ @result]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - background-color: @base !important; - color: @text !important; - - a, - /* menu under the search bar */ - .pure-menu-heading { - color: @link-color; - &:hover, - &:focus, - &:active { - color: @link-hover !important; - } - } - - hr, - /* legend borders are visible as dividers in Settings */ - legend { - border-color: @surface1; - border-style: solid; - } - - legend { - color: @accent-color !important; - } - - .pure-button-primary { - background-color: @surface1 !important; - color: @text !important; - border-color: @surface1 !important; - &:hover, - &:focus { - background-color: @surface2 !important; - color: @text !important; - border-color: @surface1 !important; - } - } - .pure-button-secondary { - background-color: @accent-color !important; - color: @crust !important; - border-color: @surface1 !important; - &:hover, - &:focus { - background-color: #lightenOrDarken(@accent-color, 2%) [ @result] !important; - color: @crust !important; - border-color: @surface1 !important; - } - } - - #subscribe { - background-color: @link-color !important; - color: @crust !important; - :hover, - :focus { - background-color: @link-hover !important; - color: @crust !important; - } - } - - #filters-box { - background-color: @surface0 !important; - } - - .underlined { - border-color: @overlay1; - } - - .video-js .vjs-control-bar, - .vjs-menu-button-popup .vjs-menu .vjs-menu-content { - background-color: @crust !important; - color: @text !important; - } - - .video-js .vjs-slider:hover, - .video-js button:hover { - color: @accent-color !important; - } - - .video-js .vjs-slider { - background-color: @surface2 !important; - } - - .video-js .vjs-load-progress, - .video-js .vjs-load-progress div { - background-color: @surface2 !important; - } - - .video-js.player-style-invidious .vjs-play-progress { - background-color: @accent-color !important; - } - - .vjs-menu li.vjs-menu-item:focus, - .vjs-menu li.vjs-menu-item:hover { - background-color: @surface0 !important; - color: @text !important; - } - - .vjs-menu li.vjs-selected, - .vjs-menu li.vjs-selected:focus, - .vjs-menu li.vjs-selected:hover { - background-color: @blue !important; - } - - .vjs-menu li.vjs-selected, - .vjs-menu li.vjs-selected:focus, - .vjs-menu li.vjs-selected:hover, - .js-focus-visible .vjs-menu li.vjs-selected:hover { - color: @crust !important; - } - - .vjs-modal-dialog-content { - backdrop-filter: blur(4px); - } - - .vjs-share__title { - color: @text !important; - } - .vjs-share__subtitle { - color: @subtext0 !important; - opacity: 100% !important; - } - .vjs-share__short-link { - color: @text !important; - background: @base !important; - } - .vjs-share__btn { - background: @crust !important; - svg path { - fill: @text !important; - } - } - - #related-videos > .h-box > div:not(#autoplay-controls) { - margin-bottom: 48px !important; - } - - footer a, - footer span { - color: @subtext0 !important; - } - - footer span a, - footer span:has(i) { - &:hover { - color: @accent-color !important; - } - } - - .pure-form-message-inline { - color: @subtext0; - } - - select, - input[type="text"], - input[type="number"], - input[type="input"], - input[type="password"] { - color: @text !important; - background-color: @surface0 !important; - border-color: @surface1 !important; - box-shadow: none !important; - &:active { - color: @text !important; - } - } - input[type="search"] { - color: @text !important; - background-color: @base !important; - border-bottom-color: @overlay1 !important; - box-shadow: none !important; - } - input[type="checkbox"] { - background-color: @surface2; - border-color: @surface1; - height: 1rem; - width: 1rem; - -webkit-appearance: none; - appearance: none; - cursor: pointer; - &:checked { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - } - - /* video player background */ - #player-container > .video-js > video, - /* placeholder for loading thumbnails */ - .vjs-poster { - & when (@styleVideoPlayer = 1) { - background-color: @mantle !important; - } - } - - /* watch progress on videos */ - div.watched-indicator { - background-color: @red; - } - - /* Channel owner comments */ - a.channel-owner { - color: @crust; - background-color: @accent-color; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; } - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; } - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; } - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; } -} - -// vim:ft=less diff --git a/styles/invidious/catppuccin.user.less b/styles/invidious/catppuccin.user.less new file mode 100644 index 0000000000..e80627e1ea --- /dev/null +++ b/styles/invidious/catppuccin.user.less @@ -0,0 +1,297 @@ +/* ==UserStyle== +@name Invidious Catppuccin +@namespace github.com/catppuccin/userstyles/styles/invidious +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/invidious +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/invidious/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainvidious +@description Soothing pastel theme for Invidious +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var checkbox styleVideoPlayer "Style Video Player" 1 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +/** + * kept up-to-date with + * `curl https://api.invidious.io/instances.json | jq '.[] | select(.[1].type=="https") | .[0]'` + */ +@-moz-document domain("anontube.lvkaszus.pl"), + domain("inv.citw.lgbt"), + domain("inv.in.projectsegfau.lt"), + domain("inv.tux.pizza"), + domain("inv.us.projectsegfau.lt"), + domain("inv.zzls.xyz"), + domain("invidious.asir.dev"), + domain("invidious.drgns.space"), + domain("invidious.einfachzocken.eu"), + domain("invidious.fdn.fr"), + domain("invidious.io.lol"), + domain("invidious.lunar.icu"), + domain("invidious.nerdvpn.de"), + domain("invidious.no-logs.com"), + domain("invidious.perennialte.ch"), + domain("invidious.privacydev.net"), + domain("invidious.private.coffee"), + domain("invidious.projectsegfau.lt"), + domain("invidious.protokolla.fi"), + domain("invidious.slipfox.xyz"), + domain("iv.datura.network"), + domain("iv.ggtyler.dev"), + domain("iv.melmac.space"), + domain("iv.nboeck.de"), + domain("iv.winston.sh"), + domain("onion.tube"), + domain("vid.priv.au"), + domain("vid.puffyan.us"), + domain("yewtu.be"), + domain("yt.artemislena.eu"), + domain("yt.cdaut.de"), + domain("yt.drgnz.club"), + domain("yt.oelrichsgarcia.de") { + .no-theme { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + .light-theme { + #catppuccin(@lightFlavor); + } + .dark-theme { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + // TODO: Can we remove lightenOrDarken in favor of shades/tints? Should we add it to the shared lib for now? + #lightenOrDarken(@color, @value) { + @result: if( + @flavor = latte, + darken(@color, @value), + lighten(@color, @value) + ); + } + + @link-color: @accent; + @link-hover: #lightenOrDarken(@accent, 5%)[@result]; + + background-color: @base !important; + color: @text !important; + + a, + /* menu under the search bar */ + .pure-menu-heading { + color: @link-color; + &:hover, + &:focus, + &:active { + color: @link-hover !important; + } + } + + hr, + /* legend borders are visible as dividers in Settings */ + legend { + border-color: @surface1; + border-style: solid; + } + + legend { + color: @accent !important; + } + + .pure-button-primary { + background-color: @surface1 !important; + color: @text !important; + border-color: @surface1 !important; + &:hover, + &:focus { + background-color: @surface2 !important; + color: @text !important; + border-color: @surface1 !important; + } + } + .pure-button-secondary { + background-color: @accent !important; + color: @crust !important; + border-color: @surface1 !important; + &:hover, + &:focus { + background-color: #lightenOrDarken(@accent, 2%)[@result] !important; + color: @crust !important; + border-color: @surface1 !important; + } + } + + #subscribe { + background-color: @link-color !important; + color: @crust !important; + :hover, + :focus { + background-color: @link-hover !important; + color: @crust !important; + } + } + + #filters-box { + background-color: @surface0 !important; + } + + .underlined { + border-color: @overlay1; + } + + .video-js .vjs-control-bar, + .vjs-menu-button-popup .vjs-menu .vjs-menu-content { + background-color: @crust !important; + color: @text !important; + } + + .video-js .vjs-slider:hover, + .video-js button:hover { + color: @accent !important; + } + + .video-js .vjs-slider { + background-color: @surface2 !important; + } + + .video-js .vjs-load-progress, + .video-js .vjs-load-progress div { + background-color: @surface2 !important; + } + + .video-js.player-style-invidious .vjs-play-progress { + background-color: @accent !important; + } + + .vjs-menu li.vjs-menu-item:focus, + .vjs-menu li.vjs-menu-item:hover { + background-color: @surface0 !important; + color: @text !important; + } + + .vjs-menu li.vjs-selected, + .vjs-menu li.vjs-selected:focus, + .vjs-menu li.vjs-selected:hover { + background-color: @blue !important; + } + + .vjs-menu li.vjs-selected, + .vjs-menu li.vjs-selected:focus, + .vjs-menu li.vjs-selected:hover, + .js-focus-visible .vjs-menu li.vjs-selected:hover { + color: @crust !important; + } + + .vjs-modal-dialog-content { + backdrop-filter: blur(4px); + } + + .vjs-share__title { + color: @text !important; + } + .vjs-share__subtitle { + color: @subtext0 !important; + opacity: 100% !important; + } + .vjs-share__short-link { + color: @text !important; + background: @base !important; + } + .vjs-share__btn { + background: @crust !important; + svg path { + fill: @text !important; + } + } + + #related-videos > .h-box > div:not(#autoplay-controls) { + margin-bottom: 48px !important; + } + + footer a, + footer span { + color: @subtext0 !important; + } + + footer span a, + footer span:has(i) { + &:hover { + color: @accent !important; + } + } + + .pure-form-message-inline { + color: @subtext0; + } + + select, + input[type="text"], + input[type="number"], + input[type="input"], + input[type="password"] { + color: @text !important; + background-color: @surface0 !important; + border-color: @surface1 !important; + box-shadow: none !important; + &:active { + color: @text !important; + } + } + input[type="search"] { + color: @text !important; + background-color: @base !important; + border-bottom-color: @overlay1 !important; + box-shadow: none !important; + } + input[type="checkbox"] { + background-color: @surface2; + border-color: @surface1; + height: 1rem; + width: 1rem; + -webkit-appearance: none; + appearance: none; + cursor: pointer; + &:checked { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + + /* video player background */ + #player-container > .video-js > video, + /* placeholder for loading thumbnails */ + .vjs-poster { + & when (@styleVideoPlayer = 1) { + background-color: @mantle !important; + } + } + + /* watch progress on videos */ + div.watched-indicator { + background-color: @red; + } + + /* Channel owner comments */ + a.channel-owner { + color: @crust; + background-color: @accent; + } + } +} diff --git a/styles/invidious/preview.webp b/styles/invidious/preview.webp deleted file mode 100644 index 85a58cac18..0000000000 --- a/styles/invidious/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f3f2c87b916568483c2e6427b86952dbf9f1ce0aaa18c63764c8c547dd18e2c -size 445266 diff --git a/styles/invokeai/README.md b/styles/invokeai/README.md index d0e8f58bb7..be399dc76a 100644 --- a/styles/invokeai/README.md +++ b/styles/invokeai/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Ryan Cao](https://github.com/ryanccn) +- [ryanccn](https://github.com/ryanccn)   diff --git a/styles/invokeai/catppuccin.user.css b/styles/invokeai/catppuccin.user.css deleted file mode 100644 index 0dc276512b..0000000000 --- a/styles/invokeai/catppuccin.user.css +++ /dev/null @@ -1,138 +0,0 @@ -/* ==UserStyle== -@name InvokeAI Catppuccin -@namespace github.com/catppuccin/userstyles/styles/invokeai -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/invokeai -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/invokeai/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainvokeai -@description Soothing pastel theme for InvokeAI -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document regexp("http:\\/\\/(127\\.0\\.0\\.1|localhost):9090(.*)") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - :root, - [data-theme]:root { - --accent-color-dim: lighten(@accent-color, -10%); - --accent-color: @accent-color; - --accent-color-bright: lighten(@accent-color, 10%); - --accent-color-hover: var(--accent-color-bright); - --root-bg-color: @mantle; - --background-color: @base; - --background-color-light: @surface0; - --background-color-secondary: @base; - --text-color: @text; - --text-color-secondary: @subtext0; - --subtext-color: @subtext1; - --subtext-color-bright: @subtext0; - --border-color: @surface1; - --border-color-light: @surface2; - --tab-color: @accent-color; - --tab-list-bg: @accent-color; - --btn-delete-image: @red; - --status-good-color: @green; - --status-good-color-glow: lighten(@green, 10%); - --border-color-invalid: @red; - --box-shadow-color-invalid: lighten(@red, 5%); - --tab-panel-bg: var(--background-color-light); - --tab-hover-color: var(--background-color-secondary); - --tab-list-text: white; - --prompt-bg-color: var(--background-color-light); - --switch-bg-color: var(--background-color-secondary); - --btn-base-color: var(--background-color-light); - --btn-base-color-hover: var(--background-color-secondary); - --destructive-color: @red; - --slider-color: @lavender; - --slider-mark-color: var(--slider-color); - --switch-bg-active-color: var(--accent-color); - --console-icon-button-bg-color: var(--btn-base-color); - --console-icon-button-bg-color-hover: var(--btn-base-color-hover); - --console-bg-color: var(--background-color-light); - --svg-color: var(--text-color); - --btn-load-more: var(--background-color-light); - --tab-list-text-inactive: var(--text-color-secondary); - } - - .invokeai-style-cache-1m5jnul { - --number-input-color: var(--text-color-secondary) !important; - } - - .invoke-btn, - .invokeai__button[data-active], - .site-header-right-side .lang-select-btn[data-selected="true"], - .site-header-right-side .lang-select-btn[data-selected="true"]:hover, - button.chakra-button.invokeai__icon-button[data-selected="true"] { - --svg-color: var(--root-bg-color); - color: var(--root-bg-color) !important; - } - - .invokeai-style-cache-vs1g06, - .invokeai-style-cache-vs1g06:hover { - background-color: var(--background-color-light); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/invokeai/catppuccin.user.less b/styles/invokeai/catppuccin.user.less new file mode 100644 index 0000000000..53c001085c --- /dev/null +++ b/styles/invokeai/catppuccin.user.less @@ -0,0 +1,94 @@ +/* ==UserStyle== +@name InvokeAI Catppuccin +@namespace github.com/catppuccin/userstyles/styles/invokeai +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/invokeai +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/invokeai/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ainvokeai +@description Soothing pastel theme for InvokeAI +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp("http:\\/\\/(127\\.0\\.0\\.1|localhost):9090(.*)") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + :root, + [data-theme]:root { + --accent-color-dim: lighten(@accent, -10%); + --accent-color: @accent; + --accent-color-bright: lighten(@accent, 10%); + --accent-color-hover: var(--accent-color-bright); + --root-bg-color: @mantle; + --background-color: @base; + --background-color-light: @surface0; + --background-color-secondary: @base; + --text-color: @text; + --text-color-secondary: @subtext0; + --subtext-color: @subtext1; + --subtext-color-bright: @subtext0; + --border-color: @surface1; + --border-color-light: @surface2; + --tab-color: @accent; + --tab-list-bg: @accent; + --btn-delete-image: @red; + --status-good-color: @green; + --status-good-color-glow: lighten(@green, 10%); + --border-color-invalid: @red; + --box-shadow-color-invalid: lighten(@red, 5%); + --tab-panel-bg: var(--background-color-light); + --tab-hover-color: var(--background-color-secondary); + --tab-list-text: white; + --prompt-bg-color: var(--background-color-light); + --switch-bg-color: var(--background-color-secondary); + --btn-base-color: var(--background-color-light); + --btn-base-color-hover: var(--background-color-secondary); + --destructive-color: @red; + --slider-color: @lavender; + --slider-mark-color: var(--slider-color); + --switch-bg-active-color: var(--accent-color); + --console-icon-button-bg-color: var(--btn-base-color); + --console-icon-button-bg-color-hover: var(--btn-base-color-hover); + --console-bg-color: var(--background-color-light); + --svg-color: var(--text-color); + --btn-load-more: var(--background-color-light); + --tab-list-text-inactive: var(--text-color-secondary); + } + + .invokeai-style-cache-1m5jnul { + --number-input-color: var(--text-color-secondary) !important; + } + + .invoke-btn, + .invokeai__button[data-active], + .site-header-right-side .lang-select-btn[data-selected="true"], + .site-header-right-side .lang-select-btn[data-selected="true"]:hover, + button.chakra-button.invokeai__icon-button[data-selected="true"] { + --svg-color: var(--root-bg-color); + color: var(--root-bg-color) !important; + } + + .invokeai-style-cache-vs1g06, + .invokeai-style-cache-vs1g06:hover { + background-color: var(--background-color-light); + } + } +} diff --git a/styles/invokeai/preview.webp b/styles/invokeai/preview.webp deleted file mode 100644 index ee44e54e05..0000000000 --- a/styles/invokeai/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4b55bb73ccd6d0f145132a3e2b26d8fd41006513c962c84e6dcd4db1dfb176c -size 81698 diff --git a/styles/jisho/README.md b/styles/jisho/README.md new file mode 100644 index 0000000000..5a6fac248a --- /dev/null +++ b/styles/jisho/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Jisho + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [Lichthagel](https://github.com/Lichthagel) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/jisho/catppuccin.user.less b/styles/jisho/catppuccin.user.less new file mode 100644 index 0000000000..a85de81e07 --- /dev/null +++ b/styles/jisho/catppuccin.user.less @@ -0,0 +1,453 @@ +/* ==UserStyle== +@name Jisho Catppuccin +@namespace github.com/catppuccin/userstyles/styles/jisho +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/jisho +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/jisho/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ajisho +@description Soothing pastel theme for Jisho +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("jisho.org") { + :root[data-color-theme="auto"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root[data-color-theme="dark"] { + #catppuccin(@darkFlavor); + } + :root[data-color-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @accent-dim: if( + @flavor = latte, + desaturate(lighten(@accent, 8%), 10%), + desaturate(darken(@accent, 8%), 10%) + ); + + body { + background-color: @base !important; + color: @text; + + a { + color: @accent; + + &:hover { + color: @accent-dim; + } + } + } + + each( + range(6), + { + h@{value} { + color: @text; + } + } + ); + + button, + .button, + .tabs .tab-title > a { + background-color: @overlay0; + color: @text; + + &:hover, + &:focus { + background-color: @overlay1; + color: @text; + } + } + + // ! There is some white space between the buttons in the button group + // ! This is somewhat mitigated by using `margin: 0 -2px;` originally + // ! We use `display: flex;` instead + .button-group { + display: flex; + flex-wrap: wrap; + + &.radius > *, + > li { + margin: unset; + } + } + + .f-dropdown { + background-color: @mantle; + border-color: @overlay0; + + &::before { + border-bottom-color: @surface0; + } + + li:hover { + background-color: @crust; + } + } + + header.row { + background-color: @base; + } + + h1.logo a { + background-image: if( + @flavor = latte, + url("//assets.jisho.org/assets/jisho-logo-v4@2x-7330091c079b9dd59601401b052b52e103978221c8fb6f5e22406d871fcc746a.png"), + url("//assets.jisho.org/assets/jisho-logo-v4-dark@2x-e676613b426d34187b61928823730a225b52165aaef99f948bd3dc5fc16fa787.png") + ); + } + + nav .links { + .color_theme_picker--wrapper:hover { + background-color: @mantle; + } + + .color_theme_picker--choices { + background-color: @mantle; + + li a:hover { + background-color: @crust; + } + } + } + + form.search { + .input_methods, + .input_method_button h4 { + color: @subtext0; + } + + .input_method_button:hover { + background-color: @surface0; + } + + .main { + background-color: @surface0; + box-shadow: none; + } + + .inner { + background-color: @surface1; + + input { + color: @text; + } + } + + .search_type { + border-right-color: @overlay0; + color: @subtext0; + } + + .submit { + background-color: @overlay1; + color: @text; + } + + .search-form_clear-button { + background-color: transparent; // ! Unsure if this needs a background, also extends beyond the input + .clear-icon { + fill: @subtext0; + } + } + + .results, + #radical_area .results { + .result_label { + color: @text; + } + + .result { + background-color: @surface1; + + &:hover { + color: @text; + } + } + + each( + range(8), + { + .g@{value} { + color: @blue; + } + } + ); + } + + #radical_area { + .radical_table { + background-image: repeating-linear-gradient( + 180deg, + @surface1, + @surface1 32px, + @surface2 32px, + @surface2 64px + ); + + .number { + background-color: @text; + color: @base; + } + + .radical { + background-image: none; // ! some radicals are rendered with a background image by default + color: @text; + + &.available:hover { + background-color: @overlay0; + } + + &.selected { + border-color: @text; + background-color: fade(@yellow, 30%); + } + } + } + + &.combined_mode { + // ! what is combined mode? + .reset_radicals { + color: @subtext0; + + &:hover { + color: @text; + background-color: @overlay0; + } + } + } + } + + .handwriting { + .panel { + background-color: @surface1; + } + + .pencil-icon { + color: @surface2 !important; + } + } + } + + .speech_area_active #speech_button, + .radical_area_active #radical_button, + .handwriting_area_active #handwriting_button { + border-bottom-color: @accent; + } + + #what_is_this { + color: unset; + } + + .japanese_word__furigana-invisible { + opacity: 0; // ! Jisho uses `color: #fff;` to hide furigana, however this does not work in the dark theme + } + + #zen_bar li[data-pos="Noun"] a, + #zen_bar li[data-pos="Proper noun"] a, + #zen_bar li[data-pos="Pronoun"] a, + #zen_bar li[data-pos="Suffix"] a, + #zen_bar li[data-pos="Prefix"] a, + #zen_bar li[data-pos="Symbol"] a, + #zen_bar li[data-pos="Interjection"] a, + #zen_bar li[data-pos="Propernoun"] a { + color: @peach; + border-bottom-color: @peach; + } + + #zen_bar li[data-pos="Particle"] a { + color: @red; + border-bottom-color: @red; + } + + #zen_bar li[data-pos="Verb"] a { + color: @subtext0; + border-bottom-color: @subtext0; + } + + #main_results h4 .result_count { + color: @subtext0; + } + + .fact { + outline-color: @mantle; + border-color: @base; + background-color: @mantle; + } + + .concept_light { + border-bottom-color: @overlay0; + } + + .concept_light-status .concept_light-tag { + color: @base; + background-color: @subtext0; + + &.concept_light-common { + background-color: @green; + } + + a { + color: @base; + } + } + .concept_light-meanings { + .meaning-tags, + .meaning-definition-section_divider { + color: @subtext0; + } + } + + .concept_light .sentence, + .meaning-abstract, + .supplemental_info { + color: @subtext0; + } + + .kanji_light { + border-bottom-color: @overlay0; + + .info { + color: @subtext0; + } + } + + .sentences_block .sentence { + border-bottom-color: @overlay0; + } + + #secondary aside .minor-text { + color: @subtext0; + } + + .kanji-details__main-readings-list a { + border-bottom-color: @subtext0; + } + + .kanji_strokes { + .kanji_play_button, + .replay_button, + .toggle_kanji_actions { + color: @text; + background-color: transparent; + } + + .actions { + background-color: @base; + + h3 { + color: @text; + } + } + + .noUi-target { + .noUi-background { + background-color: @accent; + } + + .noUi-base { + border-color: @surface1; + } + + .noUi-origin { + background-color: @overlay0; + } + + .noUi-handle { + background-color: @text; + border-color: @surface2; + } + + .noUi-active { + background-color: @subtext0; + } + } + } + + .stroke_order_diagram--bounding_box, + .stroke_order_diagram--guide_line { + stroke: @surface0; + } + + .stroke_order_diagram--path_start { + fill: fade(@red, 80%); + } + + .stroke_order_diagram--current_path { + stroke: @text; + } + + .stroke_order_diagram--existing_path { + stroke: fade(@subtext0, 50%); + } + + .kanji { + table { + background-color: @mantle; + border-color: @overlay0; + } + + tr { + background-color: @surface0; + + td { + color: @subtext0; + } + } + } + + .discussion_thread { + .comment_body { + background-color: @surface0; + border-color: @overlay0; + + .discussion_status { + background-color: @surface1; + border-bottom-color: @overlay0; + color: @subtext0; + } + + .discussion_about { + background-color: mix(@surface0, @teal, 80%); + color: @teal; + } + + .comment_status { + background-color: @surface2; + color: @subtext0; + } + } + + .discussion_title a { + color: @text !important; + } + } + + footer { + .ornament { + background-color: @red; + box-shadow: 0 0 10px 5px if(@flavor = latte, @base, @overlay0); + } + } + } +} diff --git a/styles/keybr.com/README.md b/styles/keybr.com/README.md new file mode 100644 index 0000000000..aee77c4b11 --- /dev/null +++ b/styles/keybr.com/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for keybr.com + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [janTatesa](https://github.com/janTatesa) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/keybr.com/catppuccin.user.less b/styles/keybr.com/catppuccin.user.less new file mode 100644 index 0000000000..757192b575 --- /dev/null +++ b/styles/keybr.com/catppuccin.user.less @@ -0,0 +1,108 @@ +/* ==UserStyle== +@name keybr.com Catppuccin +@namespace github.com/catppuccin/userstyles/styles/keybr.com +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/keybr.com +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/keybr.com/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Akeybr.com +@description Soothing pastel theme for keybr.com +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("keybr.com") { + html[data-color="dark"] { + #catppuccin(@darkFlavor); + } + html[data-color="light"] { + #catppuccin(@lightFlavor); + } + html[data-color="system"] { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --primary-d2: @overlay0; + --primary-d1: @overlay0; + --primary: @base; + --primary-l1: @crust; + --primary-l2: @mantle; + --secondary-d1: @subtext0; + --secondary: @text; + --secondary-l1: @subtext0; + --secondary-l2: @accent; + --secondary-f1: @subtext0; + --secondary-f2: @subtext0; + --accent-d2: @accent; + --accent-d1: @accent; + --accent: @accent; + --accent-l1: @accent; + --accent-l2: @accent; + --error-d1: @red; + --error: @red; + --error-l1: @red; + --shadow-color: fade(@crust, 88%); + --slow-key-color: @red; + --fast-key-color: @green; + --Chart-speed__color: @green; + --Chart-accuracy__color: @peach; + --Chart-complexity__color: @pink; + --Chart-threshold__color: @maroon; + --Chart-hist-h__color: @lavender; + --Chart-hist-m__color: @maroon; + --Chart-hist-r__color: @mauve; + --KeyboardKey-pointer__color: @accent; + --KeyboardKey-symbol__color: @crust; + --pinky-zone-color: @green; + --ring-zone-color: @teal; + --middle-zone-color: @yellow; + --left-index-zone-color: @blue; + --right-index-zone-color: @maroon; + --thumb-zone-color: @mauve; + --effort-0-color: @crust; + --effort-1-color: @crust; + --effort-2-color: @accent; + --effort-3-color: @accent; + --Value--more__color: @green; + --Value--less__color: @red; + --KeyboardKey-button--depressed__color: @accent; + --LessonKey--included__color: @crust; + --LessonKey--uncalibrated__background-color: @surface0; + --LessonKey--excluded__background-color: @surface0; + --LessonKey--excluded__color: @overlay0; + --DailyGoal-bar__color: @accent; + --KeyboardKey-button__color: @accent; + --textinput__color: @text; + --textinput--special__color: @subtext1; + --textinput--hit__color: @subtext0; + --textinput--miss__color: @red; + --syntax-keyword: @mauve; + --syntax-string: @green; + --syntax-number: @peach; + --syntax-comment: @overlay2; + --MenuItem__background-color: @mantle; + --MenuItem__color: @text; + --MenuItem--hover__background-color: @surface0; + --MenuItem--hover__color: @text; + --KeyboardKey-symbol--dead__color: @red; + --KeyboardKey-symbol--ligature__color: @blue; + --Name-color: @subtext0; + --Value-color: @accent; + --effort-color: @accent; + } +} diff --git a/styles/keyoxide/README.md b/styles/keyoxide/README.md index d18b0fe72c..a6c5e59e22 100644 --- a/styles/keyoxide/README.md +++ b/styles/keyoxide/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/keyoxide/catppuccin.user.css b/styles/keyoxide/catppuccin.user.css deleted file mode 100644 index 4edbf6350a..0000000000 --- a/styles/keyoxide/catppuccin.user.css +++ /dev/null @@ -1,306 +0,0 @@ -/* ==UserStyle== -@name Keyoxide Catppuccin -@namespace github.com/catppuccin/userstyles/styles/keyoxide -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/keyoxide -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/keyoxide/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Akeyoxide -@description Soothing pastel theme for Keyoxide -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document url-prefix('https://keyoxide.org') -{ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @text-filter: @catppuccin[@@lookup][@text-filter]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --primary-color: @accent-color; - --primary-color-subtle: lighten(@accent-color, 5%); - --body-background-color: @mantle; - --section-background-color: @base; - --text-color: @text; - --text-color-subtle: @subtext1; - --text-color-inverse: @crust; - - --link-color: @blue; - --link-color-subtle: var(--text-color); - --link-color-hover: lighten(@blue, 5%); - --line-color-subtle: @surface1; - --button-text-color: var(--text-color); - --button-text-color-hover: var(--text-color); - --button-border-color: @surface0; - --button-border-color-hover: @surface0; - --button-background-color: @surface0; - --button-background-color-hover: @surface1; - --input-text-color: var(--text-color); - --input-text-color-hover: var(--text-color); - --input-border-color: @surface0; - --input-border-color-hover: @surface0; - --input-background-color: @mantle; - --input-background-color-hover: @mantle; - --footer-text-color: var(--text-color-subtle); - - .kx-item details summary .info img, - .kx-item details .subsection > img { - filter: @text-filter; - } - - kx-claim, - kx-key { - --loader-color: @subtext1; - --success-color: @green; - --failure-color: @red; - --background-color: @surface0; - --header-background-color: @surface1; - } - - a.button.button--donate.button--opencollective { - background-color: @blue; - color: @crust; - - &:hover { - background-color: lighten(@blue, 5%); - } - - svg { - fill: @crust; - } - } - } -} - -@-moz-document domain('docs.keyoxide.org'), domain('blog.keyoxide.org') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @text-filter: @catppuccin[@@lookup][@text-filter]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - background-color: @base; - - --clr-primary-100: @crust; - --clr-primary-99: @crust; - --clr-primary-98: @mantle; - --clr-primary-95: @base; - --clr-primary-90: lighten(@accent-color, 30%); - --clr-primary-80: lighten(@accent-color, 20%); - --clr-primary-70: lighten(@accent-color, 10%); - --clr-primary-60: @accent-color; - --clr-primary-50: darken(@accent-color, 5%); - --clr-primary-40: darken(@accent-color, 10%); - --clr-primary-35: darken(@accent-color, 15%); - --clr-primary-30: darken(@accent-color, 20%); - --clr-primary-25: darken(@accent-color, 25%); - --clr-primary-20: darken(@accent-color, 30%); - --clr-primary-10: darken(@accent-color, 35%); - --clr-primary-0: @text; - --clr-primary: @accent-color; - --clr-header: @text; - --clr-header-subtle: @subtext1; - --clr-text: @text; - --clr-text-subtle: @subtext1; - --clr-bg: @mantle; - --clr-bg-alt: @crust; - --clr-border: @surface0; - --clr-link: @blue; - - --clr-secondary-20: @subtext1; - - nav a.active { - color: @crust; - } - - .quick-links img, - [src="/chevron-up.svg"], - [src="/chevron-down.svg"] { - filter: @text-filter; - } - img[title="Keyoxide logo"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - table { - &, - td { - border-color: @surface0; - } - } - - pre { - background-color: @mantle !important; - color: @text !important; - - span[style="color:#c82728;"] { - color: @blue !important; - } - span[style="color:#4271ae;"], - span[style="color:#f07219;"] { - color: @green !important; - } - span[style="color:#8e908c;"] { - color: @overlay0 !important; - } - span[style="color:#8959a8;"] { - color: @mauve !important; - } - span[style="color:#839c00;"] { - color: @green !important; - } - span[style="color:#3e999f;"] { - color: @teal !important; - } - } - - .info { - background-color: @mantle; - - &::before { - background-color: @sky; - color: @crust; - } - } - - .warning { - background-color: @mantle; - - &::before { - background-color: @yellow; - color: @crust; - } - } - - .widget { - background-color: fade(@accent-color, 60%); - border-color: @accent-color; - - .title { - color: @text; - } - - input, - select { - background-color: @mantle; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @text-filter: brightness(0) saturate(100%) invert(32%) sepia(14%) saturate(808%) hue-rotate(196deg) brightness(92%) contrast(95%); @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @text-filter: brightness(0) saturate(100%) invert(82%) sepia(17%) saturate(401%) hue-rotate(191deg) brightness(97%) contrast(98%); @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @text-filter: brightness(0) saturate(100%) invert(72%) sepia(78%) saturate(147%) hue-rotate(195deg) brightness(103%) contrast(92%); @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @text-filter: brightness(0) saturate(100%) invert(94%) sepia(11%) saturate(2056%) hue-rotate(182deg) brightness(96%) contrast(99%); @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/keyoxide/catppuccin.user.less b/styles/keyoxide/catppuccin.user.less new file mode 100644 index 0000000000..e5d96531ad --- /dev/null +++ b/styles/keyoxide/catppuccin.user.less @@ -0,0 +1,216 @@ +/* ==UserStyle== +@name Keyoxide Catppuccin +@namespace github.com/catppuccin/userstyles/styles/keyoxide +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/keyoxide +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/keyoxide/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Akeyoxide +@description Soothing pastel theme for Keyoxide +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document url-prefix("https://keyoxide.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --primary-color: @accent; + --primary-color-subtle: lighten(@accent, 5%); + --body-background-color: @mantle; + --section-background-color: @base; + --text-color: @text; + --text-color-subtle: @subtext1; + --text-color-inverse: @crust; + + --link-color: @blue; + --link-color-subtle: var(--text-color); + --link-color-hover: lighten(@blue, 5%); + --line-color-subtle: @surface1; + --button-text-color: var(--text-color); + --button-text-color-hover: var(--text-color); + --button-border-color: @surface0; + --button-border-color-hover: @surface0; + --button-background-color: @surface0; + --button-background-color-hover: @surface1; + --input-text-color: var(--text-color); + --input-text-color-hover: var(--text-color); + --input-border-color: @surface0; + --input-border-color-hover: @surface0; + --input-background-color: @mantle; + --input-background-color-hover: @mantle; + --footer-text-color: var(--text-color-subtle); + + .kx-item details summary .info img, + .kx-item details .subsection > img { + filter: @text-filter; + } + + kx-claim, + kx-key { + --loader-color: @subtext1; + --success-color: @green; + --failure-color: @red; + --background-color: @surface0; + --header-background-color: @surface1; + } + + a.button.button--donate.button--opencollective { + background-color: @blue; + color: @crust; + + &:hover { + background-color: lighten(@blue, 5%); + } + + svg { + fill: @crust; + } + } + } +} + +@-moz-document domain("docs.keyoxide.org"), domain("blog.keyoxide.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + + @text-filter: @catppuccin-filters[@@flavor][@text]; + + #lib.defaults(); + + background-color: @base; + + --clr-primary-100: @crust; + --clr-primary-99: @crust; + --clr-primary-98: @mantle; + --clr-primary-95: @base; + --clr-primary-90: lighten(@accent, 30%); + --clr-primary-80: lighten(@accent, 20%); + --clr-primary-70: lighten(@accent, 10%); + --clr-primary-60: @accent; + --clr-primary-50: darken(@accent, 5%); + --clr-primary-40: darken(@accent, 10%); + --clr-primary-35: darken(@accent, 15%); + --clr-primary-30: darken(@accent, 20%); + --clr-primary-25: darken(@accent, 25%); + --clr-primary-20: darken(@accent, 30%); + --clr-primary-10: darken(@accent, 35%); + --clr-primary-0: @text; + --clr-primary: @accent; + --clr-header: @text; + --clr-header-subtle: @subtext1; + --clr-text: @text; + --clr-text-subtle: @subtext1; + --clr-bg: @mantle; + --clr-bg-alt: @crust; + --clr-border: @surface0; + --clr-link: @blue; + + --clr-secondary-20: @subtext1; + + nav a.active { + color: @crust; + } + + .quick-links img, + [src="/chevron-up.svg"], + [src="/chevron-down.svg"] { + filter: @text-filter; + } + img[title="Keyoxide logo"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + table { + &, + td { + border-color: @surface0; + } + } + + pre { + background-color: @mantle !important; + color: @text !important; + + span[style="color:#c82728;"] { + color: @blue !important; + } + span[style="color:#4271ae;"], + span[style="color:#f07219;"] { + color: @green !important; + } + span[style="color:#8e908c;"] { + color: @overlay0 !important; + } + span[style="color:#8959a8;"] { + color: @mauve !important; + } + span[style="color:#839c00;"] { + color: @green !important; + } + span[style="color:#3e999f;"] { + color: @teal !important; + } + } + + .info { + background-color: @mantle; + + &::before { + background-color: @sky; + color: @crust; + } + } + + .warning { + background-color: @mantle; + + &::before { + background-color: @yellow; + color: @crust; + } + } + + .widget { + background-color: fade(@accent, 60%); + border-color: @accent; + + .title { + color: @text; + } + + input, + select { + background-color: @mantle; + } + } + } +} diff --git a/styles/keyoxide/preview.webp b/styles/keyoxide/preview.webp deleted file mode 100644 index 7c0730851b..0000000000 --- a/styles/keyoxide/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29d11a7613e01415057fcf11ab946bbaa0df2d91337dd4376923bb1666c27f5a -size 69306 diff --git a/styles/lastfm/README.md b/styles/lastfm/README.md index f19599571c..9781e30fcf 100644 --- a/styles/lastfm/README.md +++ b/styles/lastfm/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/lastfm/catppuccin.user.css b/styles/lastfm/catppuccin.user.css deleted file mode 100644 index 01b1c32ff9..0000000000 --- a/styles/lastfm/catppuccin.user.css +++ /dev/null @@ -1,1728 +0,0 @@ -/* ==UserStyle== -@name Last.fm Catppuccin -@namespace github.com/catppuccin/userstyles/styles/lastfm -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lastfm -@version 1.2.0 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lastfm/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alastfm -@description Soothing pastel theme for Last.fm -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("last.fm") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @accent-color-dim: darken(@accent-color, 3%); - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - & when not (@lookup = latte) { - @accent-color-dim: fadeout(@accent-color, 50); - .layout-image { - background: @base; - .layout-image-image { - &[src="https://lastfm.freetls.fastly.net/i/u/300x300/4128a6eb29f94943c9d206c08e625904.jpg"], - &[src="https://lastfm.freetls.fastly.net/i/u/237x178/2a96cbd8b46e442fc41c2b86b821562f.jpg"], - &[src="https://lastfm.freetls.fastly.net/i/u/300x300/c6f59c1e5e7240a4c0d427abd71f3dbb.jpg"] - { - mix-blend-mode: screen; - filter: invert(1); - } - } - } - [src="https://lastfm.freetls.fastly.net/i/u/avatar70s/2a96cbd8b46e442fc41c2b86b821562f.jpg"], - [src="https://lastfm.freetls.fastly.net/i/u/64s/4128a6eb29f94943c9d206c08e625904.jpg"], - [src="https://lastfm.freetls.fastly.net/i/u/64s/c6f59c1e5e7240a4c0d427abd71f3dbb.jpg"] - { - mix-blend-mode: screen; - filter: invert(1); - } - .cover-art { - background: @base; - } - .avatar::after, - .cover-art::after, - .image-list-item::after, - .video-thumbnail::after { - box-shadow: inset 0 0 0 1px rgb(@subtext0, 7%); - } - } - - /* ------UNIVERSAL STYLES INCASE SOME GET MISSED------ */ - body { - color: @text; - background: @base; - } - h1 { - color: @accent-color; - } - .mimic-link { - color: @sapphire; - } - hr { - border-color: @overlay1; - } - a { - color: @accent-color; - &:hover { - color: @accent-color-dim; - } - } - - // Mixin to dynamically set colors of album, artist and track categories - - .category-colors() { - &artist { - --category-background: @yellow; - } - &album { - --category-background: @green; - } - &track { - --category-background: @blue; - } - } - - // Evil image mask hack - // Use as follows: - // .maskimage(mask-image, background-color, mask-position, mask-size, mask-repeat); - // Setting any value to "skip" skips that attribute - .mask-image(@mask-image: url(""), @mask-color: skip, @mask-position: skip, @mask-size: skip, @mask-repeat: skip) { - & when not (@mask-color = skip) { - background-image: none !important; - background-color: @mask-color; - } - & when not (@mask-image = skip) { - mask-image: @mask-image; - -webkit-mask-image: @mask-image; - } - & when not (@mask-position = skip) { - mask-position: @mask-position; - -webkit-mask-position: @mask-position; - } - & when not (@mask-size = skip) { - mask-size: @mask-size; - -webkit-mask-size: @mask-size; - } - & when not (@mask-repeat = skip) { - mask-repeat: @mask-repeat; - -webkit-mask-repeat: @mask-repeat; - } - } - /* -----------------SETTINGS------------------- */ - .content-form .form-row-help-text, - .footnotes { - color: @overlay0; - } - .content-form legend { - color: @subtext1; - } - .change-username-upsell { - background: @mantle; - } - .change-username-faded h2::after { - .mask-image(url("/static/images/icons/lock_dark_24@2x.a7652d49d507.png"), @overlay0, skip, 24px 24px, no-repeat); - } - /* -----------CHECKBOXES, DROPDOWNS AND RADIOS---------- */ - .lfm-form-radio input[type="radio"]:checked + label::before { - border-color: @accent-color; - box-shadow: inset 0 0 0 4px @accent-color; - background-color: @base; - } - .lfm-form-radio input[type="radio"] + label::before { - background-color: @crust; - border-color: @surface1; - } - .content-form select { - background-image: none; // Tempfix - } - - /* HOME PAGE */ - .main-content, - .container, - .content-top-has-nav .content-top, - .two-column-layout .content-top { - background-color: @base; - } - - .content-top-has-nav .content-top::after, - .two-column-layout .content-top::after { - border-top-color: @accent-color-dim; - } - - .homefeed .content-top .secondary-nav-item-link--active, - .home-welcome-header { - color: @text; - } - .secondary-nav-item-link { - color: @subtext0; - } - - .secondary-nav-item-link:focus, - .secondary-nav-item-link:hover, - .homefeed .content-top .secondary-nav-item-link--active, - .homefeed .content-top .secondary-nav-item-link--active:focus, - .homefeed .content-top .secondary-nav-item-link--active:hover { - color: @text; - } - - .homefeed { - .content-top .secondary-nav-item { - &--artists, - &--albums, - &--tracks, - &--events { - .secondary-nav-item-link:hover::after { - background-color: @accent-color-dim; - } - } - } - &--artists, - &--albums, - &--tracks, - &--events { - .content-top .secondary-nav-item-link--active::after { - background-color: @accent-color-dim; - } - } - } - .recs-feed .recs-feed, - .grid-items { - &-cover-image-wrap::after { - background-image: linear-gradient( - 180deg, - transparent 0, - rgba(@mantle, 0.4) 50%, - rgba(@mantle, 0.7) 50%, - rgba(@mantle, 0.7) 100% - ); - } - } - - .recs-feed .context { - background: @mantle; - color: @text; - box-shadow: none; - box-shadow: - inset 1px 0 darken(@mantle, 3%), - inset -1px -1px @crust; - } - .recs-feed .recs-feed-item { - background: transparent; - box-shadow: none; - } - - .stationlink-list .stationlink { - color: @subtext0; - &:focus, - &:hover { - color: @text; - &::before { - background-color: @subtext0; - } - } - &::after { - border-bottom-color: @accent-color-dim; - } - &::before { - background-color: @accent-color; - -webkit-filter: invert(0%); - filter: invert(0%); - } - } - - .subscribe-cta, - .mpu-subscription-upsell, - .mpu-subscription-upsell--mpu { - display: none; - } - .join-cta { - background-color: transparent; - } - .join-cta h3 { - color: @accent-color; - } - - .lazy-features-footer { - display: none; - } - /* ERROR */ - #error { - color: @text; - } - - /* LIVE */ - /* MUSIC */ - .content-top-header { - color: @accent-color; - } - - .minimal-navigation-item-link { - &, - &:focus, - &:hover { - color: @subtext0; - } - } - - .minimal-navigation-item-link--active, - .music-section-heading, - .music-more-artists-item-name a, - .music-releases-item-name a { - &, - &:focus, - &:hover { - color: @text; - } - } - - .music-releases-item-artist, - .column-tracks-item-name, - .column-tracks-item-artist, - .music-gallery-artist { - color: @text; - } - - .music-section-rediscover-subscribe-banner-cta { - background-color: @base; - } - - /* PROFILE */ - /* BANNER */ - .header--overview .header-background { - opacity: 0.4; - } - - /* SEARCH */ - .artist-result-heading, - .album-result-heading { - color: @text; - } - - /* RECOMMENDATIONS */ - & when not (@lookup = "latte") { - .recs-feed-title a { - color: @text !important; - } - } - & when (@lookup = "latte") { - .recs-feed-title a { - color: @crust !important; - } - } - .recs-feed-item, - .recs-feed .recs-feed-item { - &-- { - .category-colors(); - } - } - @media (min-width: 768px) { - .recs-feed .context::before { - border-radius: 50%; - content: ""; - height: 32px; - left: auto; - position: absolute; - right: 15px; - top: -16px; - width: 32px; - background: var(--category-background) !important; - z-index: 1; - } - .recs-feed .recs-feed-item .context::after { - .mask-image(url("/static/images/icons/rec_types_16.93a8040cce71.png"), @crust, 0 0, 32px 160px, no-repeat); - z-index: 2; - } - .recs-feed .recs-feed-item--album .context::after { - -webkit-mask-position: 0 -64px; - } - .recs-feed .recs-feed-item--artist .context::after { - -webkit-mask-position: 0 -32px; - } - } - .recs-feed .context-love-icon::before { - .mask-image(url("/static/images/icons/love_12.be2fe9170476.png"), @red, 0 0, 12px 12px, no-repeat); - } - .secondary-nav { - box-shadow: inset 0 -1px @accent-color; - } - .music-recommended-artists-artist-name, - .music-recommended-artists-context, - .pagination-page, - .pagination-next { - color: @text; - } - - .music-recommended-albums- { - &item-name, - &album-artist, - &album-context { - color: @text; - } - } - - .recommended-tracks-item-name, - .recommended-tracks-item-artist, - .big-tags-item-context { - color: @text; - } - - p { - color: @subtext0; - } - - /* RECAP PROMOS */ - .promo-v3 .listening-report-promo { - background: @mantle; - border-color: rgba(@mantle, 0.5); - &:hover, - &:focus { - background: @crust; - border-color: rgba(@crust, 0.5); - } - &-date::after { - .mask-image(url("/static/images/listening-report/v3/report-arrow-up.b6c5a2eb4c3b.svg"), @text, skip, contain); - height: 0; - width: 0; - padding: 7px; - filter: none; - } - } - - /* CHARTS */ - .adaptive-skin-wrapper, - .row { - background-color: @base; - } - - .two-column-layout .container { - background-size: 0; - background-position: 0 0; - background-color: @base; - } - - ._buffer-reset, - .sidebar-heading { - color: @accent-color; - } - - .sidebar-group-heading { - color: @text; - } - - .resource-list--sidebar-item-name { - color: @text; - } - .js-link-block.globalchart-item { - background-color: @crust; - box-shadow: - 0 1px @base, - inset 0 -1px @base; - } - .globalchart a, - .globalchart a:focus, - .globalchart a:hover { - color: @text; - } - - .footer-top-row { - background-color: @mantle; - } - - /* EVENTS */ - .events-filter, - .events-filter-recommended, - .dropdown-menu-clickable-button:focus, - .dropdown-menu-clickable-button:hover { - color: @text; - } - - .events-filters { - border-bottom-color: @accent-color; - } - - .events-list-item-venue--address, - .events-list-item-event--lineup { - color: @subtext0; - } - .events-list-anhv1 a, - .events-list-anhv1 a:focus, - .events-list-anhv1 a:hover, - .events-list-item-event--title, - .events-list-item-venue--title { - color: @text; - } - - /* FEATURES */ - .features-header .features-teaser-body, - .features-teaser-wrap--promoted .features-teaser-body { - background: @base; - } - - .features-teaser-title a, - .features-teaser-title a:focus, - .features-teaser-title a:hover { - color: @text; - } - - /* FEATURES POST */ - .features-post-header-body { - background-color: @base; - } - - .features-post-header-title { - color: @accent-color; - } - - .features-post-artist { - color: @text; - } - - .features-post-byline-item.features-post-author { - color: @text; - } - - /* PROFILE */ - .header-avatar-add { - &, - &:not(.cta--inactive):focus, - &:not(.cta--inactive):hover { - background-color: @accent-color-dim; - } - } - .dropdown-menu-clickable, - #share-library-artist, - .dropdown-menu-clickable-item:active, - body:not([data-whatinput="touch"]) .dropdown-menu-clickable-item:focus, - body:not([data-whatinput="touch"]) .dropdown-menu-clickable-item:hover { - background-color: @base; - } - .header--overview { - background-color: @base; - } - .header-metadata .header-metadata-title, - .header-scrobble-since, - .header-title-display-name { - color: @subtext1; - } - .chartlist-play-button::before { - background-color: @accent-color; - -webkit-filter: invert(0%); - filter: invert(0%); - } - .chartlist-play-button:focus:focus::before, - .chartlist-play-button:focus:hover::before, - .chartlist-play-button:hover:focus::before, - .chartlist-play-button:hover:hover::before { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); - background-color: @subtext0; - } - - .text-Color-link, - h2, - .dropdown-menu-clickable-button.disclose-active { - color: @accent-color; - } - .dropdown-menu-clickable-button, - .dropdown-menu-clickable-item--selected { - &, - &:focus, - &:hover { - color: @accent-color; - } - } - .dropdown-menu-clickable-item, - .dropdown-menu-clickable-item:active, - body:not([data-whatinput="touch"]) .dropdown-menu-clickable-item:focus, - body:not([data-whatinput="touch"]) .dropdown-menu-clickable-item:hover { - color: @text; - } - .btn-secondary { - background-color: @accent-color-dim; - color: @crust; - } - - body:not(.js-focus-visible) - body:not([data-whatinput="touch"]) - .btn-secondary:focus, - body:not([data-whatinput="touch"]) .btn-secondary .focus-visible, - body:not([data-whatinput="touch"]) .btn-secondary:hover { - background-color: @accent-color; - color: @crust; - } - input[type="password"] { - background-color: @crust !important; - border-color: @crust !important; - } - - @keyframes chartlist-anim { - 0% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 51%; - } - 100% { - background-position: 0% 50%; - } - } - @keyframes chartlist-anim { - 0% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 51%; - } - 100% { - background-position: 0% 50%; - } - } - @keyframes chartlist-anim { - 0% { - background-position: 0% 50%; - } - 50% { - background-position: 100% 51%; - } - 100% { - background-position: 0% 50%; - } - } - - .chartlist-row--highlight, - .chartlist-row--now-scrobbling { - /* background-color: #5a1717; */ - background: linear-gradient(270deg, @base 60%, rgba(@accent-color, 0.2)); - background-size: 200% 200%; - -webkit-animation: chartlist-anim 10s ease infinite; - -moz-animation: chartlist-anim 10s ease infinite; - animation: chartlist-anim 10s ease infinite; - } - - .chartlist-name, - .chartlist-artist { - color: @subtext0; - } - - .chartlist-break::after, - .chartlist-row::after { - border-bottom-color: @surface0; - } - - .chartlist-row:hover { - background-color: @crust; - } - - .chartlist-count-bar-slug { - background-color: transparent !important; - background-image: linear-gradient(to right, @accent-color, @accent-color); - color: @crust; - } - .chartlist-count-bar-value { - color: @crust; - } - a:focus .chartlist-count-bar-slug, - a:hover .chartlist-count-bar-slug { - background-color: @accent-color-dim; - } - - .chartlist-count-bar-link { - &, - &:focus, - &:hover { - color: @text; - } - } - - .shout-form textarea { - background-color: @crust; - } - - .chartlist-index { - color: @text; - } - - .chartlist tr:nth-child(1) td.chartlist-index { - color: @accent-color; - } - - /* LISTENING REPORT */ - - // Set color for containers - - .report-box-container { - background: @mantle; - color: @text; - } - - // Topmost report box - - .report-box-container--overview { - background: @accent-color; - color: @base; - // Top border design (////) - .report-headline-border { - .mask-image(url("/static/images/listening-report/v3/bg-lines.73682e46b8be.svg")); - background: @base; - } - .report-headline-top { - color: @base; - border-bottom-color: @base; - } - // Comparison badge colors - .report-headline-meta - .badge-container - .report-badge.report-badge--comparison { - border-color: @base; - .report-arrow { - background: @base; - } - } - // Topmost report chart styling - .report-headline__chart { - .highcharts-series-0 .highcharts-point { - fill: @base; - stroke: rgba(@base, 0.5); - } - .highcharts-series-1 .highcharts-point { - fill: rgba(@base, 0.5); - stroke: transparent; - } - .highcharts-axis-labels { - stroke: @base; - } - } - } - // Middle report containers - .user-dashboard-layout--version-3 .main-content, - .user-dashboard-layout--version-3 .user-dashboard > .container { - // Set background - background: @base; - .listening-report-row { - // Header divider colors follow accent - border-bottom-color: @accent-color; - } - .top-item-overview { - // Style category boxes - &-- { - .category-colors(); - } - background: var(--category-background); - color: @base; - // Badge color is base on accent - .badge-container { - .report-badge { - border-color: @base; - } - .report-badge--comparison .report-arrow { - background: @base; - } - } - // Chart styling - .highcharts-series-group .highcharts-point { - fill: @base; - } - } - // Set color for badges - .listening-report-top-item { - &-- { - .category-colors(); - } - .listening-report-top-item-badge { - background: var(--category-background); - } - color: @text; - } - .top-new-item-type { - &__ { - .category-colors(); - } - background: var(--category-background); - } - // Triangle visualizer comparison subtext - .triangle-ratio--details .comparison { - color: @subtext0; - } - // Style badges on mantle background - .badge-container .report-badge--comparison { - border-color: @text; - .report-arrow { - background: @text; - vertical-align: initial; - } - } - // Style subtext - .quick-fact-row { - color: @subtext1; - &:hover { - color: @text; - } - } - .listening-report-highlight-comparison, - .quick-fact-comparison-text { - color: @subtext0; - } - // User comparison icons - .tag-label { - background: linear-gradient( - 90deg, - darken(@accent-color, 5%), - @accent-color - ); - // Total scrobbles header - &--total-scrobbles::before { - .mask-image(url("/static/images/icons/icon-scrobble.66a5e6978c62.svg"), @base); - } - // Highest discovery header - &--discovery::before { - .mask-image(url("/static/images/icons/icon-compass.ce30ab3b6240.svg"), @base); - } - } - .header-metadata-title { - color: @text; - } - .listening-report-brick { - &-divider { - border-color: @surface0; - } - &-head { - border-bottom-color: @crust; - } - &-inner:hover { - background: mix(@mantle, @base); - } - &-item-scrobbles { - color: @overlay1; - } - // Highlight self for higher or lower position on chart - &-inner--highlight { - &.listening-report-highlight--down { - background: rgba(@red, 0.1); - &:hover { - background: rgba(@red, 0.15); - } - } - &.listening-report-highlight--up { - background: rgba(@green, 0.1); - &:hover { - background: rgba(@green, 0.15); - } - } - } - } - } - - // footer - .user-dashboard-layout--version-3 .footer { - background-color: @mantle; - } - - // Top tags visualizer: Rainbow colors implemented from Catppuccin Palette - - @gradient-colors: @rosewater, @flamingo, @pink, @mauve, @red, @maroon, - @peach, @yellow, @green, @teal, @sky, @sapphire, @blue, @lavender; - each(range(0, 11), { - - .report-box-container--top-tags-over-time .top-tags-over-time-colour-@{value} { - fill: extract(@gradient-colors, @value + 1); - stroke: extract(@gradient-colors, @value + 1); - } - }); - - .highcharts-radial-axis-grid .highcharts-grid-line { - stroke: @surface0; - } - - // universal report arrows - .report-arrow { - .mask-image(url("/static/images/listening-report/v3/report-arrow-up.b6c5a2eb4c3b.svg"), @base, skip, contain); - background-size: contain; - padding: 4px; - margin: 2px; - height: 0; - width: 0; - filter: invert(0) !important; - } - - .music-decades-chart-container { - .highcharts-series-1 .highcharts-point { - fill: rgba(@accent-color, 0.5); - } - } - - /* SHOUT BOX */ - - .shout { - &--active { - background-color: fadeout(@surface1, 0.3); - } - - &, - &-form { - border-bottom-color: @surface0; - } - &-user a { - color: @text; - } - &-timestamp, - &-reply { - color: @subtext0; - &:hover { - color: @overlay2; - } - } - &-reply::before { - .mask-image(url("/static/images/icons/reply_sprite_16@2x.a145ef7db2f5.png"), @subtext0, skip, 16px 32px); - } - - &-form { - border-color: none; - } - &-permalink.shout-permalink { - &:focus, - &:hover { - color: @overlay2; - } - } - .vote-button { - color: @overlay1; - &::before { - .mask-image(url("/static/images/icons/upvote_sprite_16@2x.5e02a31189da.png"), @overlay2, 0 0, 16px 32px); - } - &--voted { - color: @green; - &::before { - .mask-image(skip, @green, 0 -16px, skip); - } - } - } - } - - /* LIBRARY */ - .col-sidebar._buffer-sidebar - > figure - > div - > div - > svg - > .highcharts-background { - fill: @base; - } - - .highcharts-point { - fill: @accent-color-dim; - &-select { - fill: @accent-color; - } - } - - .highcharts-axis-labels > text { - fill: @text !important; - } - - #scrobble-chart-content { - .highcharts-background { - fill: @base; - } - .highcharts-point { - fill: rgba(@accent-color, 0.2); - } - .highcharts-xaxis .highcharts-axis-line, - .highcharts-yaxis-grid .highcharts-grid-line { - stroke: @surface2; - stroke-width: 1; - } - .highcharts-axis-title { - fill: @subtext0 !important; - } - } - - /* FOLLOWING */ - .user-list-name { - color: @text; - } - .user-follow, - .user-follow::after { - color: @accent-color; - background-color: @surface0; - } - - /* FOLLOW BUTTON */ - [data-toggle-button-current-state="unfollowed"] - .header-follower-btn::before { - background-color: @red; - color: @text; - } - [data-toggle-button-current-state="followed"] .header-follower-btn::before { - background-color: @green; - color: @text; - } - [data-toggle-button-current-state="followed"] - .header-follower-btn:hover::before { - background-color: @red; - color: @text; - } - - .header-follower-btn { - color: @accent-color; - } - - /* BOOKMARKS */ - .music-bookmarks-artists-item-name { - color: @text; - } - - /* TASTE-O-METER COLORS */ - .tasteometer-donut-base { - fill: @surface1; - } - .tasteometer-avatar img { - border-color: @surface1; - } - .tasteometer-compat-very_low .tasteometer-compat-colour { - color: @subtext0; - fill: @subtext0; - } - .tasteometer-compat-low .tasteometer-compat-colour { - color: @mauve; - fill: @mauve; - } - .tasteometer-compat-medium .tasteometer-compat-colour { - color: @green; - fill: @green; - } - .tasteometer-compat-very_high .tasteometer-compat-colour { - color: @peach; - fill: @peach; - } - .tasteometer-compat-super .tasteometer-compat-colour { - color: @red; - fill: @red; - } - - /* ARTIST */ - .section-with-separator::after { - background-color: @base; - } - body .header-new-bookmark-button, - body .header-new-download-button, - body .header-new-love-button, - body .header-new-more-button { - color: @base; - background-color: @accent-color; - } - body:not([data-whatinput="touch"]) { - .header-new-bookmark-button, - .header-new-download-button, - .header-new-love-button, - .header-new-more-button { - .focus-visible, - &:hover { - color: @base; - background-color: @accent-color; - } - } - } - .wiki-block-inner, - .catalogue-metadata-heading, - .catalogue-metadata-description, - .header-metadata-tnew-title { - color: @subtext0; - } - - .text-18 { - color: @accent-color; - } - - .artist-similar-artists-sidebar-item-name, - .artist-top-albums-item-name, - .listeners-section-item-name, - .catalogue-overview-similar-artists-full-width-item-name, - .similar-albums-item-name, - .discovery-stat-top-item-name, - .source-album-artist, - .source-album-name, - .track-similar-tracks-item-name, - .about-artist-name, - .catalogue-overview-similar-artists-item-name { - a { - &, - &:focus, - &:hover { - color: @text; - } - } - } - - .events-list-item-event-name.link-block-target > span { - color: @text; - } - - .events-list-item-venue > span { - color: @subtext0; - } - - .resource-external-link, - .resource-external-link:hover { - color: @text; - } - .js-playlink-station.desktop-playlink.inline-section-control.stationlink { - color: @text; - } - .section-with-settings .section-control::before { - border-right-color: @subtext0; - } - - .header-metadata .header-metadata-display a { - color: @accent-color; - } - - .big-artist-list-title a { - color: var(--subtext1); - } - .big-artist-list-title a:hover { - color: @text; - } - - /* SIMILAR ARTISTS */ - .similar-artists-item-name { - color: @text; - } - - .similar-artists-item-wiki-inner-2 { - color: @subtext0; - } - - .section-playlink::before { - background-color: @accent-color; - -webkit-filter: invert(0%); - filter: invert(0%); - } - - .section-playlink:hover::before { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); - background-color: @subtext0; - } - - .section-playlink.js-playlink-station { - color: @text; - } - - .stationlink::before { - background-color: @accent-color; - -webkit-filter: invert(0%); - filter: invert(0%); - } - - .stationlink:focus::before, - .stationlink:hover::before { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); - background-color: @subtext0; - } - - .video-preview-upload-cta { - background-color: @crust; - box-shadow: 0 0 0 2px @accent-color-dim; - } - - .video-preview-upload-cta:not(.cta--inactive):focus, - .video-preview-upload-cta:not(.cta--inactive):hover { - background-color: @base; - } - - .highcharts-plot-bands-0 > path { - fill: @overlay0; - } - - .listener-trend .highcharts-area { - fill: fadeout(@red, 0.1); - } - - .listener-trend .highcharts-graph { - stroke: @red; - } - - .Colored-cta { - background-color: fadeout(@surface2, 0.3); - } - .Colored-cta:not(.cta--inactive):focus, - .Colored-cta:not(.cta--inactive):hover { - background-color: fadeout(@surface2, 0.7); - } - .similar-items-sidebar-item-name { - color: @text; - } - .resource-list--release-list-item-name { - color: @text; - } - .shout--deleted, - .shout--reported { - background: @base; - } - .play-this-track-playlinks { - color: @text; - } - - /* WIKI */ - .factbox-item, - #factbox-more-members { - color: @subtext0; - } - - .factbox-item > h4 { - color: @accent-color; - } - - .alert-warning { - color: @peach; - background-color: @crust; - } - - .content-form { - .form-control, - input[type="date"], - input[type="email"], - input[type="number"], - input[type="password"], - input[type="text"], - input[type="url"], - select, - textarea { - background-color: @crust !important; - border-color: @crust !important; - color: @subtext0 !important; - &:focus { - box-shadow: none !important; - border-color: @crust !important; - } - &:hover:not([disabled]) { - border-color: @crust !important; - color: @text !important; - } - } - } - .control-label { - color: @accent-color; - } - .join-form .form-row-help-text { - color: @text; - background-color: @surface1; - } - #stylerules { - background-color: @overlay0; - color: @subtext0; - } - .secondary-nav-item-link--active::after, - a.secondary-nav-item-link:focus::after, - a.secondary-nav-item-link:hover::after { - background-color: @accent-color; - } - - /* DOCUMENTATION/API SECTION */ - #app { - .sidebar { - background: @mantle; - border-color: @mantle; - } - a.sidebar-link { - color: @text; - &:hover { - color: @accent-color; - } - } - .sidebar-heading { - color: @subtext1; - } - a.sidebar-link.active { - color: @accent-color; - border-left-color: @accent-color; - } - a { - color: @accent-color; - } - } - - /* OBSESSIONS */ - .obsession-history-play-all::before { - background-color: @accent-color; - -webkit-filter: invert(0%); - filter: invert(0%); - color: @text; - } - - .obsession-history-play-all.js-playlink-station.inline-section-control { - color: @text; - } - - .obsession-history-play-all:hover::before { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); - background-color: @subtext0; - } - - .obsession-search-result-header { - color: @accent-color; - } - - .obsession-candidate-heading { - color: @text; - } - - .modal-dialog.popup_content, - .modal-content { - background-color: @mantle; - box-shadow: none; - } - - .modal-body { - background-color: @base; - box-shadow: none; - } - - .content-form textarea:focus { - box-shadow: none; - } - - .content-form textarea:hover:not([disabled]) { - border-color: @accent-color; - } - - /* MESSAGES */ - .inbox-notifications .inbox-notifications__item { - color: @subtext0; - } - - .inbox-notifications .inbox-notifications__item--highlight { - background-color: @overlay0; - } - .inbox-notifications .inbox-notifications__item--hover { - box-shadow: none; - } - .inbox-notifications__item--highlight-hover:hover { - background-color: @crust; - } - - .inbox-message-subject { - color: @accent-color; - } - - .inbox-message-message { - color: @text; - } - - .inbox-message-view .inbox-message-message blockquote { - background: @crust; - border-color: @accent-color; - } - - body:not([data-whatinput="touch"]) - .inbox-notifications - .inbox-notifications__item--hover:hover { - background-color: @crust; - } - - .inbox .inbox-message { - background-color: @crust; - } - - .inbox .inbox-message--unviewed { - background-color: @overlay0; - } - - .inbox .inbox-message--unviewed .inbox-message-status::after { - background-color: @accent-color; - } - - /* ADS */ - .lastfm-ad { - display: none; - } - .full-bleed-ad-container, - .sidebar-ad-container { - background-color: @base; - } - - /* RECOMMENDATIONS ON PROFILE */ - .profile-card-content { - background: @surface0 !important; - } - /* UPGRADE TO PRO */ - .btn-subscribe, - .btn-subscribe:hover, - .btn-subscribe:active { - background-color: @accent-color !important; - } - .listening-report-brick--upsell { - display: none; - } - .your-progress { - color: @text; - } - /* ----Profile Cards Hide------- */ - .profile-cards-container { - display: none !important; - } - /* HEADER */ - .header--overview, - .header--sub-page { - color: @text; - } - /* -----Primary Button------ */ - .btn-primary, - .btn-primary:hover, - .btn-primary:active, - .no-data-message-button, - .no-data-message-button:hover, - .no-data-message-button:active, - .api-session-connect, - .api-session-disconnect:hover, - .api-session-disconnect:active, - .clipboard-button, - body:not(.js-focus-visible) - body:not([data-whatinput="touch"]) - .clipboard-button:focus, - body:not([data-whatinput="touch"]) .clipboard-button .focus-visible, - body:not([data-whatinput="touch"]) .clipboard-button:hover { - background-color: @accent-color !important; - color: @base !important; - } - .api-session-disconnect { - background-color: @accent-color-dim !important; - color: @base !important; - } - /* -----Shortcut Button------ */ - .btn-shortcut, - .btn-shortcut:hover, - .btn-shortcut:active { - background-color: @accent-color-dim !important; - color: @text !important; - } - /* ------HEADER----- */ - header { - background: @mantle; - } - /* ------FOOTER----- */ - .footer .footer-heading { - color: @subtext1; - } - .footer { - background-color: @mantle; - color: @text; - } - .footer .footer-bottom { - border-top-color: none; - } - .footer .footer-bottom .row { - background-color: @mantle; - } - .footer .footer-language--active, - .footer-timezone strong, - .footer .footer-language--active strong { - color: @text; - } - .footer .footer-language, - .footer-timezone, - .footer .footer-legal { - color: @overlay0; - } - .translation { - color: @subtext0; - } - /* --------TOP BAR---------- */ - .top-bar, - .player-bar, - .player-bar .player-bar-progress, - .main-content::before, - .masthead-nav { - background: @mantle; - color: @text !important; - } - .player-bar .player-bar-progress-slug { - background: @accent-color; - } - .masthead-nav-control, - .site-auth-control, - .site-auth--anon::before, - .masthead-nav .navlist-more { - color: @text !important; - } - .auth-dropdown-menu { - background-color: @base !important; - box-shadow: - 0 1px 10px rgba(0, 0, 0, 0.3), - 0 0 0 1px @surface1 !important; - } - .auth-dropdown-menu-item { - color: @text !important; - } - .auth-dropdown-menu-item:hover, - .auth-dropdown-menu-item:active { - background-color: @surface0 !important; - color: @text !important; - } - .auth-dropdown-menu::before, - .js .auth-dropdown-menu::before, - .site-auth:focus .auth-dropdown-menu::before, - .site-auth:hover .auth-dropdown-menu::before { - .mask-image(url("/static/images/dropdown_arrow_dark@2x.7b7cfaa4e8ee.png"), @surface1, skip, 36px 18px, no-repeat); - } - .masthead-nav .masthead-nav-control, - .masthead-nav .navlist-more, - .site-auth-control { - &:focus, - &:hover { - background-color: transparent; - color: @accent-color !important; - } - } - .site-auth-control.btn-secondary { - color: @base !important; - } - .masthead-search-form { - background-color: @mantle; - } - .masthead-search-submit { - background-color: @accent-color; - color: @base; - } - body:not(.js-focus-visible) - body:not([data-whatinput="touch"]) - .masthead-search-submit:focus, - body:not([data-whatinput="touch"]) .masthead-search-submit .focus-visible, - body:not([data-whatinput="touch"]) .masthead-search-submit:hover { - background-color: @accent-color; - color: @base; - } - .masthead-search-field { - color: @text; - } - /* -------PLAYLISTS--------- */ - .chartlist-timestamp { - color: @subtext0; - } - /* -----GENRES TODAY----- */ - .genretodaybar, - .rolling_no { - background: @mantle !important; - } - /* -----NAV ITEMS----- */ - .library-controls .secondary-nav .secondary-nav-item-link--active, - .date-range-picker-button-inner, - .library-controls .secondary-nav .secondary-nav-item-link--active:focus, - .library-controls .secondary-nav .secondary-nav-item-link--active:hover, - body:not([data-whatinput="touch"]) .catalogue-tags .tag a:hover { - color: @accent-color !important; - } - /* ------ARTIST TAGS----- */ - .catalogue-tags .tag a, - .catalogue-tags .tags-add, - .catalogue-tags .tags-add-cta, - body:not([data-whatinput="touch"]) .catalogue-tags .tag a:hover { - color: @accent-color; - box-shadow: inset 0 0 0 1px @accent-color-dim; - } - /* -----HIDE PLAY BUTTON ON TOP TRACK------ */ - .image-overlay-playlink-link::before { - display: none; - } - /* ---------CHARTS FIX--------- */ - .globalchart .globalchart-item:first-child { - background-color: fadeout(@mantle, 0.8); - } - .globalchart-item:first-child .globalchart-rank { - color: @accent-color !important; - } - .globalchart-item .globalchart-rank { - color: @text; - } - /* -------LOG IN PAGE------- */ - .auth-container > .auth-container-animation { - background-color: transparent; - } - #join-animation-container { - display: none !important; - } - h1.text-24 { - color: @accent-color; - } - .checkbox { - color: @text; - } - - /* ----ICONS---- */ - .lazy-buylinks-toggle::before { - .mask-image(url("/static/images/icons/download_sprite_16.2d7999c89e09.png"), @text); - } - - .chartlist-more-button::before { - .mask-image(url("/static/images/icons/more_sprite_16.bceb4a93c77a.png"), @text); - } - - .lazy-buylinks-toggle:hover::before, - .lazy-buylinks-toggle:focus::before, - .chartlist-more-button:hover::before, - .chartlist-more-button:focus::before { - background-color: @subtext0; - } - - .chartlist-love-button, - .header-new-love-button { - &::before { - .mask-image(url("/static/images/icons/love_animation_tracklist_24.3c884b0287d4.png"), @text, -24px 0); - } - &:focus::before, - &:hover::before { - .mask-image(skip, @red, -24px 0); - } - } - - [data-toggle-button-current-state="loved"] .chartlist-love-button, - [data-toggle-button-current-state="loved"] .header-new-love-button { - &::before, - &:focus::before, - &:hover::before { - .mask-image(skip, @red, -552px 0); - transition: mask-position 0.7s steps(22) !important; - -webkit-transition: -webkit-mask-position 0.7s steps(22) !important; - } - } - - .section-settings-toggle::before { - .mask-image(url("/static/images/icons/settings_222_16.f63779d3cbad.png"), @text); - } - - .share-button-profile::before { - .mask-image(url("/static/images/icons/share_222_16.9aba752fb1e9.png"), @text); - } - - .section-settings-toggle:hover::before, - .section-settings-toggle:focus::before, - .share-button-profile:hover::before, - .share-button-profile:focus::before { - background-color: @subtext0; - } - - .cta-link::before, - .lyrics-snippet-more-link ::before, - .trending-tracks-more-link ::before, - .more-link-fullwidth-right ::before { - .mask-image(url("/static/images/icons/arrow_small_right_005399_12.8f025ef116be.png"), @accent-color); - } - - .play-this-track-playlink--itunes::before { - .mask-image(url("/static/images/icons/apple_music_color_24.17c0b1b9e185.png"), @text); - } - - .resource-external-link--homepage::before { - .mask-image(url("/static/images/icons/external_links_16.3d45e81fa3fc.png"), @text); - } - - .alert-warning::before { - .mask-image(url("/static/images/icons/alert/warning_16.93f2fe437139.png"), @peach); - } - - .masthead-search-toggle::before { - .mask-image(url("/static/images/icons/search_16.bde37072495a.png"), @text); - } - - .masthead-search-toggle:hover::before, - .masthead-search-toggle:focus::before { - background-color: @subtext0; - } - - .masthead-search-toggle.disclose-active::before { - .mask-image(url("/static/images/icons/delete_999_24.78e2a3de3ab8.png"), @text); - } - - .masthead-search-toggle.disclose-active:hover::before, - .masthead-search-toggle.disclose-active:focus::before { - background-color: @subtext0; - } - - .js .date-range-picker-button::before { - .mask-image(url("/static/images/icons/date_picker_icon.1d7b21ee3a36.svg"), @accent-color, 0 0, 14px 24px, no-repeat); - } - - .masthead-logo { - .mask-image(url("/static/images/logo_static.adb61955725c.png"), @red, 50% 50%, skip, no-repeat); - } - - .catalogue-tags .tags-add::before { - .mask-image(url("/static/images/icons/add_link_16.637996ed0e2f.png"), @accent-color); - } - - .masthead-logo-loading { - .mask-image(url("/static/images/logo_animate@2x.e93e5b7db3de.gif"), @red, 50% 50%, contain, no-repeat); - } - - .layout-image { - background: @crust; - .layout-image-image { - mix-blend-mode: screen; - } - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color) green(@color) blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/lastfm/catppuccin.user.less b/styles/lastfm/catppuccin.user.less new file mode 100644 index 0000000000..f7bc4df875 --- /dev/null +++ b/styles/lastfm/catppuccin.user.less @@ -0,0 +1,895 @@ +/* ==UserStyle== +@name Last.fm Catppuccin +@namespace github.com/catppuccin/userstyles/styles/lastfm +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lastfm +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lastfm/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alastfm +@description Soothing pastel theme for Last.fm +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("last.fm") { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + html, html body { + color: @text; + background-color: @base; + } + + /* Components */ + + a, .mimic-link { + color: @accent; + } + + .btn-primary() { + background-color: @accent; + color: @crust; + + &:hover { + background-color: darken(@accent, 5%) !important; + color: @crust !important; + } + } + .btn-primary { + .btn-primary(); + } + .btn-secondary { + background-color: @surface0; + color: @text; + + &:hover { + background-color: @surface1 !important; + color: @text !important; + } + } + .btn-cancel { + color: @subtext1; + } + + .dropdown-menu-clickable { + background: @mantle; + &::before { + filter: @mantle-filter; + } + + .dropdown-menu-clickable-item { + color: @text; + + &:hover { + background-color: @base !important; + } + + &.dropdown-menu-clickable-item--selected { + color: @accent; + } + } + } + .dropdown-menu-clickable-button { + color: @subtext0; + + &:hover, &.disclose-active { + color: @subtext1; + } + + .section-with-settings &.section-control::before { + border-right-color: @surface2; + } + + &::after { + filter: @subtext1-filter; + } + } + + .content-form { + textarea, input, select { + background-color: @mantle !important; + color: @text !important; + border-color: @surface1 !important; + + &:focus { + box-shadow: 0 3px 9px 0 @surface0 !important; + } + } + + .lfm-form-radio input[type="radio"] { + + label::before { + background-color: @base; + border-color: @overlay1; + } + &:checked + label::before { + box-shadow: inset 0 0 0 4px @accent; + border-color: @accent; + } + } + + .form-row-help-text, .footnotes { + color: @subtext0; + } + + legend { + color: @subtext1; + } + } + + .search-form { + .search-submit::before { + filter: @overlay0-filter; + } + + &::after { + border-right-color: @surface1; + } + } + + // Alerts + .alert-warning { + background-color: fade(@peach, 30%); + color: @peach; + + &::before { + filter: @peach-filter; + } + } + + // Modals + .modal-body { + background: @mantle; + } + + // Other + + .section-with-separator::after { + background-color: @surface0; + } + + .container { + background: @base; + } + + .content-top-back-link { + color: @subtext0; + + a::before { + filter: @overlay2-filter; + } + } + + /* Footer */ + .footer { + background: @mantle; + color: @text; + + .footer-heading { + color: @subtext0; + } + + .footer-language { + color: @subtext0; + &.footer-language--active { + color: @text; + } + } + + .footer-timezone { + color: @subtext0; + strong { + color: @text; + } + } + + .footer-legal { + color: @subtext1; + } + + .container { + background: none; + } + } + + /* Header */ + .top-bar { + background: @mantle; + + svg { + filter: @accent-filter; + } + } + .masthead { + .masthead-search-toggle { + &::before { + filter: @text-filter; + } + &::after { + background-color: @text; + } + } + .masthead-nav .masthead-nav-control { + color: @text; + + &::after { + background-color: @text; + } + } + + .auth-avatar-notification-count-badge { + background: @accent; + } + .auth-dropdown-menu { + background: @mantle !important; + + .auth-dropdown-profile { + background-color: @crust; + + .auth-dropdown-profile-info { + .username { + color: @text; + } + .scrobble-count { + color: @subtext0; + } + } + } + .auth-dropdown-menu-links { + background: @mantle; + + .auth-dropdown-menu-item .auth-dropdown-menu-link img { + filter: @text-filter; + } + } + .auth-dropdown-menu-footer { + background: @mantle; + + .auth-upgrade-cta { + background: @mantle; + box-shadow: inset 0 0 0 1px @overlay0; + color: @yellow; + + &:hover { + box-shadow: inset 0 0 0 1px @yellow !important; + color: @yellow !important; + } + } + .auth-logout-cta { + box-shadow: inset 0 0 0 1px @overlay0; + background: @mantle; + color: @text; + } + } + } + } + + .header { + &.header--overview, &.header--sub-page { + color: @text; + } + &.header--overview .container, &.header--sub-page .container { + background: none; + } + + background: @base; + + .header-info { + .header-featured-track { + .featured-item-heading { + color: @subtext1; + } + } + + .header-title-secondary { + .header-scrobble-since, .header-title-display-name { + color: @subtext1; + } + } + + .header-info-secondary { + color: @text; + } + } + } + .header-metadata .header-metadata-title { + color: @subtext1; + } + .secondary-nav { + .secondary-nav-item-link:hover::after, + .secondary-nav-item-link--active::after { + background: @accent; + } + } + + .chartlist { + .chartlist-row { + &:hover { + background-color: @surface0; + } + + &.chartlist-row--highlight, &.chartlist-row--now-scrobbling { + background-color: fade(@accent, 20%); + } + + .chartlist-play { + .chartlist-play-button { + &::before { + background-color: transparent; + filter: @text-filter; + box-shadow: 0 0 0 1px fade(@mantle, 20%); + } + } + } + + .chartlist-loved { + button.chartlist-love-button { + &::before { + filter: @overlay2-filter; + } + &:hover::before, &[data-analytics-action="UnloveTrack"]::before { + filter: @accent-filter; + } + } + } + + .lazy-buylinks-toggle, .chartlist-more-button { + &::before { + filter: @overlay2-filter; + } + &:hover::before { + filter: @subtext0-filter; + } + } + .chartlist-more { + .chartlist-more-menu { + .more-item--track::before, + .more-item--artist::before, + .more-item--obsession::before { + filter: @subtext0-filter; + } + .more-item--delete::before { + filter: @red-filter; + } + } + } + + .chartlist-timestamp { + color: @subtext0; + + .chartlist-now-scrobbling::before { + filter: @subtext0-filter; + } + } + + .chartlist-bar { + .chartlist-count-bar-slug { + background-color: transparent !important; + background-image: linear-gradient( + to right, + fade(@accent, 20%), + fade(@accent, 20%) + ); + color: @crust; + } + .chartlist-count-bar-value { + color: @text; + } + } + } + .chartlist-break::after, .chartlist-row::after { + border-bottom-color: @surface1; + } + + .cover-art { + img[src="https://lastfm.freetls.fastly.net/i/u/64s/c6f59c1e5e7240a4c0d427abd71f3dbb.jpg"] { + mix-blend-mode: screen; + filter: invert(1); + } + + &::after { + box-shadow: inset 0 0 0 1px fade(@subtext0, 7%); + } + } + } + #top-tracks { + .section-settings-toggle::before, + .share-chart .share-button-profile::before { + filter: @subtext0-filter; + } + } + + /* Track Page */ + .catalogue-metadata .lyrics-snippet-more-link a::before, + .more-link-fullwidth-right a::before, + .more-items::before, + .more-link a::before { + filter: @accent-filter; + } + .more-items { + color: @accent; + } + .catalogue-tags { + .tag a, .tags-add, .tags-add-cta { + color: @accent; + box-shadow: inset 0 0 0 1px @accent; + + &:hover { + color: darken(@accent, 5%) !important; + box-shadow: inset 0 0 0 1px darken(@accent, 5%) !important; + } + } + .tags-add::before { + filter: @accent-filter; + } + } + .source-album .source-album-stats, + .about-artist .about-artist-listeners, + .trending-tracks .trending-tracks-item-listeners, + .catalogue-overview-similar-artists-item-aux-text { + color: @subtext1; + } + + .trending-tracks-section { + &, .container { + color: @text; + background: @surface0; + } + } + + .stationlink-list .stationlink::after, + .resource-external-link::after, + .play-this-track-playlink::after { + border-bottom-color: @surface1; + } + + .video-preview-upload-cta { + background: @surface0; + box-shadow: 0 0 0 2px @surface1; + + &:hover { + background: @surface1 !important; + } + + &::before { + filter: @text-filter; + } + } + + /* Shoutbox */ + #shoutbox { + .shout, + .shout-form { + border-bottom-color: @surface0; + } + + .shout-list { + .shout-user a { + color: @text; + } + .shout-timestamp { + color: @subtext0; + + &:focus, + &:hover { + color: @text !important; + } + } + + .shout-action, + .shout-reply, + .vote-button { + color: @subtext1; + + &::before { + filter: @subtext1-filter; + } + + &:focus, + &:hover { + color: @text !important; + + &::before { + filter: @text-filter; + } + } + } + + .vote-button--voted::before, + .vote-button--unvoted:focus::before, + .vote-button--unvoted:hover::before { + filter: @green-filter !important; + } + + .shout-action-more { + .shout-more-actions { + &::before { + filter: @subtext1-filter; + } + + &:focus::before, + &:hover::before { + filter: @text-filter !important; + } + } + .shout-more-actions-menu { + .more-item--report::before { + filter: @subtext0-filter; + } + } + } + } + } + + /* Settings */ + .main-content, + .content-top-has-nav .content-top, + .two-column-layout .content-top { + background: @base; + } + .two-column-layout .container, .two-column-layout .main-content { + background-image: none; + } + .content-top-has-nav .content-top::after, + .two-column-layout .content-top::after { + border-top-color: @surface1; + } + + .change-username-upsell { + background-color: fade(@yellow, 20%); + } + + /* Inbox/Notifications */ + .inbox-notifications { + .inbox-notifications__item--hover { + box-shadow: inset 0 -1px @surface1; + + &:hover { + background-color: @surface0 !important; + } + } + .inbox-notifications__item--highlight-hover { + background-color: @surface1; + } + .inbox-notifications__item-timestamp { + color: @subtext0; + } + } + .inbox .inbox-buttons .inbox-compose-button { + .btn-primary(); + } + + /* Home */ + .secondary-nav-item-link { + &--active::after { + .homefeed--artists .content-top & { + background-color: @yellow; + } + .homefeed--albums .content-top & { + background-color: @green; + } + .homefeed--tracks .content-top & { + background-color: @blue; + } + .homefeed--events .content-top & { + background-color: @mauve; + } + } + &:hover::after { + .homefeed .content-top .secondary-nav-item--artists & { + background-color: @yellow; + } + .homefeed .content-top .secondary-nav-item--albums & { + background-color: @green; + } + .homefeed .content-top .secondary-nav-item--tracks & { + background-color: @blue; + } + .homefeed .content-top .secondary-nav-item--events & { + background-color: @mauve; + } + } + } + .recs-feed { + .recs-feed-item { + .recs-feed-cover-image-wrap { + color: @text; + } + + .recs-feed-playlink::before { + background-color: @text; + } + + &.recs-feed-item--artist .context { + &::before { + background-color: @yellow; + } + &::after { + mask-position: 0 -32px; + } + } + &.recs-feed-item--track .context { + &::before { + background-color: @blue; + } + &::after { + mask-position: 0 -96px; + } + } + &.recs-feed-item--album .context { + &::before { + background-color: @green; + } + &::after { + mask-position: 0 -64px; + } + } + .context { + // Hack using .mask-image() to allow us to mask icons with a background. + &::before { + border-radius: 50%; + content: ""; + height: 32px; + left: auto; + position: absolute; + right: 15px; + top: -16px; + width: 32px; + z-index: 1; + } + &::after { + .mask-image( + url("/static/images/icons/rec_types_16@2x.5bf9cfd03a3e.png"), + @crust, + 0 0, + 32px 160px, + no-repeat, + ); + z-index: 2; + } + + color: @subtext1; + background-color: @surface0; + box-shadow: inset 1px 0 @surface1, inset -1px -1px @surface1; + } + } + } + + // Events - Browse Popular Music (no event recommendations) + .no-data-message-button { + .btn-primary(); + } + + .stationlinks { + .stationlink-list .stationlink::before { + background-color: @text; + } + } + .mpu-subscription-upsell { + color: @subtext0; + } + .subscribe-cta { + background-color: fade(@yellow, 10%); + } + + .subscribe-cta a, .btn-subscribe { + background-color: @yellow; + color: @crust; + + &:hover { + background-color: darken(@yellow, 5%) !important; + color: @crust !important; + } + } + + /* Profile */ + .profile-cards-items { + .profile-card .profile-card-content { + background: linear-gradient( + 90deg, + @surface0 185px 80%, + fade(@surface0, 75%) 95%, + transparent + ); + + .profile-card-content-title { + color: @text; + } + p { + color: @subtext1; + } + } + } + + /* Reports */ + .listening-report-promo { + background-color: @surface0 !important; + border-color: @surface1 !important; + + .listening-report-promo-date::after { + filter: @overlay2-filter; + } + + .listening-report-promo-title { + color: @subtext0; + } + } + + /* Library */ + .library-controls { + .secondary-nav-item .secondary-nav-item-link { + &::before { + filter: @text-filter; + } + &--active, &:hover { + color: @accent; + + &::before { + filter: @accent-filter; + } + } + } + } + .library-controls-datepicker { + .date-range-picker-button { + color: @accent; + + &::before, .date-range-picker-button-inner::before { + filter: @accent-filter; + } + } + } + .date-range-picker-content { + background-color: @mantle; + + &::before { + filter: @mantle-filter; + } + + .date-range-picker-presets a { + color: @text; + + &:hover { + background-color: @surface0 !important; + } + } + + .date-range-picker-form { + border-top-color: @surface1; + + .control-label { + color: @subtext1; + } + } + } + #scrobble-chart-content { + .highcharts-background { + fill: @base !important; + } + .highcharts-axis-title { + fill: @subtext1 !important; + } + .highcharts-axis-labels text { + fill: @subtext0 !important; + } + + .highcharts-yaxis-grid .highcharts-grid-line { + stroke: @overlay0 !important; + } + .highcharts-xaxis .highcharts-axis-line { + stroke: @overlay1 !important; + } + + .highcharts-series-group { + .highcharts-point { + fill: fade(@accent, 30%); + } + } + + .highcharts-tooltip { + .highcharts-tooltip-box:not(.highcharts-shadow) { + fill: @mantle !important; + stroke: @surface0 !important; + } + + text { + fill: @text !important; + } + } + } + .metadata-title { + color: @subtext1; + } + .date-heading { + color: @subtext0; + } + + // Pagination + .pagination { + .pagination-page { + &[aria-current] { + color: @accent; + box-shadow: inset 0 -2px @accent; + } + &:not(.pagination-page--ellipsis):hover { + box-shadow: inset 0 -2px @accent; + } + } + } + + /* Followers */ + .text-light { + color: @subtext1; + } + .user-list-follower-btn { + [data-toggle-button-current-state="followed"] & { + background-color: @green; + + &:hover { + background-color: @red !important; + } + } + [data-toggle-button-current-state="unfollowed"] & { + background-color: @accent; + + &:hover { + background-color: darken(@accent, 5%) !important; + } + } + + &::before { + filter: @crust-filter; + } + } + + /* Obsessions */ + .obsession-candidates-row::before { + border-top-color: @surface1; + } + + // TODO: https://www.last.fm/music + // TODO: https://www.last.fm/user/*/listening-report/week (Reports) + } +} + +// Usage: +// .maskimage(mask-image, background-color, mask-position, mask-size, mask-repeat); +// Setting any value to "skip" skips that attribute. +// We cannot apply filters to psuedo elements with background-images when the pseudo element also has a background(-color), which is when this must be used. +.mask-image( + @mask-image: url(""), + @mask-color: skip, + @mask-position: skip, + @mask-size: skip, + @mask-repeat: skip, +) { + & when not(@mask-color = skip) { + background-image: none !important; + background-color: @mask-color; + } + & when not(@mask-image = skip) { + mask-image: @mask-image; + } + & when not(@mask-position = skip) { + mask-position: @mask-position; + } + & when not(@mask-size = skip) { + mask-size: @mask-size; + } + & when not(@mask-repeat = skip) { + mask-repeat: @mask-repeat; + } +} diff --git a/styles/lastfm/preview.webp b/styles/lastfm/preview.webp deleted file mode 100644 index 9b0a0d91a6..0000000000 --- a/styles/lastfm/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4dc576eb90028fc34ecab45dd9c673fb82d9be48d0fc8dca021b04f41492ae1 -size 116566 diff --git a/styles/learn-x-in-y-minutes/README.md b/styles/learn-x-in-y-minutes/README.md new file mode 100644 index 0000000000..53b0104c2f --- /dev/null +++ b/styles/learn-x-in-y-minutes/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Learn X in Y Minutes + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [nik-rev](https://github.com/nik-rev) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/learn-x-in-y-minutes/catppuccin.user.less b/styles/learn-x-in-y-minutes/catppuccin.user.less new file mode 100644 index 0000000000..966ed644db --- /dev/null +++ b/styles/learn-x-in-y-minutes/catppuccin.user.less @@ -0,0 +1,151 @@ +/* ==UserStyle== +@name Learn X in Y Minutes Catppuccin +@namespace github.com/catppuccin/userstyles/styles/learn-x-in-y-minutes +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/learn-x-in-y-minutes +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/learn-x-in-y-minutes/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alearn-x-in-y-minutes +@description Soothing pastel theme for Learn X in Y Minutes +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("learnxinyminutes.com") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + html.light { + #catppuccin(@lightFlavor); + } + + html.dark { + #catppuccin(@darkFlavor); + } + + html:not(.dark, .light) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + .highlight { + background-color: @mantle; + + pre { + background-color: @mantle !important; + } + } + + &:not(.dark, .light) { + p { + color: @subtext0 !important; + } + + span { + color: @text; + } + } + + .share { + background-color: @mantle; + border-color: @crust; + + &:hover { + background-color: @surface0; + } + } + + .theme-choice button { + color: @text; + background-color: @mantle; + border-color: @crust; + + &:hover { + background-color: @surface0; + } + } + + #lang-select { + color: @text; + background-color: @mantle; + border-color: @crust; + } + + td.lang span a { + color: @text; + background-color: @mantle; + border-color: @crust; + + &:hover { + background-color: @surface0; + } + } + + &, + body { + background-color: @base; + color: @text; + border-color: @base; + box-shadow: none; + } + + td, + th { + color: @text; + border-bottom-color: @surface0; + } + + footer { + p { + color: @subtext1; + } + } + + a { + color: @accent !important; + + code { + color: @accent !important; + } + + &:visited { + color: darken(@accent, 5%) !important; + } + + &.active { + color: @base !important; + background-color: @accent !important; + border-color: darken(@accent, 15%) !important; + + &:visited { + background-color: darken(@accent, 5%) !important; + color: @base !important; + border-color: darken(@accent, 10%) !important; + } + } + } + + hr { + border-color: @surface1; + } + + code { + background-color: @mantle; + color: @text; + } + } +} diff --git a/styles/lemmy/README.md b/styles/lemmy/README.md index 1be664264e..938de631bd 100644 --- a/styles/lemmy/README.md +++ b/styles/lemmy/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Gandalf the Blue](https://github.com/Gandalf-the-Blue) +- [Gandalf-the-Blue](https://github.com/Gandalf-the-Blue)   diff --git a/styles/lemmy/catppuccin.user.css b/styles/lemmy/catppuccin.user.less similarity index 53% rename from styles/lemmy/catppuccin.user.css rename to styles/lemmy/catppuccin.user.less index 56bc1663e2..2f4fb1752c 100644 --- a/styles/lemmy/catppuccin.user.css +++ b/styles/lemmy/catppuccin.user.less @@ -2,8 +2,8 @@ @name Lemmy Catppuccin @namespace github.com/catppuccin/userstyles/styles/lemmy @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lemmy -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lemmy/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lemmy/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alemmy @description Soothing pastel theme for Lemmy @author Catppuccin @@ -15,60 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain("lemmy.ml"), - domain("lemmy.world") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("lemmy.ml"), domain("lemmy.world") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); [data-bs-theme="dark"] { --bs-body-color: @text; @@ -89,15 +50,15 @@ --bs-primary-bg-subtle: @base; --bs-secondary-bg-subtle: @mantle; --bs-success-bg-subtle: @green; - --bs-info-bg-subtle: @accent-color; + --bs-info-bg-subtle: @accent; --bs-warning-bg-subtle: @yellow; --bs-danger-bg-subtle: @red; --bs-light-bg-subtle: @base; --bs-dark-bg-subtle: @base; - --bs-primary-border-subtle: @accent-color; - --bs-secondary-border-subtle: @accent-color; + --bs-primary-border-subtle: @accent; + --bs-secondary-border-subtle: @accent; --bs-success-border-subtle: @green; - --bs-info-border-subtle: @accent-color; + --bs-info-border-subtle: @accent; --bs-warning-border-subtle: @yellow; --bs-danger-border-subtle: @red; --bs-light-border-subtle: @crust; @@ -107,14 +68,14 @@ --bs-link-color: @blue; --bs-link-hover-color: @maroon; --bs-code-color: @lavender; - --bs-highlight-color: @accent-color; + --bs-highlight-color: @accent; --bs-highlight-bg: @mantle; --bs-border-color: @crust; --bs-form-valid-color: @green; --bs-form-valid-border-color: @green; --bs-form-invalid-color: @red; --bs-form-invalid-border-color: @red; - --bs-dark-rgb: @accent-color; + --bs-dark-rgb: @accent; --bs-btn-bg: @base; } @@ -124,7 +85,7 @@ } .nav-link { - color: @accent-color; + color: @accent; } .card { --bs-card-cap-bg: @mantle; @@ -145,11 +106,11 @@ --bs-btn-color: @text; --bs-btn-bg: @base; --bs-btn-border-color: @overlay1; - --bs-btn-hover-color: @accent-color; + --bs-btn-hover-color: @accent; --bs-btn-hover-bg: @crust; --bs-btn-hover-border-color: @overlay2; --bs-btn-active-color: @text; - --bs-btn-active-bg: @accent-color; + --bs-btn-active-bg: @accent; --bs-btn-active-border-color: @crust; --bs-btn-active-shadow: inset 0 3px 5px @crust; --bs-btn-disabled-color: @red; @@ -168,10 +129,10 @@ --bs-dropdown-border-color: @mantle; --bs-dropdown-box-shadow: @mantle; --bs-dropdown-link-color: @blue; - --bs-dropdown-link-hover-color: @accent-color; + --bs-dropdown-link-hover-color: @accent; --bs-dropdown-divider-bg: @overlay0; --bs-dropdown-link-hover-bg: @crust; - --bs-dropdown-link-active-color: @accent-color; + --bs-dropdown-link-active-color: @accent; --bs-dropdown-link-active-bg: @mantle; --bs-dropdown-link-disabled-color: @red; --bs-dropdown-header-color: @text; @@ -186,10 +147,10 @@ .btn-outline-secondary { --bs-btn-color: @text; --bs-btn-border-color: @mantle; - --bs-btn-hover-color: @accent-color; + --bs-btn-hover-color: @accent; --bs-btn-hover-bg: @crust; --bs-btn-hover-border-color: @overlay0; - --bs-btn-active-color: @accent-color; + --bs-btn-active-color: @accent; --bs-btn-active-bg: @crust; --bs-btn-active-border-color: @crust; --bs-btn-active-shadow: inset 0 3px 5px @crust; @@ -199,7 +160,7 @@ .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - color: @accent-color; + color: @accent; background-color: @crust; border-color: @mantle; } @@ -215,17 +176,17 @@ --bs-dropdown-border-color: @mantle; --bs-dropdown-box-shadow: @mantle; --bs-dropdown-link-color: @blue; - --bs-dropdown-link-hover-color: @accent-color; + --bs-dropdown-link-hover-color: @accent; --bs-dropdown-divider-bg: @overlay0; --bs-dropdown-link-hover-bg: @crust; - --bs-dropdown-link-active-color: @accent-color; + --bs-dropdown-link-active-color: @accent; --bs-dropdown-link-active-bg: @mantle; --bs-dropdown-link-disabled-color: @red; --bs-dropdown-header-color: @text; } a { - color: @accent-color; + color: @accent; } .text-bg-primary { @@ -233,11 +194,11 @@ } .text-muted { - color: @accent-color; + color: @accent; } .text-bg-light { color: @text !important; - background-color: rgba(#rgbify(@mantle) [], 1) !important; + background-color: rgba(#lib.rgbify(@mantle)[], 1) !important; } .alert-info, .alert-warning { @@ -247,17 +208,3 @@ } } } - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/lemmy/preview.webp b/styles/lemmy/preview.webp deleted file mode 100644 index fee764e700..0000000000 --- a/styles/lemmy/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6570fe8e224449b00d315f96335ddc10cbf392ab4f7cae25d0520ebab463f3fe -size 299738 diff --git a/styles/libreddit/README.md b/styles/libreddit/README.md index c063e15620..232a6fef72 100644 --- a/styles/libreddit/README.md +++ b/styles/libreddit/README.md @@ -10,20 +10,22 @@

- +

-

- -

+## Usage + +> [!IMPORTANT] +> This userstyle also applies to [Redlib](https://github.com/redlib-org/redlib). +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! ## ๐Ÿ’– Past Maintainer -- [Lemon](https://github.com/unseen-ninja) +- [unseen-ninja](https://github.com/unseen-ninja)   diff --git a/styles/libreddit/catppuccin.user.css b/styles/libreddit/catppuccin.user.css deleted file mode 100644 index cadad9a26d..0000000000 --- a/styles/libreddit/catppuccin.user.css +++ /dev/null @@ -1,185 +0,0 @@ -/* ==UserStyle== -@name Libreddit/Redlib Catppuccin -@namespace github.com/catppuccin/userstyles/styles/libreddit -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/libreddit -@version 2.0.6 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/libreddit/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alibreddit -@description Soothing pastel theme for Libreddit and Redlib -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("libredd.it"), -domain("libreddit.spike.codes"), -domain("libreddit.dothq.co"), -domain("libreddit.kavin.rocks"), -domain("reddit.invak.id"), -domain("reddit.phii.me"), -domain("lr.riverside.rocks"), -domain("libreddit.strongthany.cc"), -domain("libreddit.database.red"), -domain("libreddit.privacy.com.de"), -domain("libreddit.domain.glass"), -domain("libreddit.sugoma.tk"), -domain("libreddit.jamiethalacker.dev"), -domain("reddit.artemislena.eu"), -domain("r.nf"), -domain("libreddit.some-things.org"), -domain("reddit.stuehieyr.com"), -domain("lr.mint.lgbt"), -domain("libreddit.igna.rocks"), -domain("libreddit.autarkic.org"), -domain("libreddit.flux.industries"), -domain("libreddit.drivet.xyz"), -domain("lr.oversold.host"), -domain("libreddit.de"), -domain("libreddit.pussthecat.org"), -domain("libreddit.mutahar.rocks"), -domain("libreddit.northboot.xyz"), -domain("leddit.xyz"), -domain("de.leddit.xyz"), -domain("lr.cowfee.moe"), -domain("libreddit.hu"), -domain("libreddit.totaldarkness.net"), -domain("libreddit.esmailelbob.xyz"), -domain("lr.vern.cc"), -domain("libreddit.nl"), -domain("lr.stilic.ml"), -domain("reddi.tk"), -domain("libreddit.bus-hit.me"), -domain("libreddit.datatunnel.xyz"), -domain("libreddit.crewz.me"), -domain("r.walkx.org"), -domain("libreddit.kylrth.com"), -domain("libreddit.yonalee.eu"), -domain("libreddit.winscloud.net"), -domain("libreddit.tiekoetter.com"), -domain("reddit.rtrace.io"), -domain("libreddit.lunar.icu"), -domain("libreddit.privacydev.net"), -domain("libreddit.notyourcomputer.net"), -domain("r.ahwx.org"), -domain("bob.fr.to"), -domain("reddit.beparanoid.de"), -domain("libreddit.dcs0.hu"), -domain("reddit.dr460nf1r3.org"), -domain("rd.jae.su"), -domain("libreddit.mha.fi"), -domain("libreddit.foss.wtf"), -domain("libreddit.encrypted-data.xyz"), -domain("libreddit.eu.org"), -domain("l.opnxng.com"), -domain("safereddit.com"), -domain("libreddit.projectsegfau.lt"), -domain("libreddit.bus-hit.me"), -domain("reddit.invak.id"), -domain("redlib.catsarch.com"), -domain("reddit.idevicehacked.com"), -domain("redlib.freedit.eu"), -domain("redlib.perennialte.ch"), -domain("redlib.tux.pizza"), -domain("redlib.vimmer.dev"), -domain("libreddit.privacydev.net"), -domain("lr.n8pjl.ca"), -domain("reddit.owo.si"), -domain("redlib.ducks.party"), -domain("red.ngn.tf"), -domain("redlib.dnfetheus.xyz"), -domain("redlib.cow.rip"), -domain("libreddit.eu.org"), -domain("r.darrennathanael.com"), -domain("redlib.kittywi.re"), -domain("redlib.privacyredirect.com") { - .light, - .gruvboxlight { - #catppuccin(@lightFlavor, @accentColor); - } - - .dark, - .black, - .doomone, - .gruvboxdark, - .dracula, - .gold, - .laserwave, - .nord, - .rosebox, - .violet, - :root { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --accent: @accent-color !important; - --green: @green !important; - --text: @text !important; - --foreground: @crust !important; - --background: @base !important; - --outside: @mantle !important; - --post: @mantle !important; - --panel-border: none !important; - --highlighted: @surface0 !important; - --visited: @overlay0 !important; - --shadow: 0 5px 15px 0 transparent !important; - - --nsfw: @peach !important; - --admin: @maroon !important; - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/libreddit/catppuccin.user.less b/styles/libreddit/catppuccin.user.less new file mode 100644 index 0000000000..9400034e0d --- /dev/null +++ b/styles/libreddit/catppuccin.user.less @@ -0,0 +1,145 @@ +/* ==UserStyle== +@name Libreddit/Redlib Catppuccin +@namespace github.com/catppuccin/userstyles/styles/libreddit +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/libreddit +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/libreddit/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alibreddit +@description Soothing pastel theme for Libreddit and Redlib +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("libredd.it"), + domain("libreddit.spike.codes"), + domain("libreddit.dothq.co"), + domain("libreddit.kavin.rocks"), + domain("reddit.invak.id"), + domain("reddit.phii.me"), + domain("lr.riverside.rocks"), + domain("libreddit.strongthany.cc"), + domain("libreddit.database.red"), + domain("libreddit.privacy.com.de"), + domain("libreddit.domain.glass"), + domain("libreddit.sugoma.tk"), + domain("libreddit.jamiethalacker.dev"), + domain("reddit.artemislena.eu"), + domain("r.nf"), + domain("libreddit.some-things.org"), + domain("reddit.stuehieyr.com"), + domain("lr.mint.lgbt"), + domain("libreddit.igna.rocks"), + domain("libreddit.autarkic.org"), + domain("libreddit.flux.industries"), + domain("libreddit.drivet.xyz"), + domain("lr.oversold.host"), + domain("libreddit.de"), + domain("libreddit.pussthecat.org"), + domain("libreddit.mutahar.rocks"), + domain("libreddit.northboot.xyz"), + domain("leddit.xyz"), + domain("de.leddit.xyz"), + domain("lr.cowfee.moe"), + domain("libreddit.hu"), + domain("libreddit.totaldarkness.net"), + domain("libreddit.esmailelbob.xyz"), + domain("lr.vern.cc"), + domain("libreddit.nl"), + domain("lr.stilic.ml"), + domain("reddi.tk"), + domain("libreddit.bus-hit.me"), + domain("libreddit.datatunnel.xyz"), + domain("libreddit.crewz.me"), + domain("r.walkx.org"), + domain("libreddit.kylrth.com"), + domain("libreddit.yonalee.eu"), + domain("libreddit.winscloud.net"), + domain("libreddit.tiekoetter.com"), + domain("reddit.rtrace.io"), + domain("libreddit.lunar.icu"), + domain("libreddit.privacydev.net"), + domain("libreddit.notyourcomputer.net"), + domain("r.ahwx.org"), + domain("bob.fr.to"), + domain("reddit.beparanoid.de"), + domain("libreddit.dcs0.hu"), + domain("reddit.dr460nf1r3.org"), + domain("rd.jae.su"), + domain("libreddit.mha.fi"), + domain("libreddit.foss.wtf"), + domain("libreddit.encrypted-data.xyz"), + domain("libreddit.eu.org"), + domain("l.opnxng.com"), + domain("safereddit.com"), + domain("libreddit.projectsegfau.lt"), + domain("libreddit.bus-hit.me"), + domain("reddit.invak.id"), + domain("redlib.catsarch.com"), + domain("reddit.idevicehacked.com"), + domain("redlib.freedit.eu"), + domain("redlib.perennialte.ch"), + domain("redlib.tux.pizza"), + domain("redlib.vimmer.dev"), + domain("libreddit.privacydev.net"), + domain("lr.n8pjl.ca"), + domain("reddit.owo.si"), + domain("redlib.ducks.party"), + domain("red.ngn.tf"), + domain("redlib.dnfetheus.xyz"), + domain("redlib.cow.rip"), + domain("libreddit.eu.org"), + domain("r.darrennathanael.com"), + domain("redlib.kittywi.re"), + domain("redlib.privacyredirect.com") { + .light, + .gruvboxlight { + #catppuccin(@lightFlavor); + } + + .dark, + .black, + .doomone, + .gruvboxdark, + .dracula, + .gold, + .laserwave, + .nord, + .rosebox, + .violet, + :root { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --accent: @accent !important; + --green: @green !important; + --text: @text !important; + --foreground: @crust !important; + --background: @base !important; + --outside: @mantle !important; + --post: @mantle !important; + --panel-border: none !important; + --highlighted: @surface0 !important; + --visited: @overlay0 !important; + --shadow: 0 5px 15px 0 transparent !important; + + --nsfw: @peach !important; + --admin: @maroon !important; + + /* thumbnail titles */ + .post_thumbnail span { + background-color: @base; + color: @text; + } + } +} diff --git a/styles/libreddit/preview.webp b/styles/libreddit/preview.webp deleted file mode 100644 index f391cf03aa..0000000000 --- a/styles/libreddit/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa77b5084d8c2872f5b9ddfbfc7d71c67341d38b24204218be50040afc2b78c0 -size 192158 diff --git a/styles/lichess/README.md b/styles/lichess/README.md index 1fdbb3abf3..e8d15b1c01 100644 --- a/styles/lichess/README.md +++ b/styles/lichess/README.md @@ -4,25 +4,25 @@

Logo
- Catppuccin for Lichess + Catppuccin for Lichess

- -

- -

- +

## Usage -Switch to a default Lichess light/dark theme via **Username** > **Background** for the best experience! +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> Switch to a default Lichess light/dark theme via **Username** > **Background** for the best experience! -## ๐Ÿ’ Current Maintainer -- [coopw](https://github.com/coopw1) +## ๐Ÿ’ Current Maintainers +- [coopw1](https://github.com/coopw1) +- [zenoix](https://github.com/zenoix)   diff --git a/styles/lichess/catppuccin.user.css b/styles/lichess/catppuccin.user.less similarity index 62% rename from styles/lichess/catppuccin.user.css rename to styles/lichess/catppuccin.user.less index 6aca721972..581db63cbd 100644 --- a/styles/lichess/catppuccin.user.css +++ b/styles/lichess/catppuccin.user.less @@ -2,8 +2,8 @@ @name Lichess Catppuccin @namespace github.com/catppuccin/userstyles/styles/lichess @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lichess -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lichess/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lichess/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alichess @description Soothing pastel theme for Lichess @author Catppuccin @@ -13,68 +13,39 @@ @var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] @var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var select lastMoveColor "Last Move" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var select checkColor "Check Indicator" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red*", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] @var checkbox stylePieces "Style Pieces" 1 +@var checkbox styleBoard "Style Board" 1 ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("lichess.org") { :root:has(body[data-theme="light"]) { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } :root:has(body[data-theme="dark"]) { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root:has(body[data-theme="system"]) { @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + @lastMove: @catppuccin[@@flavor][@@lastMoveColor]; + @check: @catppuccin[@@flavor][@@checkColor]; - html, + &, body { background: @base linear-gradient(to bottom, @crust, @base 116px) no-repeat; @@ -83,7 +54,7 @@ /* Button */ .site-title a { - color: @accent-color; + color: @accent; } .site-title span { color: @text; @@ -94,7 +65,7 @@ background-color: fade(@overlay0, 50%); } .hooks__list tr.join:hover td { - background-color: fade(@accent-color, 50%); + background-color: fade(@accent, 50%); } /* Topbar */ @@ -125,7 +96,7 @@ #topnav.hover section:hover > a, #topnav section:active > a, #topnav div { - border-left-color: @accent-color; + border-left-color: @accent; } signal > i { background-color: @green; @@ -209,7 +180,7 @@ a:hover, a:active, a:focus { - color: @accent-color; + color: @accent; } /* Homepage cards */ @@ -221,7 +192,7 @@ background: fade(@crust, 20%); border-color: @surface0; &:hover { - background-color: fade(@accent-color, 20%); + background-color: fade(@accent, 20%); } } .hook__filters { @@ -279,13 +250,87 @@ } /* Chess Game */ - .brown .is2d cg-board { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; + @light-cell: if(@flavor = latte, @surface0, @accent); + @dark-cell: if(@flavor = latte, @accent, @surface0); + & when (@styleBoard = 1) { + /* Board */ + .is2d cg-board::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + /* File and Rank Coords */ + .orientation-white .files coord:nth-child(2n+1), + .orientation-white .ranks coord:nth-child(2n), + .orientation-black .files coord:nth-child(2n), + .orientation-black .ranks coord:nth-child(2n+1) { + color: @light-cell; + } + .orientation-white .files coord:nth-child(2n), + .orientation-white .ranks coord:nth-child(2n+1), + .orientation-black .files coord:nth-child(2n+1), + .orientation-black .ranks coord:nth-child(2n) { + color: @dark-cell; + } + + /* Squares */ + square { + &.move-dest { + background: radial-gradient( + @overlay1 19%, + rgba(0, 0, 0, 0) 20% + ); + } + + &.selected { + background: fade(@accent, 50%); + } + + &.last-move { + background-color: fade(@lastMove, 75%); + } + + &.check { + background: radial-gradient( + ellipse at center, + @check 0%, + @check 25%, + fade(@check, 0%) 89%, + fade(@check, 0%) 100% + ); + } + + /* Capture indicator */ + &.oc.move-dest { + background: radial-gradient( + transparent 0%, + transparent 79%, + fade(@overlay1, 50%) 80% + ); + } + } + + /* Analysis Arrows */ + svg.cg-shapes g { + &[cgHash*="green"] { + filter: @green-filter; + } + &[cgHash*="paleBlue"] { + filter: @sky-filter; + } + &[cgHash*="red"] { + filter: @red-filter; + } + } } & when (@stylePieces = 1) { + @w-piece-fill: if(@flavor = latte, @mantle, @text); + @b-piece-fill: if(@flavor = latte, @text, @mantle); + @w-piece-stroke: if(@flavor = latte, @text, @mantle); + @b-piece-stroke: if(@flavor = latte, @mantle, @text); + .is2d .pawn { #piece(@f, @s) { @svg: escape( @@ -294,10 +339,10 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } &.black { - #piece(@base, @text); + #piece(@b-piece-fill, @b-piece-stroke); } &.white { - #piece(@text, @base); + #piece(@w-piece-fill, @w-piece-stroke); } } .is2d .bishop { @@ -308,24 +353,24 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } &.black { - #piece(@base, @text); + #piece(@b-piece-fill, @b-piece-stroke); } &.white { - #piece(@text, @base); + #piece(@w-piece-fill, @w-piece-stroke); } } .is2d .knight { #piece(@f, @s) { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml,@{svg}") !important; } &.black { - #piece(@base, @text); + #piece(@b-piece-fill, @b-piece-stroke); } &.white { - #piece(@text, @base); + #piece(@w-piece-fill, @w-piece-stroke); } } .is2d .rook { @@ -336,66 +381,42 @@ background-image: url("data:image/svg+xml,@{svg}") !important; } &.black { - #piece(@base, @text); + #piece(@b-piece-fill, @b-piece-stroke); } &.white { - #piece(@text, @base); + #piece(@w-piece-fill, @w-piece-stroke); } } .is2d .king { #piece(@f, @s) { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml,@{svg}") !important; } &.black { - #piece(@base, @text); + #piece(@b-piece-fill, @b-piece-stroke); } &.white { - #piece(@text, @base); + #piece(@w-piece-fill, @w-piece-stroke); } } .is2d .queen { - &.black { + #piece(@f, @s) { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml,@{svg}") !important; } + &.black { + #piece(@b-piece-fill, @b-piece-stroke); + } &.white { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; + #piece(@w-piece-fill, @w-piece-stroke); } } } - .orientation-white .files coord:nth-child(2n + 1), - .orientation-white .ranks coord:nth-child(2n), - .orientation-black .files coord:nth-child(2n), - .orientation-black .ranks coord:nth-child(2n + 1) { - color: @base; - } - .orientation-white .files coord:nth-child(2n), - .orientation-white .ranks coord:nth-child(2n + 1), - .orientation-black .files coord:nth-child(2n + 1), - .orientation-black .ranks coord:nth-child(2n) { - color: @crust; - } - square.move-dest { - background: radial-gradient( - fade(@accent-color, 50%) 19%, - rgba(0, 0, 0, 0) 20% - ); - } - square.selected { - background: fade(@accent-color, 50%); - } - square.last-move { - background: fade(@accent-color, 40%); - } .rclock .time { background: @mantle; color: @text; @@ -404,7 +425,7 @@ background: #384722; /* putting it back to default so that the time on the clock is readable */ } .rclock .bar { - background: @accent-color; + background: @accent; } /* Game Cards */ @@ -513,13 +534,24 @@ background: @mantle; } .ceval .settings-gear.active { - background-color: @accent-color; + background-color: @accent; } #ceval-settings { - border-top-color: @accent-color; + border-top-color: @accent; } .mchat__tab:hover { - background: fade(@accent-color, 50%); + background: fade(@accent, 50%); + } + .ceval .bar span { + background: @green; + + &.threat { + background: @red; + } + } + .show-threat.active, + .show-threat:hover:not(.hidden) { + color: @red; } /* Openings */ .opening__config, @@ -530,13 +562,13 @@ outline-color: @base; } .opening__next:hover { - outline-color: @accent-color; + outline-color: @accent; } .opening__next__popularity span { - background: @accent-color; + background: @accent; } .opening__next__title { - color: @accent-color; + color: @accent; } /* Puzzles */ @@ -589,13 +621,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/lichess/preview.webp b/styles/lichess/preview.webp deleted file mode 100644 index 563f56841a..0000000000 --- a/styles/lichess/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f49cecaee30d7678ebbaa4057c5b4cb20e1a0a8c721e459328300e57c75ca0b6 -size 261496 diff --git a/styles/lingva/README.md b/styles/lingva/README.md index 142d7ee065..6497383184 100644 --- a/styles/lingva/README.md +++ b/styles/lingva/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/lingva/catppuccin.user.css b/styles/lingva/catppuccin.user.css deleted file mode 100644 index 84f035034c..0000000000 --- a/styles/lingva/catppuccin.user.css +++ /dev/null @@ -1,147 +0,0 @@ -/* ==UserStyle== -@name Lingva Catppuccin -@namespace github.com/catppuccin/userstyles/styles/lingva -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lingva -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lingva/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alingva -@description Soothing pastel theme for Lingva -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('lingva.ml'), -domain('translate.plausibility.cloud'), -domain('lingva.lunar.icu'), -domain('translate.projectsegfau.lt'), -domain('lingva.garudalinux.org') { - .chakra-ui-light { - #catppuccin(@lightFlavor, @accentColor); - } - .chakra-ui-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background: @base; - color: @text; - } - - header { - background-color: @accent-color; - - .chakra-button { - color: darken(@accent-color, 50%); - background: lighten(@accent-color, 5%); - &:hover { - background: darken(@accent-color, 5%); - } - } - } - - footer { - background-color: @accent-color; - color: darken(@accent-color, 50%); - } - - #__next > div { - background: @base; - } - - main { - background: @base; - color: @text; - - select { - border-color: @accent-color; - color: @text; - } - .chakra-select__icon { - color: @text; - } - .chakra-button { - color: @accent-color; - border-color: @accent-color; - - &:hover:not(:disabled) { - background-color: rgba(@accent-color, 0.12); - } - - // Auto translate button (clicked) (Dark and Light classes) - &.css-1huvcr7, - &.css-q22xb2 { - background: @accent-color; - color: @crust; - } - } - .chakra-stack { - border-color: @accent-color; - } - - textarea { - color: @text; - } - - .chakra-text { - color: @subtext1; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/lingva/catppuccin.user.less b/styles/lingva/catppuccin.user.less new file mode 100644 index 0000000000..5b101d12cd --- /dev/null +++ b/styles/lingva/catppuccin.user.less @@ -0,0 +1,101 @@ +/* ==UserStyle== +@name Lingva Catppuccin +@namespace github.com/catppuccin/userstyles/styles/lingva +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lingva +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lingva/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alingva +@description Soothing pastel theme for Lingva +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("lingva.ml"), + domain("translate.plausibility.cloud"), + domain("lingva.lunar.icu"), + domain("translate.projectsegfau.lt"), + domain("lingva.garudalinux.org") { + .chakra-ui-light { + #catppuccin(@lightFlavor); + } + .chakra-ui-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background: @base; + color: @text; + } + + header { + background-color: @accent; + + .chakra-button { + color: darken(@accent, 50%); + background: lighten(@accent, 5%); + &:hover { + background: darken(@accent, 5%); + } + } + } + + footer { + background-color: @accent; + color: darken(@accent, 50%); + } + + #__next > div { + background: @base; + } + + main { + background: @base; + color: @text; + + select { + border-color: @accent; + color: @text; + } + .chakra-select__icon { + color: @text; + } + .chakra-button { + color: @accent; + border-color: @accent; + + &:hover:not(:disabled) { + background-color: fade(@accent, 12%); + } + + // Auto translate button (clicked) (Dark and Light classes) + &.css-1huvcr7, + &.css-q22xb2 { + background: @accent; + color: @crust; + } + } + .chakra-stack { + border-color: @accent; + } + + textarea { + color: @text; + } + + .chakra-text { + color: @subtext1; + } + } + } +} diff --git a/styles/lingva/preview.webp b/styles/lingva/preview.webp deleted file mode 100644 index 6d90ee8695..0000000000 --- a/styles/lingva/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:34da9ffb8983d8dfed11a507454b7d39a4564f749834069a47478b3e97d978f4 -size 26584 diff --git a/styles/linkedin/README.md b/styles/linkedin/README.md index b2beab8aaa..f6ed5635bd 100644 --- a/styles/linkedin/README.md +++ b/styles/linkedin/README.md @@ -10,18 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [Isabel](https://github.com/isabelroses) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! +## ๐Ÿ’– Past Maintainer +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/linkedin/catppuccin.user.css b/styles/linkedin/catppuccin.user.css deleted file mode 100644 index 7f477ed376..0000000000 --- a/styles/linkedin/catppuccin.user.css +++ /dev/null @@ -1,536 +0,0 @@ -/* ==UserStyle== -@name LinkedIn Catppuccin -@namespace github.com/catppuccin/userstyles/styles/linkedin -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/linkedin -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/linkedin/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alinkedin -@description Soothing pastel theme for LinkedIn -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('www.linkedin.com') { - :root:not(.theme--dark, .theme--mercado-dark) { - #catppuccin(@lightFlavor, @accentColor); - } - :root.theme--dark, - :root.theme--mercado-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --black: @crust; - --black-a90: @crust; - --black-a75: @crust; - --black-a60: fadeout(@crust, 40); - --black-a45: @crust; - --black-a30: @crust; - --black-a15: @crust; - --black-a12: @crust; - --black-a08: @crust; - --black-a04: @crust; - --black-a100: @crust; - - --white: @text; - --white-a06: @surface0; - --white-a12: @surface0; - --white-a18: @surface0; - --white-a25: @surface0; - --white-a30: @text; - --white-a40: @text; - --white-a45: @text; - --white-a55: @text; - --white-a60: @subtext0; - --white-a70: @text; - --white-a75: @text; - --white-a85: @text; - --white-a90: @text; - --white-a100: @text; - - --blue-10: @blue; - --blue-20: @blue; - --blue-30: @blue; - --blue-40: @blue; - --blue-50: @blue; - --blue-60: @blue; - --blue-70: @blue; - --blue-80: @blue; - --blue-90: @blue; - --blue-100: @blue; - --blue-50-a20: fadeout(@blue, 80); - --blue-50-a25: fadeout(@blue, 75); - --blue-50-a30: fadeout(@blue, 70); - --blue-50-a40: fadeout(@blue, 60); - --blue-60-a10: fadeout(@blue, 90); - --blue-60-a15: fadeout(@blue, 15); - --blue-60-a20: fadeout(@blue, 80); - --blue-60-a25: fadeout(@blue, 75); - --blue-60-a30: fadeout(@blue, 70); - --blue-60-a35: fadeout(@blue, 65); - --blue-60-a40: fadeout(@blue, 60); - --blue-60-a45: fadeout(@blue, 55); - --blue-70-a30: fadeout(@sapphire, 70); - --blue-70-a40: fadeout(@sapphire, 60); - --blue-70-a50: fadeout(@sapphire, 50); - - --cool-gray-10: @mantle; - --cool-gray-20: @surface0; - --cool-gray-30: @mantle; - --cool-gray-40: @mantle; - --cool-gray-50: @mantle; - --cool-gray-60: @mantle; - --cool-gray-70: @mantle; - --cool-gray-80: @surface0; - --cool-gray-85: @mantle; - --cool-gray-90: @mantle; - --cool-gray-100: @mantle; - --cool-gray-60-a10: fadeout(@mantle, 90); - --cool-gray-60-a15: fadeout(@mantle, 85); - --cool-gray-60-a20: fadeout(@mantle, 80); - --cool-gray-60-a25: fadeout(@mantle, 75); - --cool-gray-60-a30: fadeout(@mantle, 70); - --cool-gray-60-a35: fadeout(@mantle, 65); - - --warm-gray-10: @overlay1; - --warm-gray-20: @overlay1; - --warm-gray-30: @overlay1; - --warm-gray-40: @overlay1; - --warm-gray-50: @overlay1; - --warm-gray-60: @overlay1; - --warm-gray-70: @overlay1; - --warm-gray-80: @overlay1; - --warm-gray-90: @overlay1; - --warm-gray-100: @overlay1; - --warm-gray-60-a10: fadeout(@overlay1, 90); - --warm-gray-60-a15: fadeout(@overlay1, 85); - --warm-gray-60-a20: fadeout(@overlay1, 80); - --warm-gray-60-a25: fadeout(@overlay1, 75); - --warm-gray-60-a30: fadeout(@overlay1, 70); - --warm-gray-60-a35: fadeout(@overlay1, 65); - - --warm-red-10: @maroon; - --warm-red-20: @maroon; - --warm-red-30: @maroon; - --warm-red-40: @maroon; - --warm-red-50: @maroon; - --warm-red-60: @maroon; - --warm-red-70: @maroon; - --warm-red-80: @maroon; - --warm-red-90: @maroon; - --warm-red-100: @maroon; - --warm-red-60-a10: fadeout(@maroon, 90); - --warm-red-60-a15: fadeout(@maroon, 85); - --warm-red-60-a20: fadeout(@maroon, 80); - --warm-red-60-a25: fadeout(@maroon, 75); - --warm-red-60-a30: fadeout(@maroon, 70); - --warm-red-60-a35: fadeout(@maroon, 65); - - --teal-10: @teal; - --teal-20: @teal; - --teal-30: @teal; - --teal-40: @teal; - --teal-50: @teal; - --teal-60: @teal; - --teal-70: @teal; - --teal-80: @teal; - --teal-90: @teal; - --teal-100: @teal; - --teal-50-a30: fadein(@teal, 70); - --teal-60-a10: fadeout(@teal, 90); - --teal-60-a15: fadeout(@teal, 85); - --teal-60-a20: fadeout(@teal, 80); - --teal-60-a25: fadeout(@teal, 75); - --teal-60-a30: fadeout(@teal, 70); - --teal-60-a35: fadeout(@teal, 65); - - --purple-10: @lavender; - --purple-20: @lavender; - --purple-30: @lavender; - --purple-40: @lavender; - --purple-50: @lavender; - --purple-60: @lavender; - --purple-70: @lavender; - --purple-80: @lavender; - --purple-90: @lavender; - --purple-100: @lavender; - --purple-40-a15: fadeout(@lavender, 85); - --purple-60-a10: fadeout(@lavender, 90); - --purple-60-a15: fadeout(@lavender, 85); - --purple-60-a20: fadeout(@lavender, 80); - --purple-60-a25: fadeout(@lavender, 75); - --purple-60-a30: fadeout(@lavender, 70); - --purple-60-a35: fadeout(@lavender, 65); - --purple-70-a15: fadeout(@lavender, 85); - - --system-red-10: @red; - --system-red-20: @red; - --system-red-30: @red; - --system-red-40: @red; - --system-red-50: @red; - --system-red-60: @red; - --system-red-70: @red; - --system-red-80: @red; - --system-red-90: @red; - --system-red-100: @red; - --system-red-60-a10: fadeout(@red, 90); - --system-red-60-a15: fadeout(@red, 85); - --system-red-60-a20: fadeout(@red, 80); - --system-red-60-a25: fadeout(@red, 75); - --system-red-60-a30: fadeout(@red, 70); - --system-red-60-a35: fadeout(@red, 65); - - --system-green-10: darken(@green, 20); - --system-green-20: darken(@green, 20); - --system-green-30: darken(@green, 20); - --system-green-40: darken(@green, 20); - --system-green-50: darken(@green, 20); - --system-green-60: darken(@green, 20); - --system-green-70: darken(@green, 20); - --system-green-80: darken(@green, 20); - --system-green-90: darken(@green, 20); - --system-green-100: darken(@green, 20); - --system-green-60-a10: fadeout(darken(@green, 20), 90); - --system-green-60-a15: fadeout(darken(@green, 20), 85); - --system-green-60-a20: fadeout(darken(@green, 20), 80); - --system-green-60-a25: fadeout(darken(@green, 20), 75); - --system-green-60-a30: fadeout(darken(@green, 20), 70); - --system-green-60-a35: fadeout(darken(@green, 20), 65); - - --pink-10: @pink; - --pink-20: @pink; - --pink-30: @pink; - --pink-40: @pink; - --pink-50: @pink; - --pink-60: @pink; - --pink-70: @pink; - --pink-80: @pink; - --pink-90: @pink; - --pink-100: @pink; - --pink-60-a10: fadeout(@pink, 90); - --pink-60-a15: fadeout(@pink, 85); - --pink-60-a20: fadeout(@pink, 80); - --pink-60-a25: fadeout(@pink, 75); - --pink-60-a30: fadeout(@pink, 70); - --pink-60-a35: fadeout(@pink, 65); - - --amber-10: @yellow; - --amber-20: @yellow; - --amber-30: @yellow; - --amber-40: @yellow; - --amber-50: @yellow; - --amber-60: @yellow; - --amber-70: @yellow; - --amber-80: @yellow; - --amber-90: @yellow; - --amber-100: @yellow; - --amber-30-a50: fadein(@yellow, 50); - --amber-60-a10: fadeout(@yellow, 90); - --amber-60-a15: fadeout(@yellow, 85); - --amber-60-a20: fadeout(@yellow, 80); - --amber-60-a25: fadeout(@yellow, 75); - --amber-60-a30: fadeout(@yellow, 70); - --amber-60-a35: fadeout(@yellow, 65); - - --copper-10: @rosewater; - --copper-20: @rosewater; - --copper-30: @rosewater; - --copper-40: @rosewater; - --copper-50: @rosewater; - --copper-60: @rosewater; - --copper-70: @rosewater; - --copper-80: @rosewater; - --copper-90: @rosewater; - --copper-100: @rosewater; - --copper-60-a10: fadeout(@rosewater, 90); - --copper-60-a15: fadeout(@rosewater, 85); - --copper-60-a20: fadeout(@rosewater, 80); - --copper-60-a25: fadeout(@rosewater, 75); - --copper-60-a30: fadeout(@rosewater, 70); - --copper-60-a35: fadeout(@rosewater, 65); - - --green-10: @green; - --green-20: @green; - --green-30: @green; - --green-40: @green; - --green-50: @green; - --green-60: @green; - --green-70: @green; - --green-80: @green; - --green-90: @green; - --green-100: @green; - --green-60-a10: fadeout(@green, 90); - --green-60-a15: fadeout(@green, 85); - --green-60-a20: fadeout(@green, 80); - --green-60-a25: fadeout(@green, 75); - --green-60-a30: fadeout(@green, 70); - --green-60-a35: fadeout(@green, 65); - - --sage-10: darken(@green, 40); - --sage-20: darken(@green, 40); - --sage-30: darken(@green, 40); - --sage-40: darken(@green, 40); - --sage-50: darken(@green, 40); - --sage-60: darken(@green, 40); - --sage-70: darken(@green, 40); - --sage-80: darken(@green, 40); - --sage-90: darken(@green, 40); - --sage-100: darken(@green, 40); - --sage-60-a10: fadeout(darken(@green, 40), 90); - --sage-60-a15: fadeout(darken(@green, 40), 85); - --sage-60-a20: fadeout(darken(@green, 40), 80); - --sage-60-a25: fadeout(darken(@green, 40), 75); - --sage-60-a30: fadeout(darken(@green, 40), 70); - --sage-60-a35: fadeout(darken(@green, 40), 65); - - --lime-10: lighten(@green, 20); - --lime-20: lighten(@green, 20); - --lime-30: lighten(@green, 20); - --lime-40: lighten(@green, 20); - --lime-50: lighten(@green, 20); - --lime-60: lighten(@green, 20); - --lime-70: lighten(@green, 20); - --lime-80: lighten(@green, 20); - --lime-90: lighten(@green, 20); - --lime-100: lighten(@green, 20); - --lime-60-a10: fadeout(lighten(@green, 20), 90); - --lime-60-a15: fadeout(lighten(@green, 20), 85); - --lime-60-a20: fadeout(lighten(@green, 20), 80); - --lime-60-a25: fadeout(lighten(@green, 20), 75); - --lime-60-a30: fadeout(lighten(@green, 20), 70); - --lime-60-a35: fadeout(lighten(@green, 20), 65); - - --camo-10: @accent-color; - --camo-20: @accent-color; - --camo-30: @accent-color; - --camo-40: @accent-color; - --camo-50: @accent-color; - --camo-60: @accent-color; - --camo-70: @accent-color; - --camo-80: @accent-color; - --camo-90: @accent-color; - --camo-100: @accent-color; - --camo-60-a10: fadeout(@accent-color, 90); - --camo-60-a15: fadeout(@accent-color, 85); - --camo-60-a20: fadeout(@accent-color, 80); - --camo-60-a25: fadeout(@accent-color, 75); - --camo-60-a30: fadeout(@accent-color, 70); - --camo-60-a35: fadeout(@accent-color, 65); - - --smoke-10: @surface1; - --smoke-20: @surface1; - --smoke-30: @surface1; - --smoke-40: @surface1; - --smoke-50: @surface1; - --smoke-60: @surface1; - --smoke-70: @surface1; - --smoke-80: @surface1; - --smoke-90: @surface1; - --smoke-100: @surface1; - --smoke-60-a10: fadeout(@surface1, 90); - --smoke-60-a15: fadeout(@surface1, 85); - --smoke-60-a20: fadeout(@surface1, 80); - --smoke-60-a25: fadeout(@surface1, 75); - --smoke-60-a30: fadeout(@surface1, 70); - --smoke-60-a35: fadeout(@surface1, 65); - - --lavender-10: @lavender; - --lavender-20: @lavender; - --lavender-30: @lavender; - --lavender-40: @lavender; - --lavender-50: @lavender; - --lavender-60: @lavender; - --lavender-70: @lavender; - --lavender-80: @lavender; - --lavender-90: @lavender; - --lavender-100: @lavender; - --lavender-60-a10: fadeout(@lavender, 90); - --lavender-60-a15: fadeout(@lavender, 85); - --lavender-60-a20: fadeout(@lavender, 80); - --lavender-60-a25: fadeout(@lavender, 75); - --lavender-60-a30: fadeout(@lavender, 70); - --lavender-60-a35: fadeout(@lavender, 65); - - --mauve-10: @mauve; - --mauve-20: @mauve; - --mauve-30: @mauve; - --mauve-40: @mauve; - --mauve-50: @mauve; - --mauve-60: @mauve; - --mauve-70: @mauve; - --mauve-80: @mauve; - --mauve-90: @mauve; - --mauve-100: @mauve; - --mauve-60-a10: fadeout(@mauve, 90); - --mauve-60-a15: fadeout(@mauve, 85); - --mauve-60-a20: fadeout(@mauve, 80); - --mauve-60-a25: fadeout(@mauve, 75); - --mauve-60-a30: fadeout(@mauve, 70); - --mauve-60-a35: fadeout(@mauve, 65); - --mauve-80-a50: fadeout(@mauve, 50); - - --system-gray-10: @surface0; - --system-gray-20: @surface0; - --system-gray-30: @surface0; - --system-gray-40: @surface0; - --system-gray-50: @surface0; - --system-gray-60: @surface0; - --system-gray-70: @surface0; - --system-gray-80: @surface0; - --system-gray-90: @surface0; - --system-gray-100: @surface0; - --system-gray-60-a10: fadeout(@surface0, 90); - --system-gray-60-a15: fadeout(@surface0, 85); - --system-gray-60-a20: fadeout(@surface0, 80); - --system-gray-60-a25: fadeout(@surface0, 75); - --system-gray-60-a30: fadeout(@surface0, 70); - --system-gray-60-a35: fadeout(@surface0, 65); - --system-gray-60-a40: fadeout(@surface0, 60); - --system-gray-60-a45: fadeout(@surface0, 55); - - --system-orange-10: @peach; - --system-orange-20: @peach; - --system-orange-30: @peach; - --system-orange-40: @peach; - --system-orange-50: @peach; - --system-orange-60: @peach; - --system-orange-70: @peach; - --system-orange-80: @peach; - --system-orange-90: @peach; - --system-orange-100: @peach; - --system-orange-60-a10: fadeout(@peach, 90); - --system-orange-60-a15: fadeout(@peach, 85); - --system-orange-60-a20: fadeout(@peach, 80); - --system-orange-60-a25: fadeout(@peach, 75); - --system-orange-60-a30: fadeout(@peach, 70); - --system-orange-60-a35: fadeout(@peach, 65); - - /* quality of life changes */ - --color-border-low-emphasis: @surface0; - - /* Codeblock fixes */ - pre { - --color-text-on-dark: @text; - --color-background-container-dark-tint: @crust; - } - - /* more accent */ - --voyager-color-background-badge-notification: @accent-color; - --color-signal-positive: @accent-color; - --color-checked: @accent-color; - --color-checked-hover: @accent-color; - --color-checked-active: @accent-color; - - & when not (@lookup =latte) { - --color-text-on-dark: @crust; - --color-element: @crust; - } - - & when (@lookup =latte) { - --black: @text; - --black-a90: @text; - --black-a75: @text; - --black-a45: @text; - --black-a30: @text; - --black-a60: @subtext0; - --black-a15: @text; - --black-a04: @text; - --black-a100: @text; - - --color-background-scrim: fadeout(@crust, 60); - - --white: @mantle; - --white-a06: @surface0; - --white-a12: @surface0; - --white-a18: @surface0; - --white-a25: @surface0; - --white-a30: @mantle; - --white-a40: @mantle; - --white-a45: @mantle; - --white-a55: @mantle; - --white-a60: @subtext0; - --white-a70: @mantle; - --white-a75: @mantle; - --white-a85: @mantle; - --white-a90: @mantle; - --white-a100: @mantle; - - --warm-gray-10: @base; - --warm-gray-20: @base; - --warm-gray-30: @base; - --warm-gray-40: @base; - --warm-gray-50: @base; - --warm-gray-60: @base; - --warm-gray-70: @base; - --warm-gray-80: @base; - --warm-gray-90: @base; - --warm-gray-100: @base; - --warm-gray-60-a10: fadeout(@base, 90); - --warm-gray-60-a15: fadeout(@base, 85); - --warm-gray-60-a20: fadeout(@base, 80); - --warm-gray-60-a25: fadeout(@base, 75); - --warm-gray-60-a30: fadeout(@base, 70); - --warm-gray-60-a35: fadeout(@base, 65); - } - - .share-promoted-detour-button-legacy { - background-color: @accent-color !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/linkedin/catppuccin.user.less b/styles/linkedin/catppuccin.user.less new file mode 100644 index 0000000000..d9092f48b1 --- /dev/null +++ b/styles/linkedin/catppuccin.user.less @@ -0,0 +1,499 @@ +/* ==UserStyle== +@name LinkedIn Catppuccin +@namespace github.com/catppuccin/userstyles/styles/linkedin +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/linkedin +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/linkedin/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alinkedin +@description Soothing pastel theme for LinkedIn +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("www.linkedin.com") { + :root:not(.theme--dark, .theme--mercado-dark) { + #catppuccin(@lightFlavor); + } + :root.theme--dark, + :root.theme--mercado-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --black: @crust; + --black-a90: @crust; + --black-a75: @crust; + --black-a60: fade(@crust, 60%); + --black-a45: @crust; + --black-a30: @crust; + --black-a15: @crust; + --black-a12: @crust; + --black-a08: @crust; + --black-a04: @crust; + --black-a100: @crust; + + --white: @text; + --white-a06: @surface0; + --white-a12: @surface0; + --white-a18: @surface0; + --white-a25: @surface0; + --white-a30: @text; + --white-a40: @text; + --white-a45: @text; + --white-a55: @text; + --white-a60: @subtext0; + --white-a70: @text; + --white-a75: @text; + --white-a85: @text; + --white-a90: @text; + --white-a100: @text; + + --blue-10: @blue; + --blue-20: @blue; + --blue-30: @blue; + --blue-40: @blue; + --blue-50: @blue; + --blue-60: @blue; + --blue-70: @blue; + --blue-80: @blue; + --blue-90: @blue; + --blue-100: @blue; + --blue-50-a20: fade(@blue, 20%); + --blue-50-a25: fade(@blue, 25%); + --blue-50-a30: fade(@blue, 30%); + --blue-50-a40: fade(@blue, 40%); + --blue-60-a10: fade(@blue, 10%); + --blue-60-a15: fade(@blue, 85%); + --blue-60-a20: fade(@blue, 20%); + --blue-60-a25: fade(@blue, 25%); + --blue-60-a30: fade(@blue, 30%); + --blue-60-a35: fade(@blue, 35%); + --blue-60-a40: fade(@blue, 40%); + --blue-60-a45: fade(@blue, 45%); + --blue-70-a30: fade(@sapphire, 30%); + --blue-70-a40: fade(@sapphire, 40%); + --blue-70-a50: fade(@sapphire, 50%); + + --cool-gray-10: @mantle; + --cool-gray-20: @surface0; + --cool-gray-30: @mantle; + --cool-gray-40: @mantle; + --cool-gray-50: @mantle; + --cool-gray-60: @mantle; + --cool-gray-70: @mantle; + --cool-gray-80: @surface0; + --cool-gray-85: @mantle; + --cool-gray-90: @mantle; + --cool-gray-100: @mantle; + --cool-gray-60-a10: fade(@mantle, 10%); + --cool-gray-60-a15: fade(@mantle, 15%); + --cool-gray-60-a20: fade(@mantle, 20%); + --cool-gray-60-a25: fade(@mantle, 25%); + --cool-gray-60-a30: fade(@mantle, 30%); + --cool-gray-60-a35: fade(@mantle, 35%); + + --warm-gray-10: @overlay1; + --warm-gray-20: @overlay1; + --warm-gray-30: @overlay1; + --warm-gray-40: @overlay1; + --warm-gray-50: @overlay1; + --warm-gray-60: @overlay1; + --warm-gray-70: @overlay1; + --warm-gray-80: @overlay1; + --warm-gray-90: @overlay1; + --warm-gray-100: @overlay1; + --warm-gray-60-a10: fade(@overlay1, 10%); + --warm-gray-60-a15: fade(@overlay1, 15%); + --warm-gray-60-a20: fade(@overlay1, 20%); + --warm-gray-60-a25: fade(@overlay1, 25%); + --warm-gray-60-a30: fade(@overlay1, 30%); + --warm-gray-60-a35: fade(@overlay1, 35%); + + --warm-red-10: @maroon; + --warm-red-20: @maroon; + --warm-red-30: @maroon; + --warm-red-40: @maroon; + --warm-red-50: @maroon; + --warm-red-60: @maroon; + --warm-red-70: @maroon; + --warm-red-80: @maroon; + --warm-red-90: @maroon; + --warm-red-100: @maroon; + --warm-red-60-a10: fade(@maroon, 10%); + --warm-red-60-a15: fade(@maroon, 15%); + --warm-red-60-a20: fade(@maroon, 20%); + --warm-red-60-a25: fade(@maroon, 25%); + --warm-red-60-a30: fade(@maroon, 30%); + --warm-red-60-a35: fade(@maroon, 35%); + + --teal-10: @teal; + --teal-20: @teal; + --teal-30: @teal; + --teal-40: @teal; + --teal-50: @teal; + --teal-60: @teal; + --teal-70: @teal; + --teal-80: @teal; + --teal-90: @teal; + --teal-100: @teal; + --teal-50-a30: fade(@teal, 30%); + --teal-60-a10: fade(@teal, 10%); + --teal-60-a15: fade(@teal, 15%); + --teal-60-a20: fade(@teal, 20%); + --teal-60-a25: fade(@teal, 25%); + --teal-60-a30: fade(@teal, 30%); + --teal-60-a35: fade(@teal, 35%); + + --purple-10: @lavender; + --purple-20: @lavender; + --purple-30: @lavender; + --purple-40: @lavender; + --purple-50: @lavender; + --purple-60: @lavender; + --purple-70: @lavender; + --purple-80: @lavender; + --purple-90: @lavender; + --purple-100: @lavender; + --purple-40-a15: fade(@lavender, 15%); + --purple-60-a10: fade(@lavender, 10%); + --purple-60-a15: fade(@lavender, 15%); + --purple-60-a20: fade(@lavender, 20%); + --purple-60-a25: fade(@lavender, 25%); + --purple-60-a30: fade(@lavender, 30%); + --purple-60-a35: fade(@lavender, 35%); + --purple-70-a15: fade(@lavender, 15%); + + --system-red-10: @red; + --system-red-20: @red; + --system-red-30: @red; + --system-red-40: @red; + --system-red-50: @red; + --system-red-60: @red; + --system-red-70: @red; + --system-red-80: @red; + --system-red-90: @red; + --system-red-100: @red; + --system-red-60-a10: fade(@red, 10%); + --system-red-60-a15: fade(@red, 15%); + --system-red-60-a20: fade(@red, 20%); + --system-red-60-a25: fade(@red, 25%); + --system-red-60-a30: fade(@red, 30%); + --system-red-60-a35: fade(@red, 35%); + + --system-green-10: darken(@green, 20%); + --system-green-20: darken(@green, 20%); + --system-green-30: darken(@green, 20%); + --system-green-40: darken(@green, 20%); + --system-green-50: darken(@green, 20%); + --system-green-60: darken(@green, 20%); + --system-green-70: darken(@green, 20%); + --system-green-80: darken(@green, 20%); + --system-green-90: darken(@green, 20%); + --system-green-100: darken(@green, 20%); + --system-green-60-a10: fade(darken(@green, 20%), 10%); + --system-green-60-a15: fade(darken(@green, 20%), 15%); + --system-green-60-a20: fade(darken(@green, 20%), 20%); + --system-green-60-a25: fade(darken(@green, 20%), 25%); + --system-green-60-a30: fade(darken(@green, 20%), 30%); + --system-green-60-a35: fade(darken(@green, 20%), 35%); + + --pink-10: @pink; + --pink-20: @pink; + --pink-30: @pink; + --pink-40: @pink; + --pink-50: @pink; + --pink-60: @pink; + --pink-70: @pink; + --pink-80: @pink; + --pink-90: @pink; + --pink-100: @pink; + --pink-60-a10: fade(@pink, 10%); + --pink-60-a15: fade(@pink, 15%); + --pink-60-a20: fade(@pink, 20%); + --pink-60-a25: fade(@pink, 25%); + --pink-60-a30: fade(@pink, 30%); + --pink-60-a35: fade(@pink, 35%); + + --amber-10: @yellow; + --amber-20: @yellow; + --amber-30: @yellow; + --amber-40: @yellow; + --amber-50: @yellow; + --amber-60: @yellow; + --amber-70: @yellow; + --amber-80: @yellow; + --amber-90: @yellow; + --amber-100: @yellow; + --amber-30-a50: fade(@yellow, 50%); + --amber-60-a10: fade(@yellow, 10%); + --amber-60-a15: fade(@yellow, 15%); + --amber-60-a20: fade(@yellow, 20%); + --amber-60-a25: fade(@yellow, 25%); + --amber-60-a30: fade(@yellow, 30%); + --amber-60-a35: fade(@yellow, 35%); + + --copper-10: @rosewater; + --copper-20: @rosewater; + --copper-30: @rosewater; + --copper-40: @rosewater; + --copper-50: @rosewater; + --copper-60: @rosewater; + --copper-70: @rosewater; + --copper-80: @rosewater; + --copper-90: @rosewater; + --copper-100: @rosewater; + --copper-60-a10: fade(@rosewater, 10%); + --copper-60-a15: fade(@rosewater, 15%); + --copper-60-a20: fade(@rosewater, 20%); + --copper-60-a25: fade(@rosewater, 25%); + --copper-60-a30: fade(@rosewater, 30%); + --copper-60-a35: fade(@rosewater, 35%); + + --green-10: @green; + --green-20: @green; + --green-30: @green; + --green-40: @green; + --green-50: @green; + --green-60: @green; + --green-70: @green; + --green-80: @green; + --green-90: @green; + --green-100: @green; + --green-60-a10: fade(@green, 10%); + --green-60-a15: fade(@green, 15%); + --green-60-a20: fade(@green, 20%); + --green-60-a25: fade(@green, 25%); + --green-60-a30: fade(@green, 30%); + --green-60-a35: fade(@green, 35%); + + --sage-10: darken(@green, 40%); + --sage-20: darken(@green, 40%); + --sage-30: darken(@green, 40%); + --sage-40: darken(@green, 40%); + --sage-50: darken(@green, 40%); + --sage-60: darken(@green, 40%); + --sage-70: darken(@green, 40%); + --sage-80: darken(@green, 40%); + --sage-90: darken(@green, 40%); + --sage-100: darken(@green, 40%); + --sage-60-a10: fade(darken(@green, 40%), 10%); + --sage-60-a15: fade(darken(@green, 40%), 15%); + --sage-60-a20: fade(darken(@green, 40%), 20%); + --sage-60-a25: fade(darken(@green, 40%), 25%); + --sage-60-a30: fade(darken(@green, 40%), 30%); + --sage-60-a35: fade(darken(@green, 40%), 35%); + + --lime-10: lighten(@green, 20%); + --lime-20: lighten(@green, 20%); + --lime-30: lighten(@green, 20%); + --lime-40: lighten(@green, 20%); + --lime-50: lighten(@green, 20%); + --lime-60: lighten(@green, 20%); + --lime-70: lighten(@green, 20%); + --lime-80: lighten(@green, 20%); + --lime-90: lighten(@green, 20%); + --lime-100: lighten(@green, 20%); + --lime-60-a10: fade(lighten(@green, 20%), 10%); + --lime-60-a15: fade(lighten(@green, 20%), 15%); + --lime-60-a20: fade(lighten(@green, 20%), 20%); + --lime-60-a25: fade(lighten(@green, 20%), 25%); + --lime-60-a30: fade(lighten(@green, 20%), 30%); + --lime-60-a35: fade(lighten(@green, 20%), 35%); + + --camo-10: @accent; + --camo-20: @accent; + --camo-30: @accent; + --camo-40: @accent; + --camo-50: @accent; + --camo-60: @accent; + --camo-70: @accent; + --camo-80: @accent; + --camo-90: @accent; + --camo-100: @accent; + --camo-60-a10: fade(@accent, 10%); + --camo-60-a15: fade(@accent, 15%); + --camo-60-a20: fade(@accent, 20%); + --camo-60-a25: fade(@accent, 25%); + --camo-60-a30: fade(@accent, 30%); + --camo-60-a35: fade(@accent, 35%); + + --smoke-10: @surface1; + --smoke-20: @surface1; + --smoke-30: @surface1; + --smoke-40: @surface1; + --smoke-50: @surface1; + --smoke-60: @surface1; + --smoke-70: @surface1; + --smoke-80: @surface1; + --smoke-90: @surface1; + --smoke-100: @surface1; + --smoke-60-a10: fade(@surface1, 10%); + --smoke-60-a15: fade(@surface1, 15%); + --smoke-60-a20: fade(@surface1, 20%); + --smoke-60-a25: fade(@surface1, 25%); + --smoke-60-a30: fade(@surface1, 30%); + --smoke-60-a35: fade(@surface1, 35%); + + --lavender-10: @lavender; + --lavender-20: @lavender; + --lavender-30: @lavender; + --lavender-40: @lavender; + --lavender-50: @lavender; + --lavender-60: @lavender; + --lavender-70: @lavender; + --lavender-80: @lavender; + --lavender-90: @lavender; + --lavender-100: @lavender; + --lavender-60-a10: fade(@lavender, 10%); + --lavender-60-a15: fade(@lavender, 15%); + --lavender-60-a20: fade(@lavender, 20%); + --lavender-60-a25: fade(@lavender, 25%); + --lavender-60-a30: fade(@lavender, 30%); + --lavender-60-a35: fade(@lavender, 35%); + + --mauve-10: @mauve; + --mauve-20: @mauve; + --mauve-30: @mauve; + --mauve-40: @mauve; + --mauve-50: @mauve; + --mauve-60: @mauve; + --mauve-70: @mauve; + --mauve-80: @mauve; + --mauve-90: @mauve; + --mauve-100: @mauve; + --mauve-60-a10: fade(@mauve, 10%); + --mauve-60-a15: fade(@mauve, 15%); + --mauve-60-a20: fade(@mauve, 20%); + --mauve-60-a25: fade(@mauve, 25%); + --mauve-60-a30: fade(@mauve, 30%); + --mauve-60-a35: fade(@mauve, 35%); + --mauve-80-a50: fade(@mauve, 50%); + + --system-gray-10: @surface0; + --system-gray-20: @surface0; + --system-gray-30: @surface0; + --system-gray-40: @surface0; + --system-gray-50: @surface0; + --system-gray-60: @surface0; + --system-gray-70: @surface0; + --system-gray-80: @surface0; + --system-gray-90: @surface0; + --system-gray-100: @surface0; + --system-gray-60-a10: fade(@surface0, 10%); + --system-gray-60-a15: fade(@surface0, 15%); + --system-gray-60-a20: fade(@surface0, 20%); + --system-gray-60-a25: fade(@surface0, 25%); + --system-gray-60-a30: fade(@surface0, 30%); + --system-gray-60-a35: fade(@surface0, 35%); + --system-gray-60-a40: fade(@surface0, 40%); + --system-gray-60-a45: fade(@surface0, 45%); + + --system-orange-10: @peach; + --system-orange-20: @peach; + --system-orange-30: @peach; + --system-orange-40: @peach; + --system-orange-50: @peach; + --system-orange-60: @peach; + --system-orange-70: @peach; + --system-orange-80: @peach; + --system-orange-90: @peach; + --system-orange-100: @peach; + --system-orange-60-a10: fade(@peach, 10%); + --system-orange-60-a15: fade(@peach, 15%); + --system-orange-60-a20: fade(@peach, 20%); + --system-orange-60-a25: fade(@peach, 25%); + --system-orange-60-a30: fade(@peach, 30%); + --system-orange-60-a35: fade(@peach, 35%); + + /* quality of life changes */ + --color-border-low-emphasis: @surface0; + + /* Codeblock fixes */ + pre { + --color-text-on-dark: @text; + --color-background-container-dark-tint: @crust; + } + + /* more accent */ + --voyager-color-background-badge-notification: @accent; + --color-signal-positive: @accent; + --color-checked: @accent; + --color-checked-hover: @accent; + --color-checked-active: @accent; + + /* fix for hover buttons */ + --artdeco-button-secondary-default-hover-background-color: fade( + @blue, + 20% + ); + + /* text on dark */ + --color-text-on-dark: @text; + + & when not(@flavor = latte) { + --color-element: @crust; + } + + & when (@flavor = latte) { + --black: @text; + --black-a90: @text; + --black-a75: @text; + --black-a45: @text; + --black-a30: @text; + --black-a60: @subtext0; + --black-a15: @text; + --black-a04: @text; + --black-a100: @text; + + --color-scrim: fade(@crust, 40%); + --color-icon-on-dark: @text; + + --white: @mantle; + --white-a06: @surface0; + --white-a12: @surface0; + --white-a18: @surface0; + --white-a25: @surface0; + --white-a30: @mantle; + --white-a40: @mantle; + --white-a45: @mantle; + --white-a55: @mantle; + --white-a60: @subtext0; + --white-a70: @mantle; + --white-a75: @mantle; + --white-a85: @mantle; + --white-a90: @mantle; + --white-a100: @mantle; + + --warm-gray-10: @base; + --warm-gray-20: @base; + --warm-gray-30: @base; + --warm-gray-40: @base; + --warm-gray-50: @base; + --warm-gray-60: @base; + --warm-gray-70: @base; + --warm-gray-80: @base; + --warm-gray-90: @base; + --warm-gray-100: @base; + --warm-gray-60-a10: fade(@base, 10%); + --warm-gray-60-a15: fade(@base, 15%); + --warm-gray-60-a20: fade(@base, 20%); + --warm-gray-60-a25: fade(@base, 25%); + --warm-gray-60-a30: fade(@base, 30%); + --warm-gray-60-a35: fade(@base, 35%); + } + + .share-promoted-detour-button-legacy { + background-color: @accent !important; + } + } +} diff --git a/styles/linkedin/preview.webp b/styles/linkedin/preview.webp deleted file mode 100644 index a8ef6b89e5..0000000000 --- a/styles/linkedin/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58d2653809087ac7f40f2a306ca50e5256b3030f8f07f7e50b1e5a812252e23b -size 439942 diff --git a/styles/listenbrainz/README.md b/styles/listenbrainz/README.md index 1dc8d7614e..861cf38b41 100644 --- a/styles/listenbrainz/README.md +++ b/styles/listenbrainz/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/listenbrainz/catppuccin.user.css b/styles/listenbrainz/catppuccin.user.less similarity index 74% rename from styles/listenbrainz/catppuccin.user.css rename to styles/listenbrainz/catppuccin.user.less index e7f7a4fc75..1e78ed86a6 100644 --- a/styles/listenbrainz/catppuccin.user.css +++ b/styles/listenbrainz/catppuccin.user.less @@ -2,8 +2,8 @@ @name ListenBrainz Catppuccin @namespace github.com/catppuccin/userstyles/styles/listenbrainz @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/listenbrainz -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/listenbrainz/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/listenbrainz/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alistenbrainz @description Soothing pastel theme for ListenBrainz @author Catppuccin @@ -15,59 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('listenbrainz.org') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("listenbrainz.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); // We can't control which theme is passed to Toastify's props from CSS, but // we can replace the default theme with whatever colours we want. @@ -84,9 +46,9 @@ nav[role="navigation"] { .navbar-header .navbar-toggle { - border-color: @accent-color; + border-color: @accent; .icon-bar { - background-color: @accent-color; + background-color: @accent; } } @@ -199,7 +161,7 @@ .toggle-checkbox:checked + .toggle-switch { background-color: @surface1; &::before { - background-color: @accent-color; + background-color: @accent; } } @@ -211,7 +173,7 @@ } } - &.table-striped > tbody > tr:nth-of-type(2n + 1) { + &.table-striped > tbody > tr:nth-of-type(2n+1) { background-color: @surface0; } } @@ -244,18 +206,18 @@ .lb-follow-button.block, .pill.secondary.active { color: @crust; - background-color: @accent-color; + background-color: @accent; border-color: transparent; &:hover { color: @crust; - background-color: darken(@accent-color, 5%); + background-color: darken(@accent, 5%); } } .open > .dropdown-toggle.btn-info { color: @crust; - background-color: darken(@accent-color, 10%); + background-color: darken(@accent, 10%); } .secondary-nav > ol.breadcrumb { @@ -353,7 +315,7 @@ &.listen-card { .listen-thumbnail > div { - color: @accent-color; + color: @accent; background-color: @surface1; border-top-left-radius: 7px; border-bottom-left-radius: 7px; @@ -369,7 +331,7 @@ color: @text; &:hover, &.playing { - color: @accent-color; + color: @accent; } } @@ -427,7 +389,7 @@ color: @text !important; } &:hover { - background-color: fade(@accent-color, 30%) !important; + background-color: fade(@accent, 30%) !important; } } } @@ -502,9 +464,9 @@ .react-calendar__tile--hasActive, .react-calendar__tile--active { color: @text; - background-color: fade(@accent-color, 40%); + background-color: fade(@accent, 40%); &:enabled:hover { - background-color: fade(@accent-color, 50%); + background-color: fade(@accent, 50%); } } } @@ -593,10 +555,10 @@ background-color: @surface1; } .rc-slider-handle { - background-color: @accent-color; + background-color: @accent; &.rc-slider-handle-dragging { - background-color: @accent-color; - border-color: @accent-color; + background-color: @accent; + border-color: @accent; } } .rc-slider-mark-text { @@ -613,12 +575,12 @@ #homepage-container { @homepage-bg: linear-gradient(288deg, @peach 16.96%, @mauve 98.91%); @flipped-blue: if( - @lookup = latte, + @flavor = latte, @catppuccin[@mocha][@blue], @catppuccin[@latte][@blue] ); @flipped-sky: if( - @lookup = latte, + @flavor = latte, @catppuccin[@mocha][@sky], @catppuccin[@latte][@sky] ); @@ -675,10 +637,10 @@ .homepage-info { color: @text; .create-account-button { - background-color: @accent-color; + background-color: @accent; color: @crust; &:hover { - background-color: darken(@accent-color, 5%); + background-color: darken(@accent, 5%); } } } @@ -691,7 +653,7 @@ .progress { background-color: @surface1; > .progress-bar { - background-color: @accent-color; + background-color: @accent; } } @@ -701,14 +663,14 @@ .controls > .btn-link, .actions > a { - color: @accent-color; + color: @accent; } .actions { .heart-actions(); .fa-ellipsis-vertical { - stroke: @accent-color; + stroke: @accent; } } @@ -730,13 +692,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/listenbrainz/preview.webp b/styles/listenbrainz/preview.webp deleted file mode 100644 index b85471c6d6..0000000000 --- a/styles/listenbrainz/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:11c008863f24029c98482f4e034cda0189786c004d1633b775f2ebe039bb0afa -size 464762 diff --git a/styles/lobste.rs/README.md b/styles/lobste.rs/README.md new file mode 100644 index 0000000000..06369d1b28 --- /dev/null +++ b/styles/lobste.rs/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Lobsters + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [steinuil](https://github.com/steinuil) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/lobste.rs/catppuccin.user.less b/styles/lobste.rs/catppuccin.user.less new file mode 100644 index 0000000000..d9dd96875c --- /dev/null +++ b/styles/lobste.rs/catppuccin.user.less @@ -0,0 +1,112 @@ +/* ==UserStyle== +@name Lobsters Catppuccin +@namespace github.com/catppuccin/userstyles/styles/lobste.rs +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/lobste.rs +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/lobste.rs/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Alobste.rs +@description Soothing pastel theme for Lobsters +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("lobste.rs") { + html:has(head > link[rel="stylesheet"][href^="/assets/system-"]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + html:has(head > link[rel="stylesheet"][href^="/assets/light-"]) { + #catppuccin(@lightFlavor); + } + + html:has(head > link[rel="stylesheet"][href^="/assets/dark-"]) { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-bg: @base; + + --color-fg: @text; + --color-fg-shape: @surface2; + + --color-tag-bg: fade(@yellow, 20%); + --color-tag-border: fade(@yellow, 20%); + + --color-lobsters-tag-special-bg: fade(@red, 30%); + --color-lobsters-tag-special-border: fade(@red, 30%); + + --color-tag-media-bg: fade(@blue, 20%); + --color-tag-media-border: fade(@blue, 30%); + + --color-tag-meta-bg: @surface0; + --color-tag-meta-border: @surface2; + + --color-bg-target: fade(@accent, 20%); + + --color-fg-affirmative: @green; + --color-fg-accent: @accent; + --color-fg-author: @blue; + + --color-fg-contrast-7-5: @blue; + + --color-fg-link: @blue; + --color-fg-link-visited: @lavender; + + --color-fg-contrast-4-5: @subtext0; + --color-fg-contrast-5: @subtext1; + --color-fg-contrast-6: @subtext1; + --color-fg-contrast-10: @text; + --color-fg-contrast-13: @text; + + --color-box-bg: @mantle; + --color-button-bg: @mantle; + --color-button-bg-shaded: @surface0; + --color-box-border: @surface0; + --color-box-border-focus: @accent; + --color-box-bg-shaded: @mantle; + + --color-mobile-story-liner-bg: @base; + --color-mobile-story-comments-bubble-fill: @surface1; + + --color-mobile-story-comments-bubble-fill-zero: @surface0; + + --color-table-header-bg: @surface0; + --color-table-header-border: @surface1; + --color-table-row-bg-even: @mantle; + --color-table-row-bg-odd: @crust; + --color-table-row-border: @base; + + --color-flash-bg-success: fade(@green, 30%); + --color-fg-negative: @red; + + hr { + color: @surface2; + } + + #logo { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + background-color: transparent !important; + &::after { + background: none; + } + } + } +} diff --git a/styles/mastodon/README.md b/styles/mastodon/README.md index b357fe2447..b85c75f385 100644 --- a/styles/mastodon/README.md +++ b/styles/mastodon/README.md @@ -10,24 +10,20 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ™‹ FAQ -- Q: **The theme does not look the same as the preview?**\ - A: Your Mastodon instance may be using its own custom CSS, which is changing the look of the theme. -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [comfysage](https://github.com/comfysage) ## ๐Ÿ’– Past Maintainers -- [Lemon](https://github.com/unseen-ninja) -- [Isabel](https://github.com/isabelroses) +- [unseen-ninja](https://github.com/unseen-ninja) +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/mastodon/catppuccin.user.css b/styles/mastodon/catppuccin.user.css deleted file mode 100644 index afbeb74323..0000000000 --- a/styles/mastodon/catppuccin.user.css +++ /dev/null @@ -1,736 +0,0 @@ -/* ==UserStyle== -@name Mastodon Catppuccin -@namespace github.com/catppuccin/userstyles/styles/mastodon -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mastodon -@version 1.3.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mastodon/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amastodon -@description Soothing pastel theme for Mastodon -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("mastodon.social"), -domain("mstdn.social"), -domain("fosstodon.org"), -domain("piaille.fr"), -domain("meow.lgbt"), -domain("tech.lgbt"), -domain("wetdry.world"), -domain("toot.wales") { - .theme-mastodon-light, - .skin-modern-light, - .skin-mastodon-light { - #catppuccin(@lightFlavor, @accentColor); - } - - .theme-contrast, - .skin-modern-dark, - .skin-contrast { - #catppuccin(@darkFlavor, @accentColor); - } - - @media (prefers-color-scheme: light) { - .theme-default, - .skin-default, - .skin-system { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - .theme-default, - .skin-default, - .skin-system { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --background-color: @base; - --background-color-alt: @base; - - --dropdown-border-color: @surface1; - --dropdown-background-color: @surface0; - --modal-background-color: @mantle; - --modal-border-color: @crust; - - &, - .column-header__wrapper, - .column > *:not(.loading-indicator), - body.flavour-glitch.skin-default .column-header__wrapper { - --background-border-color: @surface0 !important; - } - - &, - .tabs-bar__wrapper, - .admin-wrapper .sidebar-wrapper__inner, - .ui__header { - background: @crust; - color: @text; - } - - .navigation-panel, - .column-link { - background: transparent; - } - - .account__header__bio .account__header__fields dt { - background: transparent; - } - - .search-popout, - .search-popout em, - .dismissable-banner__message, - .dismissable-banner__message h1, - .account__header__bio .account__header__fields dt, - .account__section-headline a.active, - .account__section-headline button.active, - .notification__filter-bar a.active, - .notification__filter-bar button.active, - .account__header__bio .account__header__content, - .navigation-bar, - .column-link__badge, - .display-name__html, - .column-subheading, - .account__display-name strong, - .status__display-name strong, - .notification__message, - .public-layout .public-account-bio .account__header__content, - .reply-indicator__content, - .status__content, - .status__content__text, - .card__bar .display-name strong { - color: @text; - } - - .search-popout span, - .link-footer p, - .link-footer p a { - color: @subtext1; - } - - .account__header__tabs__name h1 small, - .account__header__bio .account__header__fields dd, - .display-name__account, - .status__relative-time, - .empty-column-indicator, - .follow_requests-unlocked_explanation, - .account .account__display-name, - .label_input .search__input, - .search__input:focus, - .account__header__fields dt { - color: @subtext0; - } - - .compose-panel hr, - .navigation-panel hr { - border-top-color: @surface2; - } - - .mention, - .icon-button.inverted, - .icon-button.inverted:focus, - .icon-button.inverted:hover .account__header__tabs__name h1, - .account__header__content a, - .account__header__bio .account__header__fields a, - .empty-column-indicator a, - .follow_requests-unlocked_explanation a, - .column-back-button, - .text-icon-button, - .icon-button.star-icon.active, - .public-layout .public-account-bio .account__header__fields a, - .column-header__back-button, - .navigation-bar strong, - .reply-indicator__content a.unhandled-link, - .status__content a.unhandled-link, - .announcements__item__content a.unhandled-link, - .reactions-bar__item.active .reactions-bar__item__count, - .column-header.active .column-header__icon { - color: @accent-color; - } - - .icon-button.active.inverted { - color: @mantle; - } - - .display-name strong { - color: @text !important; - } - - .boost-modal__action-bar { - span { - color: @subtext1; - } - background: @mantle; - } - - .emoji-mart-anchor-selected, - .reply-indicator__content a { - color: @accent-color !important; - } - - .confirmation-modal { - background-color: @base; - color: @text; - } - .confirmation-modal__action-bar { - background-color: @mantle; - } - - .privacy-dropdown__option { - background: @surface0; - - .privacy-dropdown__option__content, - strong, - i { - color: @text; - } - - &:hover, - &.active { - background: @accent-color !important; - - .privacy-dropdown__option__content, - strong, - i { - color: @crust; - } - } - } - - .privacy-dropdown.active .privacy-dropdown__value { - background: @accent-color !important; - } - - .privacy-dropdown.active .privacy-dropdown__value > button, - .privacy-dropdown__value-icon.active > i { - color: @crust !important; - } - - .emoji-mart-search > input { - color: @text !important; - } - - .emoji-mart-search, - .language-dropdown__dropdown__results { - background: @surface0; - } - - .language-dropdown__dropdown { - background: @surface1 !important; - } - - .language-dropdown__dropdown__results__item { - > span { - color: @text; - } - - &:hover, - &.active { - background: @accent-color; - - > span { - color: @crust; - } - } - } - - .conversation__unread, - .emoji-mart-anchor-bar, - .compose-form__actions .icon-button.active, - .react-toggle--checked .react-toggle-track, - .react-toggle--checked:hover .react-toggle-track, - .pillbar-button:not([disabled]).active, - .pillbar-button:not([disabled]).active:focus, - .pillbar-button:not([disabled]).active:hover, - .radio-button__input.checked { - background-color: @accent-color; - } - - .reactions-bar__item.active { - background-color: rgba(@accent-color, 0.25); - } - - .trends__item__sparkline path:last-child { - stroke: @accent-color !important; - } - .trends__item__sparkline path:first-child { - fill: rgba(@accent-color, 0.25) !important; - } - - .icon-button, - .notification__message .fa { - color: @surface2; - } - - .icon-button:active, - .icon-button:focus, - .icon-button:hover, - .text-icon-button:active, - .text-icon-button:focus, - .text-icon-button:hover, - .public-layout .public-account-bio .account__header__fields a:hover { - color: @accent-color; - } - - .account__domain-pill { - color: @accent-color; - background: fadeout(@accent-color, 80); - } - - .column-back-button, - .drawer__header, - .account__section-headline button, - .account__header, - .search__input, - .search__input:focus, - .column-link__badge, - .column-subheading, - .public-layout .header, - .public-layout .public-account-header__bar::before, - .account__header__fields, - .account__header__fields - dd:not(.account__header__bio .account__header__fields dd), - .admin-wrapper .sidebar ul .simple-navigation-active-leaf .selected, - .explore__search-header, - .column-inline-form, - .follow_requests-unlocked_explanation, - .conversation--unread, - .announcements, - .status-card__image { - background: @surface0 !important; - } - - .account__section-headline { - background: @mantle; - } - - .focusable:focus { - background: unset; - } - - .admin-wrapper .sidebar ul a:hover, - .admin-wrapper .sidebar ul .simple-navigation-active-leaf a:hover, - .detailed-status, - .detailed-status__action-bar { - background: @surface0; - } - - .dismissable-banner { - background: @base; - } - - .column-header__wrapper.active { - box-shadow: 0 1px 0 rgba(@accent-color, 0.3); - } - .column-header__wrapper.active::before { - background: radial-gradient( - ellipse, - rgba(@accent-color, 0.23) 0, - rgba(99, 100, 255, 0) 60% - ); - } - - .account__header__bio .account__header__fields dl, - .account__header__bio .account__header__fields, - .boost-modal__container, - .empty-column-indicator, - .column > .scrollable, - .nothing-here, - .public-layout .public-account-bio, - .hero-widget__text, - &.admin, - .admin-wrapper .sidebar ul a.selected, - .admin-wrapper .sidebar ul ul { - background: @base; - } - - .dropdown-button { - border-color: @accent-color; - color: @accent-color; - } - - .public-layout .public-account-header__tabs__tabs .counter::after, - .public-layout .public-account-header__tabs__tabs .counter.active::after, - .react-toggle--checked .react-toggle-thumb, - .radio-button__input.checked, - .account__action-bar__tab.active { - border-color: @accent-color; - } - - .account, - .load-gap { - border-color: @mantle; - } - - .account__section-headline a.active::after { - border-color: transparent transparent @base; - } - - .account__section-headline a.active::before, - .account__section-headline button.active::after, - .account__section-headline button.active::before { - border-color: transparent transparent @mantle; - } - - .poll__chart { - background: @overlay0; - &.leading { - background: @accent-color; - } - } - - .search-popout, - .drawer__header a:hover, - .column-header__button:hover, - .account__section-headline button:hover, - .account__section-headline a:hover { - background: @surface2; - } - - .prose a, - .column-link .active, - .compose-form__poll__select__value, - .column-link--transparent.active, - .column-link--transparent:focus, - .column-link:focus, - .column-link--transparent:hover, - .column-link:hover { - color: @accent-color; - } - - .status.collapsed .status__content::after { - background: linear-gradient(fadeout(@base, 100), @base); - } - - .button.button-tertiary:focus, - .button.button-tertiary:hover, - .button.button-tertiary:active { - color: @base; - } - - .button.button-tertiary { - border-color: @accent-color; - } - - .button, - .button.button-tertiary, - .button.logo-button, - .icon-with-badge__badge { - background: @accent-color; - color: @base; - } - - .button.logo-button svg { - fill: currentcolor; - } - - .public-layout .header .nav-button { - background-color: @surface1; - } - - .public-layout .header .nav-button:hover { - background-color: @surface2; - } - - .button.button-secondary { - background-color: transparent; - color: @text; - border-color: @accent-color; - } - .button.button-secondary:active, - .button.button-secondary:focus, - .button.button-secondary:hover { - border-color: @accent-color; - color: @base; - transition: 0.2s; - } - - .button:active, - .button:focus, - .button:hover, - .button.button-tertiary:active, - .button.button-tertiary:focus, - .button.button-tertiary:hover, - .button.logo-button:active, - .button.logo-button:focus, - .button.logo-button:hover, - .announcements__item__unread { - background: @accent-color; - } - - select { - background-color: @mantle; - color: @text; - } - - .mute-modal__cancel-button { - background-color: @base; - color: @text; - &:hover { - background-color: @surface0; - } - } - - .drawer__inner, - .drawer__inner__mastodon, - .compose-form__highlightable, - .column-header, - .boost-modal, - .mute-modal, - .privacy-dropdown__dropdown, - .explore__search-header .search__input { - background-color: @base; - } - - .mute-modal__action-bar { - background-color: @mantle; - } - - .mute-modal__container { - background-color: @base; - color: @text; - } - - .compose-form .autosuggest-textarea__textarea { - color: @text !important; - background-color: @surface1 !important; - } - - .compose-form .compose-form__modifiers, - .compose-form .compose-form__autosuggest-wrapper, - .autosuggest-textarea__suggestions, - .compose-form .spoiler-input__input { - background: @surface1 !important; - color: @text !important; - } - - .compose-form .compose-form__buttons-wrapper { - background: @surface0; - } - - .load-more:hover { - background-color: @mantle; - } - - .character-counter { - color: @subtext0; - } - - .public-layout .header, - .hero-widget, - .public-layout .public-account-header, - .public-layout .public-account-bio, - .nothing-here { - box-shadow: none; - } - - .dropdown-menu__item--dangerous a { - color: @red; - } - - .search__popout, - .dropdown-menu__arrow::before, - .dropdown-menu__item button, - .dropdown-menu__container__list, - .dropdown-menu.bottom { - background: @surface0; - color: @text; - } - - .dropdown-menu__item a:hover, - .dropdown-menu__item button:hover { - background: @surface1; - } - - .input-copy, - .simple_form input[type="text"], - .simple_form textarea, - .simple_form .block-button, - .notification__filter-bar button, - .simple_form .button, - .simple_form button { - background: @mantle; - color: @text; - } - - .simple_form .block-button:hover, - .simple_form .button:hover, - .notification__filter-bar button:hover, - .simple_form button:hover { - background: @surface0; - } - - .simple_form .input.with_label .label_input > label, - .simple_form select, - .accounts-table__count, - .simple_form textarea { - color: @text; - } - - .simple_form textarea, - .simple_form input[type="password"], - .simple_form input[type="number"], - .simple_form input[type="text"] { - border-color: @crust; - } - - .simple_form input[type="email"]:required:valid { - border-color: @green; - } - - .simple_form input[type="password"], - .simple_form input[type="number"], - .simple_form input[type="email"]:required:valid, - .simple_form - input[type="password"]:required:invalid:not(:placeholder-shown) { - color: @text; - background: @mantle; - } - - .simple_form - input[type="password"]:required:invalid:not(:placeholder-shown) { - border-color: @red; - } - - .simple_form select { - @svg: escape( - '' - ); - background: @mantle url("data:image/svg+xml,@{svg}") no-repeat right 8px - center/auto 16px; - border-color: @crust; - } - - .poll__option input[type="text"]:focus, - .simple_form input[type="datetime-local"]:active, - .simple_form input[type="datetime-local"]:focus, - .simple_form input[type="email"]:active, - .simple_form input[type="email"]:focus, - .simple_form input[type="number"]:active, - .simple_form input[type="number"]:focus, - .simple_form input[type="password"]:active, - .simple_form input[type="password"]:focus, - .simple_form input[type="text"]:active, - .simple_form input[type="text"]:focus, - .simple_form input[type="url"]:active, - .simple_form input[type="url"]:focus, - .simple_form textarea:active, - .simple_form textarea:focus { - border-color: @accent-color !important; - background: @mantle !important; - color: @text !important; - } - - .table > thead > tr > th, - .setting-text:active, - .setting-text:focus { - border-color: @accent-color !important; - } - - .batch-table__toolbar, - .table > thead > tr > th { - background: @surface0 !important; - color: @text !important; - } - - .simple_form input[type="datetime-local"]:hover, - .simple_form input[type="email"]:hover, - .simple_form input[type="number"]:hover, - .simple_form input[type="password"]:hover, - .simple_form input[type="text"]:hover, - .simple_form input[type="url"]:hover, - .simple_form textarea:hover { - background: @mantle !important; - border-color: @accent-color !important; - transition: 0.4s; - } - - .batch-table__row { - background: @surface1; - } - - .batch-table__row:hover, - .batch-table__row:nth-child(2n):hover { - background: @surface2; - } - - .batch-table__row:nth-child(2n), - .table > tbody > tr > td { - background: @surface0; - } - - .table > thead > tr > th { - border-bottom-color: @surface0; - } - - .positive-hint { - color: @green !important; - } - - .card__bar { - background: @surface0; - } - - .reply-indicator { - background: @surface1; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/mastodon/catppuccin.user.less b/styles/mastodon/catppuccin.user.less new file mode 100644 index 0000000000..de44ff13be --- /dev/null +++ b/styles/mastodon/catppuccin.user.less @@ -0,0 +1,121 @@ +/* ==UserStyle== +@name Mastodon Catppuccin +@namespace github.com/catppuccin/userstyles/styles/mastodon +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mastodon +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mastodon/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amastodon +@description Soothing pastel theme for Mastodon +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("mastodon.social"), domain("fosstodon.org") { + [data-color-scheme="light"] { + #catppuccin(@lightFlavor); + } + [data-color-scheme="dark"] { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-bg-primary: @base; + --color-bg-secondary: @surface0; + --color-bg-tertiary: @surface1; + --color-bg-inverted: @text; + + --color-text-primary: @text; + --color-text-secondary: @subtext1; + --color-text-tertiary: @subtext0; + --color-text-inverted: @base; + + /* Brand */ + --color-bg-brand-base: @accent; + --color-bg-brand-base-hover: darken(@accent, 5%); + --color-bg-brand-soft: fade(@accent, 40%); + --color-bg-brand-softest: fade(@accent, 15%); + + --color-text-brand: @accent; + --color-text-on-brand-base: @base; + --color-text-brand-on-inverted: @accent; + + /* States */ + + // Error + --color-bg-error-base: @red; + --color-bg-error-base-hover: darken(@red, 5%); + --color-bg-error-soft: fade(@red, 40%); + --color-bg-error-softest: fade(@red, 15%); + --color-text-error: @red; + --color-text-on-error-base: @base; + + // Warning + --color-bg-warning-base: @yellow; + --color-bg-warning-soft: fade(@yellow, 40%); + --color-bg-warning-softest: fade(@yellow, 15%); + --color-text-warning: @yellow; + --color-text-on-warning-base: @base; + + // Success + --color-bg-success-base: @green; + --color-bg-success-soft: fade(@green, 40%); + --color-bg-success-softest: fade(@green, 15%); + --color-text-success: @green; + --color-text-on-success-base: @base; + + // Disabled + --color-bg-disabled: @overlay1; + --color-text-disabled: @overlay1; + --color-text-on-disabled: @subtext0; + + /* Borders */ + --color-border-primary: @surface2; + --color-border-brand: @accent; + --color-border-brand-soft: fade(@accent, 50%); + --color-border-error: @red; + --color-border-error-soft: fade(@red, 50%); + --color-border-warning-soft: fade(@yellow, 50%); + --color-border-success-soft: fade(@green, 50%); + + /* Other */ + --color-shadow-primary: fade(@mantle, 30%); + --color-bg-overlay-base: fade(@text, 60%); + --color-bg-overlay-highlight: fade(@text, 5%); + + /* Images (alt text, hide/spoilers) */ + --color-bg-media-base: @crust; + --color-text-on-media: @text; + --color-border-media: @surface1; + + /* Actions (bookmarking, favoriting) */ + --color-text-bookmark-highlight: @teal; + --color-text-favourite-highlight: @yellow; + + .logo { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + /* Verified badge icon (e.g. profile fields) */ + svg.icon-verified { + path[fill="url(#VerifiedGradient)"] { + fill: @green !important; + } + path[stroke="#fff"] { + stroke: @base !important; + } + } + } +} diff --git a/styles/mastodon/preview.webp b/styles/mastodon/preview.webp deleted file mode 100644 index e0794f786e..0000000000 --- a/styles/mastodon/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:694daa0160b9eb3f3cff089c66bf809825700cae59bf2fb6082d808f532259cb -size 485508 diff --git a/styles/mdbook/README.md b/styles/mdbook/README.md index a031edc214..4344a0db2f 100644 --- a/styles/mdbook/README.md +++ b/styles/mdbook/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/mdbook/catppuccin.user.css b/styles/mdbook/catppuccin.user.css deleted file mode 100644 index cf8cc5d3bd..0000000000 --- a/styles/mdbook/catppuccin.user.css +++ /dev/null @@ -1,169 +0,0 @@ -/* ==UserStyle== -@name mdBook Catppuccin -@namespace github.com/catppuccin/userstyles/styles/mdbook -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mdbook -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mdbook/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amdbook -@description Soothing pastel theme for mdBook -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document url-prefix('https://rust-lang.github.io/mdBook/'), domain('doc.rust-lang.org'), domain('rust-book.cs.brown.edu') -{ - @import url("https://unpkg.com/@catppuccin/highlightjs@0.2.2/css/catppuccin.variables.css"); - - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --bg: @base; - --fg: @text; - --sidebar-bg: @mantle; - --sidebar-fg: @text; - --sidebar-non-existant: @overlay0; - --sidebar-active: @blue; - --sidebar-spacer: @overlay0; - --scrollbar: @overlay0; - --icons: @overlay0; - --icons-hover: @overlay1; - --links: @blue; - --inline-code-color: @peach; - --theme-popup-bg: @mantle; - --theme-popup-border: @overlay0; - --theme-hover: @overlay0; - --quote-bg: @mantle; - --quote-border: @crust; - --table-border-color: @crust; - --table-header-bg: @mantle; - --table-alternate-bg: @mantle; - --searchbar-border-color: @crust; - --searchbar-bg: @mantle; - --searchbar-fg: @text; - --searchbar-shadow-color: @crust; - --searchresults-header-fg: @text; - --searchresults-border-color: @crust; - --searchresults-li-bg: @base; - --search-mark-bg: @peach; - --warning-border: @peach; - - code.hljs { - color: @text; - background: @mantle; - } - blockquote blockquote { - border-top-color: @surface2; - border-bottom-color: @surface2; - } - hr { - color: @surface2; - } - del { - color: @overlay2; - } - .ace_gutter { - color: @overlay1; - background: @mantle; - } - .ace_gutter-active-line.ace_gutter-cell { - color: @pink; - background: @mantle; - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/mdbook/catppuccin.user.less b/styles/mdbook/catppuccin.user.less new file mode 100644 index 0000000000..8441192ed1 --- /dev/null +++ b/styles/mdbook/catppuccin.user.less @@ -0,0 +1,108 @@ +/* ==UserStyle== +@name mdBook Catppuccin +@namespace github.com/catppuccin/userstyles/styles/mdbook +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mdbook +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mdbook/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amdbook +@description Soothing pastel theme for mdBook +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("rust-lang.github.io"), + domain("doc.rust-lang.org"), + domain("rust-book.cs.brown.edu"), + domain("rustc-dev-guide.rust-lang.org"), + domain("forge.rust-lang.org"), + domain("lang-team.rust-lang.org"), + domain("doc.redox-os.org"), + url-prefix("https://lukaswirth.dev/tlborm/") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --bg: @base; + --fg: @text; + --sidebar-bg: @mantle; + --sidebar-fg: @text; + --sidebar-non-existant: @overlay0; + --sidebar-active: @blue; + --sidebar-spacer: @overlay0; + --scrollbar: @overlay0; + --icons: @overlay0; + --icons-hover: @overlay2; + --links: @blue; + --inline-code-color: @text; + --theme-popup-bg: @mantle; + --theme-popup-border: @overlay0; + --theme-hover: @overlay0; + --quote-bg: @mantle; + --quote-border: @crust; + --table-border-color: @surface0; + --table-header-bg: mix(@accent, @base, 30%); + --table-alternate-bg: @mantle; + --searchbar-border-color: @surface0; + --searchbar-bg: @mantle; + --searchbar-fg: @text; + --searchbar-shadow-color: @crust; + --searchresults-header-fg: @text; + --searchresults-border-color: @surface2; + --searchresults-li-bg: @base; + --sidebar-header-border-color: @lavender; + --search-mark-bg: @peach; + --warning-border: @peach; + --copy-button-filter: @subtext0-filter; + --copy-button-filter-hover: @blue-filter; + --blockquote-note-color: @blue; + --blockquote-tip-color: @green; + --blockquote-important-color: @mauve; + --blockquote-warning-color: @yellow; + --blockquote-caution-color: @red; + /* https://github.com/cognitive-engineering-lab/mdbook-quiz */ + --mdbook-incorrect: @red; + --mdbook-correct: @green; + + code.hljs { + color: @text; + background: @mantle; + } + blockquote blockquote { + border-top-color: @surface2; + border-bottom-color: @surface2; + } + hr { + color: @surface2; + } + del { + color: @overlay2; + } + .ace_gutter { + color: @overlay1; + background: @mantle; + } + .ace_gutter-active-line.ace_gutter-cell { + color: @pink; + background: @mantle; + } + } +} diff --git a/styles/mdbook/preview.webp b/styles/mdbook/preview.webp deleted file mode 100644 index 3266d26328..0000000000 --- a/styles/mdbook/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d71e4166b06fb217e84dfdd4196c0834e4ee21aad2bcc17d36cb59abe7b5de0f -size 165684 diff --git a/styles/mdn/README.md b/styles/mdn/README.md index f033cf0bb0..b4fa3e6a4e 100644 --- a/styles/mdn/README.md +++ b/styles/mdn/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [soya_daizu](https://github.com/soya-daizu) +- [soya-daizu](https://github.com/soya-daizu)   diff --git a/styles/mdn/catppuccin.user.css b/styles/mdn/catppuccin.user.css deleted file mode 100644 index bc38b1e381..0000000000 --- a/styles/mdn/catppuccin.user.css +++ /dev/null @@ -1,262 +0,0 @@ -/* ==UserStyle== -@name MDN Catppuccin -@namespace github.com/catppuccin/userstyles/styles/mdn -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mdn -@version 0.1.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mdn/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amdn -@description Soothing pastel theme for MDN -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -#catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --text-primary: @text; - --text-secondary: @subtext0; - --text-active: @overlay1; - --text-inactive: fadeout(@subtext0, 40%); - --text-link: @accent-color; - --text-visited: lighten(saturate(@accent-color, -20%), -20%); - --text-invert: @base; - --background-primary: @base; - --background-secondary: @crust; - --background-tertiary: @mantle; - --background-toc-active: @crust; - --background-mark-yellow: fadeout(@yellow, 60%); - --background-mark-green: fadeout(@green, 60%); - --background-information: fadeout(@blue, 90%); - --background-warning: fadeout(@maroon, 90%); - --background-critical: fadeout(@red, 90%); - --background-success: fadeout(@green, 90%); - --border-primary: @surface2; - --border-secondary: @surface1; - --button-primary-default: @text; - --button-primary-hover: @subtext0; - --button-primary-active: @overlay0; - --button-primary-inactive: @text; - --button-secondary-default: @surface2; - --button-secondary-hover: @surface1; - --button-secondary-active: @overlay0; - --button-secondary-inactive: @surface2; - --button-secondary-border-focus: @blue; - --button-secondary-border-red: @red; - --button-secondary-border-red-focus: @maroon; - --icon-primary: @text; - --icon-secondary: @subtext0; - --icon-information: @blue; - --icon-warning: @peach; - --icon-critical: @maroon; - --icon-success: @green; - --accent-primary: @accent-color; - --accent-primary-engage: fadeout(@accent-color, 90%); - --accent-secondary: @accent-color; - --accent-tertiary: fadeout(saturate(@accent-color, 10%), 90%); - --shadow-01: 0 1px 2px fadeout(@text, 80%); - --shadow-02: 0 1px 6px fadeout(@text, 80%); - --focus-01: 0 0 0 3px fadeout(@text, 50%); - --field-focus-border: @text; - --code-token-tag: @mauve; - --code-token-punctuation: @overlay2; - --code-token-attribute-name: @blue; - --code-token-attribute-value: @peach; - --code-token-comment: @overlay0; - --code-token-default: @text; - --code-token-selector: @lavender; - --code-token-class-selector: @yellow; - --code-token-pseudo-class: @pink; - --code-token-variable-2: @rosewater; - --code-token-at-rule: @flamingo; - --code-token-meta: @overlay1; - --code-background-inline: @mantle; - --code-background-block: @mantle; - --notecard-link-color: @subtext1; - --scrollbar-bg: transparent; - --scrollbar-color: hsla(0, 0%, 100%, 0.25); - --category-color: @sky; - --category-color-background: fadeout(@sky, 60%); - --code-color: lighten(@sky, 10%); - --mark-color: darken(@sky, 30%); - --plus-accent-color: @maroon; - --html-accent-color: @red; - --css-accent-color: @sapphire; - --js-accent-color: @yellow; - --http-accent-color: @green; - --apis-accent-color: @mauve; - --learn-accent-color: @pink; - --plus-code-color: saturate(@maroon, 10%); - --html-code-color: saturate(@red, 10%); - --css-code-color: saturate(@sapphire, 10%); - --js-code-color: saturate(@yellow, 10%); - --http-code-color: saturate(@green, 10%); - --apis-code-color: saturate(@mauve, 10%); - --learn-code-color: saturate(@pink, 10%); - --plus-mark-color: darken(@maroon, 30%); - --html-mark-color: darken(@red, 30%); - --css-mark-color: darken(@sapphire, 30%); - --js-mark-color: darken(@yellow, 30%); - --http-mark-color: darken(@green, 30%); - --apis-mark-color: darken(@mauve, 30%); - --learn-mark-color: darken(@pink, 30%); - --plus-accent-background-color: fadeout(@maroon, 70%); - --html-accent-background-color: fadeout(@red, 70%); - --css-accent-background-color: fadeout(@sapphire, 70%); - --js-accent-background-color: fadeout(@yellow, 70%); - --http-accent-background-color: fadeout(@green, 70%); - --apis-accent-background-color: fadeout(@mauve, 70%); - --learn-accent-background-color: fadeout(@pink, 70%); - --plus-accent-engage: fadeout(@maroon, 30%); - --html-accent-engage: fadeout(@red, 30%); - --css-accent-engage: fadeout(@sapphire, 30%); - --js-accent-engage: fadeout(@yellow, 30%); - --http-accent-engage: fadeout(@green, 30%); - --apis-accent-engage: fadeout(@mauve, 30%); - --learn-accent-engage: fadeout(@pink, 30%); - --modal-backdrop-color: fadeout(@mantle, 30%); - --selection-background-color: fadeout(@surface2, 40%); - --text-primary-red: @red; - --text-primary-green: @green; - --text-primary-blue: @blue; - --text-primary-yellow: @yellow; - --collections-link: @flamingo; - --collections-header: darken(@red, 30%); - --collections-mandala: darken(@red, 20%); - --collections-icon: darken(@red, 10%); - --updates-link: @sky; - --updates-header: @crust; - --updates-mandala: lighten(@sky, 10%); - --updates-icon: @sky; - --ai-help-link: @green; - --ai-help-header: @crust; - --ai-help-mandala: lighten(@green, 10%); - --ai-help-icon: @green; - --form-limit-color: @overlay0; - --form-limit-color-emphasis: @overlay1; - --form-invalid-color: @red; - --form-invalid-focus-color: @flamingo; - --form-invalid-focus-effect-color: fadeout(@flamingo, 80%); - --baseline-high-bg: hsl( - hue(@green), - saturation(@green), - lightness(@surface0) - ); - --baseline-high-engine-bg: hsl( - hue(@green), - saturation(@green), - lightness(@base) - ); - --baseline-high-check: @green; - --baseline-low-bg: hsl(hue(@blue), saturation(@blue), lightness(@surface0)); - --baseline-low-engine-bg: hsl( - hue(@blue), - saturation(@blue), - lightness(@base) - ); - --baseline-low-check: @blue; - --baseline-low-pill-bg: @sapphire; - --baseline-low-pill-color: @base; - --baseline-limited-bg: @surface0; - --baseline-limited-engine-bg: @base; - --baseline-limited-check: @green; - --baseline-limited-cross: @peach; -} - -@-moz-document domain("developer.mozilla.org") { - .light { - #catppuccin(@lightFlavor, @accentColor); - } - - .dark { - #catppuccin(@darkFlavor, @accentColor); - } - - /* stylelint-disable selector-not-notation */ - @media (prefers-color-scheme: light) { - :root:not(.light):not(.dark) { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root:not(.light):not(.dark) { - #catppuccin(@darkFlavor, @accentColor); - } - } - /* stylelint-enable selector-not-notation */ -} - -@-moz-document domain("interactive-examples.mdn.mozilla.net") { - .theme-light { - #catppuccin(@lightFlavor, @accentColor); - } - .theme-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/mdn/catppuccin.user.less b/styles/mdn/catppuccin.user.less new file mode 100644 index 0000000000..5f305c499d --- /dev/null +++ b/styles/mdn/catppuccin.user.less @@ -0,0 +1,151 @@ +/* ==UserStyle== +@name MDN Catppuccin +@namespace github.com/catppuccin/userstyles/styles/mdn +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/mdn +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/mdn/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amdn +@description Soothing pastel theme for MDN +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +#catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --color-text-primary: @text; + --color-text-secondary: @subtext0; + --color-background-page: @base; + --color-background-primary: @mantle; + --color-background-secondary: @surface0; + --color-link-normal: @blue; + --color-link-visited: @mauve; + --color-border-primary: @surface1; + --color-border-secondary: @overlay2; // used for icons + --color-border-active: @accent; + --color-area-background: fade(@accent, 25%); + --color-area-highlight-border: @accent; + --color-area-link: @accent; + --color-background-red: fade(@red, 25%); + --color-background-orange: fade(@peach, 25%); + --color-background-yellow: fade(@yellow, 25%); + --color-background-green: fade(@green, 25%); + --color-background-blue: fade(@blue, 25%); + --color-background-purple: fade(@mauve, 25%); + --color-white: @text; + --color-white-alpha-25: fade(@text, 25%); + --color-white-alpha-75: fade(@text, 75%); + --color-black: @crust; + --color-black-alpha-25: fade(@crust, 25%); + --color-black-alpha-75: fade(@crust, 75%); + + --color-gray-90: hsl(hue(@base), saturation(@base), 90%); + --color-gray-80: hsl(hue(@base), saturation(@base), 80%); + --color-gray-60: hsl(hue(@base), saturation(@base), 60%); + --color-gray-40: hsl(hue(@base), saturation(@base), 40%); + --color-gray-20: hsl(hue(@base), saturation(@base), 20%); + --color-gray-10: hsl(hue(@base), saturation(@base), 10%); + --color-gray-05: hsl(hue(@base), saturation(@base), 5%); + #__color-scale(@id, @color) { + --color-@{id}-90: hsl(hue(@color), saturation(@color), 90%); + --color-@{id}-80: hsl(hue(@color), saturation(@color), 80%); + --color-@{id}-50: hsl(hue(@color), saturation(@color), 50%); + --color-@{id}-20: hsl(hue(@color), saturation(@color), 20%); + --color-@{id}-10: hsl(hue(@color), saturation(@color), 10%); + } + #__color-scale(red, @red); + #__color-scale(orange, @peach); + #__color-scale(yellow, @yellow); + #__color-scale(green, @green); + #__color-scale(blue, @blue); + #__color-scale(purple, @mauve); + + .baseline-indicator { + --baseline-bg: @surface0; + --baseline-engine-bg: @base; + --baseline-check: @green; + --baseline-cross: @peach; + + @darker: fade(@peach, 20%); + @svg: escape( + '' + ); + --baseline-img: url("data:image/svg+xml,@{svg}"); + + &.high { + --baseline-bg: fade(@green, 20%); + --baseline-engine-bg: fade(@green, 20%); + --baseline-check: @green; + + @darker: fade(@green, 20%); + @svg: escape( + '' + ); + --baseline-img: url("data:image/svg+xml,@{svg}"); + } + + &.low { + --baseline-bg: fade(@blue, 20%); + --baseline-engine-bg: fade(@blue, 20%); + --baseline-check: @blue; + --baseline-pill-bg: @blue; + --baseline-pill-color: @base; + + @darker: fade(@blue, 20%); + @svg: escape( + '' + ); + --baseline-img: url("data:image/svg+xml,@{svg}"); + } + } +} + +@-moz-document domain("developer.mozilla.org") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + + .light { + #catppuccin(@lightFlavor); + } + + .dark { + #catppuccin(@darkFlavor); + } + + /* stylelint-disable selector-not-notation */ + :root:not(.light):not(.dark) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + /* stylelint-enable selector-not-notation */ +} + +@-moz-document domain("interactive-examples.mdn.mozilla.net") { + .theme-light { + #catppuccin(@lightFlavor); + } + .theme-dark { + #catppuccin(@darkFlavor); + } + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } +} diff --git a/styles/mdn/preview.webp b/styles/mdn/preview.webp deleted file mode 100644 index 87a4500453..0000000000 --- a/styles/mdn/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f864c0c759e65e46e1aeed6fa5e941019886292b5ed004997a4754ce99014222 -size 61668 diff --git a/styles/microsoft-word/README.md b/styles/microsoft-word/README.md index 37b1429bee..923e100fac 100644 --- a/styles/microsoft-word/README.md +++ b/styles/microsoft-word/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [GitMuslim](https://github.com/GitMuslim) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find!   diff --git a/styles/microsoft-word/catppuccin.user.css b/styles/microsoft-word/catppuccin.user.less similarity index 69% rename from styles/microsoft-word/catppuccin.user.css rename to styles/microsoft-word/catppuccin.user.less index 164f04b8ec..abc42f7e5b 100644 --- a/styles/microsoft-word/catppuccin.user.css +++ b/styles/microsoft-word/catppuccin.user.less @@ -2,8 +2,8 @@ @name Microsoft Word Catppuccin @namespace github.com/catppuccin/userstyles/styles/microsoft-word @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/microsoft-word -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/microsoft-word/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/microsoft-word/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amicrosoft-word @description Soothing pastel theme for Microsoft Word @author Catppuccin @@ -13,56 +13,28 @@ @var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] @var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var checkbox applyToDocument "Apply Theme to Document" 0 ==/UserStyle== */ -@-moz-document domain('live.com') { - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("live.com") { + #catppuccin(@lightFlavor); + + .UxDarkMode { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); .fui-FluentProvider2, .fui-FluentProvider86, .fui-FluentProvider102 { --colorNeutralStroke1: @surface1; - --colorBrandForeground1: @accent-color; + --colorBrandForeground1: @accent; --colorNeutralForeground1: @text; --colorNeutralBackground1: @surface0; --colorNeutralForeground2: @text; @@ -116,7 +88,7 @@ } #ShareMenu { - background-color: @accent-color; + background-color: @accent; color: @base; } @@ -172,9 +144,16 @@ background-color: @mantle !important; } - .Page { - background-color: @base !important; - border-color: @surface1 !important; + & when (@applyToDocument = 1) { + .Page { + background-color: @base !important; + border-color: @surface1 !important; + } + span.NormalTextRun, + .FileMenuButtonPrimaryText, + [class="NewDocumentTemplateLabel"] { + color: @text !important; + } } .Paragraph, @@ -216,7 +195,7 @@ > div:nth-child(2) > div:nth-child(1) { > div:nth-child(1) > span:nth-child(1) { - background: @accent-color !important; + background: @accent !important; } } div:nth-child(1) { @@ -252,7 +231,7 @@ > div:nth-child(2) { background-color: @surface2 !important; > div:nth-child(1) { - background: @accent-color; + background: @accent; } } } @@ -262,7 +241,7 @@ color: @text; } > span:nth-child(2) { - color: @accent-color; + color: @accent; } > span:nth-child(3) { color: @text; @@ -282,20 +261,20 @@ } } > a:nth-child(2) { - color: @accent-color; + color: @accent; } } #allAppsLink { - color: @accent-color; + color: @accent; } #ProgressCardScore { > div:nth-child(1) { - color: @accent-color; + color: @accent; } > div:nth-child(2) { - color: @accent-color; + color: @accent; } } @@ -374,12 +353,6 @@ color: @subtext0 !important; } - span.NormalTextRun, - .FileMenuButtonPrimaryText, - [class="NewDocumentTemplateLabel"] { - color: @text !important; - } - svg { path.OfficeIconColors_m22 { fill: @text; @@ -388,7 +361,7 @@ path.OfficeIconColors_m25, path.OfficeIconColors_m26, path.OfficeIconColors_m2262 { - fill: @accent-color; + fill: @accent; } path.OfficeIconColors_m27 { fill: @green; @@ -423,19 +396,4 @@ } } } - - .UxDarkMode { - #catppuccin(@darkFlavor, @accentColor); - } - #catppuccin(@lightFlavor, @accentColor); } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/microsoft-word/preview.webp b/styles/microsoft-word/preview.webp deleted file mode 100644 index ba728a1f63..0000000000 --- a/styles/microsoft-word/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8eeb87979f8ddc8a69bc1d31da5b57262ea065760e9d9798abf350bc5180d568 -size 44740 diff --git a/styles/migadu-webmail/README.md b/styles/migadu-webmail/README.md index 94785d592b..616d47d557 100644 --- a/styles/migadu-webmail/README.md +++ b/styles/migadu-webmail/README.md @@ -4,24 +4,21 @@

Logo
- Catppuccin for Migadu Webmail + Catppuccin for Migadu Webmail

- -

- -

- +

## Usage -> [!NOTE] -> Set Migadu Webmail's built-in theme to 'Migadu' for the optimal experience. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> Set Migadu Webmail's built-in theme to 'Migadu' for the optimal experience. ## ๐Ÿ’ Current Maintainer - [uncenter](https://github.com/uncenter) diff --git a/styles/migadu-webmail/catppuccin.user.css b/styles/migadu-webmail/catppuccin.user.less similarity index 71% rename from styles/migadu-webmail/catppuccin.user.css rename to styles/migadu-webmail/catppuccin.user.less index 0eed76af81..56bcb6affc 100644 --- a/styles/migadu-webmail/catppuccin.user.css +++ b/styles/migadu-webmail/catppuccin.user.less @@ -2,8 +2,8 @@ @name Migadu Webmail Catppuccin @namespace github.com/catppuccin/userstyles/styles/migadu-webmail @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/migadu-webmail -@version 0.0.10 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/migadu-webmail/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/migadu-webmail/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amigadu-webmail @description Soothing pastel theme for Migadu Webmail @author Catppuccin @@ -17,62 +17,24 @@ @var checkbox hideProfilePictures "Hide Profile Pictures" 0 ==/UserStyle== */ -@-moz-document domain('webmail.migadu.com') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("webmail.migadu.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); @orange: mix(@peach, @yellow); - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - --main-color: @text; --main-bg-color: @base; --border-color: @surface0; @@ -80,7 +42,7 @@ --dropdown-menu-bg-color: @base; --dropdown-menu-hover-bg-color: @surface1; --dropdown-menu-hover-color: @text; - --dropdown-menu-disable-color: @overlay0; + --dropdown-menu-disabled-color: @subtext0; --dropdown-menu-border-clr: @surface0; --folders-color: @text; --folders-disabled-color: @surface2; @@ -428,19 +390,20 @@ .messageListItem { &.focused { border-left-color: @surface2; + background-color: @surface0; } &.checked { - border-left-color: lighten(@accent-color, 10%); + border-left-color: lighten(@accent, 10%); } &.checked.focused, &.selected { - border-left-color: @accent-color; + border-left-color: @accent; } &.selected { - background-color: fade(@accent-color, 30%); + background-color: fade(@accent, 30%); } } @@ -483,13 +446,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/migadu-webmail/preview.webp b/styles/migadu-webmail/preview.webp deleted file mode 100644 index 5a9c1666ce..0000000000 --- a/styles/migadu-webmail/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:844c808f9d5962b8b57d3fa490665b1283cab37ea7f7969c9b0362afad64b831 -size 228386 diff --git a/styles/minesweeper/README.md b/styles/minesweeper/README.md index f0f048ef90..990e51679c 100644 --- a/styles/minesweeper/README.md +++ b/styles/minesweeper/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer -- [GitMuslim](https://github.com/GitMuslim) +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find!   diff --git a/styles/minesweeper/catppuccin.user.css b/styles/minesweeper/catppuccin.user.less similarity index 82% rename from styles/minesweeper/catppuccin.user.css rename to styles/minesweeper/catppuccin.user.less index 0edc68ba3a..0b61e89f39 100644 --- a/styles/minesweeper/catppuccin.user.css +++ b/styles/minesweeper/catppuccin.user.less @@ -2,8 +2,8 @@ @name Minesweeper Online Catppuccin @namespace github.com/catppuccin/userstyles/styles/minesweeper @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/minesweeper -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/minesweeper/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/minesweeper/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aminesweeper @description Soothing pastel theme for Minesweeper Online @author Catppuccin @@ -15,59 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('minesweeper.online') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("minesweeper.online") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --b0: @crust; --b1: @base; @@ -137,13 +99,13 @@ a.homepage-level.active, a.homepage-level:focus, a.homepage-level:hover { - border-color: @accent-color; + border-color: @accent; } a, a:hover, .text-primary { - color: @accent-color; + color: @accent; } .text-success, @@ -291,8 +253,8 @@ .btn-primary:hover, .btn-primary:active:hover, .btn-primary:active { - border-color: @accent-color; - background-color: @accent-color; + border-color: @accent; + background-color: @accent; color: @mantle; } @@ -388,7 +350,7 @@ .pagination > li > span { background-color: @mantle; border-color: @surface0 !important; - color: @accent-color; + color: @accent; } .pagination > .disabled > a { @@ -399,7 +361,7 @@ .pagination > li > a:hover { background-color: @base; - color: @accent-color; + color: @accent; } .pagination-sm > li:first-child > a, @@ -411,7 +373,7 @@ .pagination > .active > a, .pagination > .active > a:hover { - background-color: @accent-color; + background-color: @accent; color: @mantle; } @@ -500,13 +462,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/minesweeper/preview.webp b/styles/minesweeper/preview.webp deleted file mode 100644 index 8b46937c43..0000000000 --- a/styles/minesweeper/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:534b2439619cfc0bef3eacaa32f191c2a60ed03370c0cc895aab7c43f063c4d2 -size 154088 diff --git a/styles/modrinth/README.md b/styles/modrinth/README.md index 45c7bfb9de..2966ae1911 100644 --- a/styles/modrinth/README.md +++ b/styles/modrinth/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/modrinth/catppuccin.user.css b/styles/modrinth/catppuccin.user.css deleted file mode 100644 index aa37f7f43c..0000000000 --- a/styles/modrinth/catppuccin.user.css +++ /dev/null @@ -1,156 +0,0 @@ -/* ==UserStyle== -@name Modrinth Catppuccin -@namespace github.com/catppuccin/userstyles/styles/modrinth -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/modrinth -@version 1.2.6 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/modrinth/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amodrinth -@description Soothing pastel theme for Modrinth -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("modrinth.com") { - .light-mode { - #catppuccin(@lightFlavor, @accentColor); - } - - .dark-mode, - .oled-mode { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @shadow: if(@lookup = latte, #dbdfef, #010409); - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-base: @text; - --color-bg: @crust; - --color-ad-raised: @surface2; - --color-ad: @surface1; - --color-ad-highlight: @teal; - --color-brand: @accent-color; - --color-brand-green: @green; - --color-button-bg-active: @overlay0; - --color-button-bg-hover: @surface1; - --color-button-bg: @surface0; - --color-button-text-hover: @text; - --color-button-text: @subtext1; - --color-divider: @surface0; - --color-heading: @text; - --color-icon: @text; - --color-link-active: @teal; - --color-link-hover: @sky; - --color-link: @sapphire; - --color-raised-bg: @base; - --color-blue: @sapphire; - --color-special-blue: @sapphire; - --color-orange: @peach; - --color-special-orange: @peach; - --color-purple: @mauve; - --color-special-purple: @mauve; - --color-red: @red; - --color-gray: @subtext0; - --color-special-gray: @subtext0; - --color-green: @green; - --color-text: @subtext1; - --color-text-dark: @text; - --color-text-inactive: @overlay1; - --color-brand-highlight: @surface0; - --color-brand-inverted: @shadow; - --color-table-alternate-row: @crust; - --color-table-border: @overlay0; - --color-contrast: @text; - --color-accent-contrast: @mantle; - --color-brand-shadow: @accent-color; - --color-warning-banner-side: @red; - --color-warning-banner-bg: fade(@red, 10%); - --color-warning-banner-text: @text; - --landing-green-label: @accent-color; - --landing-green-label-bg: fade(@accent-color, 10%); - --landing-blue-label: @blue; - --landing-blue-label-bg: fade(@blue, 10%); - - // homepage - .blob-demonstration, - .blob-demonstration::after { - background: linear-gradient( - 0deg, - fade(@accent-color, 20%), - fade(@base, 10%) - ) !important; - } - .logo-banner path { - fill: @accent-color !important; - } - .logo-banner > svg > g > rect { - display: none; - } - - [tabindex="0"]:focus-visible, - a:focus-visible, - button:focus-visible { - outline-color: @accent-color; - } - - .BDVE3s9MFQttmbMUeYup-2 a b, - .BDVE3s9MFQttmbMUeYup-2 a strong { - color: @accent-color; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/modrinth/catppuccin.user.less b/styles/modrinth/catppuccin.user.less new file mode 100644 index 0000000000..acd34a1ff0 --- /dev/null +++ b/styles/modrinth/catppuccin.user.less @@ -0,0 +1,200 @@ +/* ==UserStyle== +@name Modrinth Catppuccin +@namespace github.com/catppuccin/userstyles/styles/modrinth +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/modrinth +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/modrinth/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Amodrinth +@description Soothing pastel theme for Modrinth +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("modrinth.com") { + .light, + .light-mode, + .light-properties, + html { + #catppuccin(@lightFlavor); + } + + .dark, + .dark-mode, + .oled-mode, + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + // TODO: Use Catppuccin palette colors? `fade()`-ed? + @shadow: if(@flavor = latte, #dbdfef, #010409); + + #css-variables() !important; + + // homepage + .blob-demonstration, + .blob-demonstration::after { + background: linear-gradient( + 0deg, + fade(@accent, 20%), + fade(@base, 10%) + ) !important; + } + .logo-banner path { + fill: @accent !important; + } + .logo-banner > svg > g > rect { + display: none; + } + + [tabindex="0"]:focus-visible, + a:focus-visible, + button:focus-visible { + outline-color: @accent; + } + + .BDVE3s9MFQttmbMUeYup-2 a b, + .BDVE3s9MFQttmbMUeYup-2 a strong { + color: @accent; + } + + // dropdown icon + .multiselect__select::before { + border-color: @text transparent transparent; + color: @text; + } + // header button hover + .btn-wrapper:hover { + a, + button { + --tw-brightness: none !important; + } + } + .nuxt-loading-indicator { + background: @accent !important; + } + + #css-variables() { + --text-color: @text; + --color-base: @text; + --color-bg: @crust; + --color-secondary: @subtext0; + --color-ad-raised: @surface2; + --color-ad: @surface1; + --color-ad-highlight: @teal; + --color-brand: @accent; + --color-brand-green: @green; + --color-button-bg-active: @overlay0; + --color-button-bg-selected: fade(@accent, 25%); + --color-button-bg-hover: @surface1; + --color-button-bg: @surface0; + --color-button-text-hover: @text; + --color-button-text: @subtext1; + --color-button-text-active: @text; + --color-button-text-selected: @accent; + --color-divider: @surface0; + --color-divider-dark: @surface2; + --color-heading: @text; + --color-icon: @text; + --color-link-active: @sapphire; + --color-link-hover: @sky; + --color-link: @blue; + --color-raised-bg: @base; + --color-blue: @sapphire; + --color-special-blue: @sapphire; + --color-orange: @peach; + --color-special-orange: @peach; + --color-purple: @mauve; + --color-special-purple: @mauve; + --color-red: @red; + --color-gray: @subtext0; + --color-special-gray: @subtext0; + --color-green: @green; + --color-text: @subtext1; + --color-text-dark: @text; + --color-text-inactive: @overlay1; + --color-brand-highlight: fade(@accent, 25%); + --color-brand-inverted: @shadow; + --color-table-alternate-row: @crust; + --color-table-border: @overlay0; + --color-contrast: @text; + --color-accent-contrast: @mantle; + --color-red-highlight: fade(@red, 25%); + --color-orange-highlight: fade(@peach, 25%); + --color-green-highlight: fade(@accent, 25%); + --color-blue-highlight: fade(@blue, 25%); + --color-purple-highlight: fade(@mauve, 25%); + --color-gray-highlight: fade(@text, 25%); + --color-red-bg: fade(@red, 20%); + --color-orange-bg: fade(@peach, 25%); + --color-green-bg: fade(@accent, 25%); + --color-blue-bg: fade(@blue, 25%); + --color-purple-bg: fade(@mauve, 25%); + --color-brand-shadow: @accent; + --color-warning-banner-side: @red; + --color-warning-banner-bg: fade(@red, 25%); + --color-warning-banner-text: @text; + --color-platform-fabric: @rosewater; + --color-platform-quilt: @mauve; + --color-platform-forge: @lavender; + --color-platform-neoforge: @peach; + --color-platform-liteloader: @sky; + --color-platform-bukkit: @peach; + --color-platform-bungeecord: @yellow; + --color-platform-folia: @green; + --color-platform-paper: @red; + --color-platform-purpur: @mauve; + --color-platform-spigot: @yellow; + --color-platform-velocity: @teal; + --color-platform-waterfall: @blue; + --color-platform-sponge: @yellow; + --color-platform-ornithe: @teal; + --color-platform-bta-babric: @green; + --color-platform-legacy-fabric: @lavender; + --color-platform-nilloader: @pink; + --color-button-border: fade(@crust, 20%); + --color-tooltip-bg: @surface1; + --color-tooltip-text: @subtext1; + --landing-green-label: @accent; + --landing-green-label-bg: fade(@accent, 10%); + --landing-blue-label: @blue; + --landing-color-heading: @text; + --landing-color-subheading: @subtext0; + --landing-border-color: @overlay0; + --landing-blue-label-bg: fade(@blue, 10%); + --landing-border-gradient: linear-gradient( + to bottom right, + @overlay0, + @surface2 + ); + --brand-gradient-strong-bg: linear-gradient( + 270deg, + fade(@accent, 5%) 10%, + fade(@accent, 15%) + ); + --brand-gradient-border: fade(@accent, 10%); + + --surface-1: @crust; + --surface-1-5: mix(@crust, @mantle, 50%); + --surface-2: @mantle; + --surface-2-5: mix(@mantle, @base, 50%); + --surface-3: @base; + --surface-4: @surface0; + --surface-5: @surface2; + + --color-text-primary: @text; + --color-text-default: @subtext1; + --color-text-tertiary: @subtext0; + } + } +} diff --git a/styles/modrinth/preview.webp b/styles/modrinth/preview.webp deleted file mode 100644 index 9257541ca0..0000000000 --- a/styles/modrinth/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:090036bcb9228979d29b51cb1f3b1f9a189515e4fe07ae607977f2a614e4ab48 -size 199984 diff --git a/styles/namemc/README.md b/styles/namemc/README.md new file mode 100644 index 0000000000..abd238c17f --- /dev/null +++ b/styles/namemc/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for NameMC + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [Meowcelinee](https://github.com/Meowcelinee) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/namemc/catppuccin.user.less b/styles/namemc/catppuccin.user.less new file mode 100644 index 0000000000..0d845d672b --- /dev/null +++ b/styles/namemc/catppuccin.user.less @@ -0,0 +1,528 @@ +/* ==UserStyle== +@name NameMC Catppuccin +@namespace github.com/catppuccin/userstyles/styles/namemc +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/namemc +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/namemc/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anamemc +@description Soothing pastel theme for NameMC +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("namemc.com") { + :root[data-bs-theme="dark"] { + #catppuccin(@darkFlavor); + } + :root[data-bs-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + #bsButton(@col, @bgCol) { + --bs-btn-color: @col; + --bs-btn-hover-color: darken(@col, 5%); + --bs-btn-active-color: darken(@col, 5%); + --bs-btn-disabled-color: @col; + + --bs-btn-bg: @bgCol; + --bs-btn-hover-bg: darken(@bgCol, 5%); + --bs-btn-active-bg: darken(@bgCol, 5%); + --bs-btn-disabled-bg: @bgCol; + --bs-btn-border-color: @bgCol; + --bs-btn-hover-border-color: @bgCol; + --bs-btn-active-border-color: @bgCol; + --bs-btn-disabled-border-color: @bgCol; + } + #bsButtonOutline(@col, @hover) { + --bs-btn-color: @col; + --bs-btn-hover-bg: @col; + --bs-btn-active-bg: @col; + --bs-btn-border-color: @col; + --bs-btn-disabled-color: @col; + --bs-btn-focus-shadow-rgb: @col; + --bs-btn-hover-border-color: @col; + --bs-btn-active-border-color: @col; + --bs-btn-disabled-border-color: @col; + + --bs-btn-hover-color: @hover; + --bs-btn-active-color: @hover; + } + + --bs-body-color: @text; + --bs-body-color-rgb: #lib.rgbify(@text)[]; + --bs-body-bg: @base; + --bs-body-bg-rgb: #lib.rgbify(@base)[]; + --bs-emphasis-color: @text; + --bs-emphasis-color-rgb: #lib.rgbify(@text)[]; + --bs-blue: @blue; + --bs-indigo: @mauve; + --bs-purple: @mauve; + --bs-pink: @pink; + --bs-red: @red; + --bs-orange: @peach; + --bs-yellow: @yellow; + --bs-green: @green; + --bs-teal: @teal; + --bs-cyan: @sapphire; + --bs-secondary-color: @subtext0; + --bs-secondary-color-rgb: #lib.rgbify(@subtext0)[]; + --bs-tertiary-color: @subtext1; + --bs-tertiary-color-rgb: #lib.rgbify(@subtext1)[]; + --bs-tertiary-bg: @base; + --bs-tertiary-bg-rgb: #lib.rgbify(@base)[]; + --bs-secondary-text-emphasis: @subtext0; + --bs-success-text-emphasis: @green; + --bs-primary: @accent; + --bs-primary-rgb: #lib.rgbify(@accent)[]; + --bs-secondary: @subtext0; + --bs-secondary-rgb: #lib.rgbify(@subtext0)[]; + --bs-success: @green; + --bs-success-rgb: #lib.rgbify(@green)[]; + --bs-info: @sky; + --bs-info-rgb: #lib.rgbify(@sky)[]; + --bs-warning: @yellow; + --bs-warning-rgb: #lib.rgbify(@yellow)[]; + --bs-danger: @red; + --bs-danger-rgb: #lib.rgbify(@red)[]; + --bs-light: @base; + --bs-light-rgb: #lib.rgbify(@base)[]; + --bs-dark: @text; + --bs-dark-rgb: #lib.rgbify(@text)[]; + --bs-dark-text-emphasis: @text; + --bs-primary-bg-subtle: @crust; + --bs-secondary-bg-subtle: @mantle; + --bs-success-bg-subtle: fade(@green, 20%); + --bs-warning-bg-subtle: fade(@yellow, 20%); + --bs-danger-bg-subtle: @base; + --bs-secondary-border-subtle: @surface1; + --bs-success-border-subtle: @green; + --bs-info-border-subtle: @sky; + --bs-warning-border-subtle: @yellow; + --bs-danger-border-subtle: @red; + --bs-link-color: @accent; + --bs-link-color-rgb: #lib.rgbify(@accent)[]; + --bs-code-color: @accent; + --bs-highlight-bg: @base; + --bs-form-valid-color: @green; + --bs-focus-ring-color: @accent; + --bs-form-valid-border-color: @green; + --bs-form-invalid-color: @red; + --bs-form-invalid-border-color: @red; + + .btn-primary { + #bsButton(@crust, @accent); + } + .btn-secondary { + #bsButton(@text, @overlay0); + } + .btn-success { + #bsButton(@crust, @green); + } + .btn-info { + #bsButton(@crust, @sapphire); + } + .btn-warning { + #bsButton(@crust, @yellow); + } + .btn-danger { + #bsButton(@crust, @red); + } + .btn-light { + #bsButton(@crust, @overlay2); + } + .btn-dark { + #bsButton(@text, @surface0); + } + + .btn-outline-primary { + #bsButtonOutline(@accent, @text); + } + .btn-outline-secondary { + #bsButtonOutline(@overlay0, @text); + } + .btn-outline-success { + #bsButtonOutline(@green, @text); + } + .btn-outline-info { + #bsButtonOutline(@sapphire, @crust); + } + .btn-outline-warning { + #bsButtonOutline(@yellow, @crust); + } + .btn-outline-danger { + #bsButtonOutline(@red, @text); + } + .btn-outline-light { + #bsButtonOutline(@text, @crust); + } + .btn-outline-dark { + #bsButtonOutline(@surface0, @text); + } + + .text-success { + color: @green !important; + } + + .btn-link { + --bs-btn-disabled-color: @overlay0; + --bs-btn-disabled-border-color: transparent; + --bs-btn-focus-shadow-rgb: #lib.rgbify(@blue)[]; + } + + /* i hate that this is necessary */ + .dropdown-menu { + --bs-dropdown-header-color: @overlay1 !important; + --bs-dropdown-border-color: @surface2 !important; + } + + #header { + form { + div.input-group.input-group-lg { + input.form-control { + background-color: @surface0 !important; + + &:focus { + border-color: @accent; + box-shadow: none; + } + } + } + } + } + + .navbar-nav .nav-item a { + color: @text !important; + + &:hover { + color: @subtext0 !important; + } + span { + color: @text !important; + + &:hover { + color: @subtext0 !important; + } + } + } + + .card { + background-color: @surface0 !important; + color: @subtext0 !important; + --bs-card-bg: @base !important; + + .card-header { + border-color: @surface2 !important; + } + } + + /* skin display link */ + div.card-header { + span { + color: @text; + + &:hover { + color: @accent !important; + } + } + + strong a { + color: @accent !important; + } + } + + /* skin display background */ + .checkered { + @dark: fade(@surface0, 40%); + @light: fade(@surface1, 40%); + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + /* skins page nav buttons */ + .nav.nav-pills { + .nav-item .nav-link a { + color: @text !important; + } + .nav-link.active { + background-color: @accent !important; + color: @crust !important; + } + } + + .page-item .page-link { + background-color: @surface0 !important; + border-color: @surface2 !important; + color: @text; + + &.active { + background-color: @accent !important; + } + + &:focus, + &:hover { + box-shadow: none !important; + color: @accent !important; + } + } + + .page-item.active .page-link { + background-color: @accent !important; + border-color: @accent !important; + color: @crust !important; + } + + /* single skin page */ + a.badge, + span.badge { + background-color: @accent !important; + color: @crust !important; + } + + /* usernames page */ + form#upcoming-form { + div.row { + label.col-form-label { + color: @text !important; + } + + div.col { + .input-group { + .input-group-text { + background-color: @base !important; + border-color: @surface2 !important; + } + } + } + } + } + + .form-control, + .form-select { + background-color: @base !important; + border-color: @surface2 !important; + box-shadow: none !important; + color: @subtext1 !important; + + &:focus { + border-color: @accent !important; + box-shadow: 0 0 0 0.25rem fade(@accent, 25%); + } + } + + /* server list page */ + .mc-red { + color: @maroon !important; + } + .mc-dark-red { + color: @red !important; + } + .mc-gold { + color: @peach !important; + } + .mc-yellow { + color: @yellow !important; + } + .mc-green, + .mc-dark-green { + color: @green !important; + } + .mc-aqua { + color: @sky !important; + } + .mc-dark-aqua { + color: @teal !important; + } + .mc-blue { + color: @sapphire !important; + } + .mc-dark-blue { + color: @blue !important; + } + .mc-light-purple { + color: @pink !important; + } + .mc-dark-purple { + color: @mauve !important; + } + + /* profile page */ + .namemc-rank-10 { + color: @green !important; + } + + .namemc-rank-100, + .namemc-rank-200, + .namemc-rank-900, + .namemc-rank-1000 { + color: @red !important; + } + + #uuid-select { + background-color: @surface1 !important; + } + + .card.mb-3 .card-header a { + color: @accent !important; + } + + .skin-button-selected { + /* society if box-shadow-color existed */ + box-shadow: 0 0 6px @overlay0 !important; + background-color: @overlay0 !important; + } + + .player-list { + a:hover { + color: @subtext1 !important; + } + } + + .head-command, + #head-command-select { + background-color: @base !important; + + &:focus { + border-color: @accent !important; + box-shadow: none !important; + } + } + + button.head-command { + border-color: @surface0 !important; + color: @subtext1; + + &:hover { + background-color: @surface1 !important; + border-color: @surface2 !important; + color: @text !important; + } + } + + #country { + background-color: @mantle !important; + } + + fieldset.form-group input.form-control { + background-color: @mantle; + } + + form > .row > .col > .input-group { + #discord-input, + #facebook-input, + #github-input, + #instagram-input, + #reddit-input, + #snapchat-input, + #soundcloud-input, + #spotify-input, + #steam-input, + #telegram-input, + #tiktok-input, + #threads-input, + #twitch-input, + #twitter-input, + #youtube-input, + fieldset.form-group input.form-control { + background-color: @mantle; + } + } + + & when (@flavor = latte) { + --bs-black: @text; + --bs-black-rgb: #lib.rgbify(@text)[]; + --bs-white: @crust; + --bs-white-rgb: #lib.rgbify(@crust)[]; + --bs-gray: @subtext0; + --bs-gray-dark: @text; + --bs-gray-100: @base; + --bs-gray-200: @mantle; + --bs-gray-300: @crust; + --bs-gray-400: @surface0; + --bs-gray-500: @surface2; + --bs-gray-600: @overlay2; + --bs-gray-700: @subtext0; + --bs-gray-800: @subtext1; + --bs-gray-900: @text; + --bs-secondary-bg: @mantle; + --bs-secondary-bg-rgb: #lib.rgbify(@mantle)[]; + --bs-primary-text-emphasis: @text; + --bs-info-text-emphasis: @text; + --bs-warning-text-emphasis: @text; + --bs-danger-text-emphasis: @red; + --bs-light-text-emphasis: @subtext0; + --bs-info-bg-subtle: @surface0; + --bs-light-bg-subtle: @base; + --bs-dark-bg-subtle: @surface0; + --bs-primary-border-subtle: @surface2; + --bs-light-border-subtle: @mantle; + --bs-dark-border-subtle: @surface2; + --bs-link-hover-color: @accent; + --bs-link-hover-color-rgb: #lib.rgbify(@accent)[]; + --bs-border-color: @crust; + + .mc-black { + color: @text !important; + } + .mc-dark-gray { + color: @subtext0 !important; + } + .mc-gray, + .mc-reset { + color: @overlay1 !important; + } + .mc-white { + color: @base !important; + } + } + + & when not(@flavor = latte) { + --bs-black: @crust; + --bs-white: @text; + --bs-gray: @overlay2; + --bs-gray-dark: @surface2; + --bs-secondary-bg: @surface0; + --bs-secondary-bg-rgb: #lib.rgbify(@surface0)[]; + --bs-primary-text-emphasis: @sapphire; + --bs-info-text-emphasis: @sky; + --bs-warning-text-emphasis: @yellow; + --bs-danger-text-emphasis: @maroon; + --bs-light-text-emphasis: @text; + --bs-info-bg-subtle: @crust; + --bs-light-bg-subtle: @surface0; + --bs-dark-bg-subtle: @mantle; + --bs-primary-border-subtle: @mantle; + --bs-light-border-subtle: @surface1; + --bs-dark-border-subtle: @surface0; + --bs-link-hover-color: @text; + --bs-link-hover-color-rgb: #lib.rgbify(@text)[]; + --bs-border-color: @surface1; + + .mc-black { + color: @crust !important; + } + .mc-dark-gray { + color: @overlay0 !important; + } + .mc-gray, + .mc-reset { + color: @subtext0 !important; + } + .mc-white { + color: @text !important; + } + } + } +} diff --git a/styles/neovim.io/README.md b/styles/neovim.io/README.md new file mode 100644 index 0000000000..c3352193b9 --- /dev/null +++ b/styles/neovim.io/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for neovim.io + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [comfysage](https://github.com/comfysage) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/neovim.io/catppuccin.user.less b/styles/neovim.io/catppuccin.user.less new file mode 100644 index 0000000000..770b1d278c --- /dev/null +++ b/styles/neovim.io/catppuccin.user.less @@ -0,0 +1,114 @@ +/* ==UserStyle== +@name neovim.io Catppuccin +@namespace github.com/catppuccin/userstyles/styles/neovim.io +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/neovim.io +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/neovim.io/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aneovim.io +@description Soothing pastel theme for neovim.io +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("neovim.io") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --fg-color: @text; + --inverse-fg-color: @surface0; + --bg-color: @base; + --accent-bg-color: @mantle; + --link-color: @blue; + --accent-color: @accent; + --border-color: @accent; + --code-color: @accent; + + a:not([class]) { + text-decoration-color: var(--link-color); + + &:hover, + &:focus { + color: var(--link-color); + } + } + + a[aria-label="logo"] svg[aria-label="Neovim"] { + path[fill="url(#a)"] { + fill: @blue; + } + + path[fill="url(#b)"], + path[fill="url(#c)"] { + fill: @green; + } + + g[fill="#444"] path { + fill: @blue; + } + } + + --bs-btn-active-color: @base; + + .btn { + color: @base; + background: linear-gradient( + @accent 0% 95%, + darken(@accent, 10%) 95% 100% + ); + + &:hover, + &:focus { + box-shadow: 0 0 10px @accent; + outline-color: @text; + } + } + + // docs + --tag-color: @accent; + + code, + code.hljs, + pre, + samp { + background-color: @mantle !important; + color: @text; + } + + .generator-stats { + color: @subtext0; + } + + --docsearch-container-background: fade(@base, 30%); + --docsearch-modal-background: @mantle; + --docsearch-highlight-color: @accent; + --docsearch-logo-color: @accent; + + .DocSearch-Logo { + .cls-1, + .cls-2 { + fill: var(--docsearch-logo-color); + } + } + } +} diff --git a/styles/nitter/README.md b/styles/nitter/README.md index 85e872a36a..31a4dd46ec 100644 --- a/styles/nitter/README.md +++ b/styles/nitter/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/nitter/catppuccin.user.css b/styles/nitter/catppuccin.user.css deleted file mode 100644 index f6f7616bde..0000000000 --- a/styles/nitter/catppuccin.user.css +++ /dev/null @@ -1,123 +0,0 @@ -/* ==UserStyle== -@name Nitter Catppuccin -@namespace github.com/catppuccin/userstyles/styles/nitter -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nitter -@version 2.0.6 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nitter/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anitter -@description Soothing pastel theme for Nitter -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("nitter.net"), domain("nitter.unixfox.eu"), domain("nitter.42l.fr"), domain("nitter.fdn.fr"), domain("nitter.1d4.us"), domain("nitter.kavin.rocks"), domain("nitter.namazso.eu"), domain("nitter.hu"), domain("bird.trom.tf"), domain("nitter.it"), domain("twitter.censors.us"), domain("nitter.grimneko.de"), domain("n.hyperborea.cloud"), domain("nitter.ca"), domain("twitter.076.ne.jp"), domain("nitter.mstdn.social"), domain("nitter.fly.dev"), domain("nitter.weiler.rocks"), domain("nitter.sethforprivacy.com"), domain("nttr.stream"), domain("nitter.tiekoetter.com"), domain("nitter.spaceint.fr"), domain("nitter.privacy.com.denitter.mastodon.pro"), domain("nitter.notraxx.chnitter.poast.org"), domain("nitter.bird.froth.zone"), domain("nitter.dcs0.hu"), domain("twitter.beparanoid.de"), domain("n.ramle.be"), domain("nitter.cz"), domain("nitter.privacydev.net"), domain("tweet.lambda.dance"), domain("nitter.kylrth.com"), domain("nitter.oishi-ra.men"), domain("nitter.foss.wtf"), domain("nitter.priv.pw"), domain("t.com.sb") { - @media (prefers-color-scheme: light) { - body { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - body { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --bg_color: @mantle; - --fg_color: @text; - --fg_faded: @subtext1; - --fg_dark: @accent-color; - --fg_nav: @accent-color; - --bg_panel: @crust; - --bg_elements: @base; - --bg_overlays: @base; - --bg_hover: @crust; - --grey: @subtext1; - --dark_grey: @overlay0; - --darker_grey: @base; - --darkest_grey: @mantle; - --border_grey: @base; - --accent: @accent-color; - --accent_light: lighten(@accent-color, 10%); - --accent_dark: darken(@accent-color, 10%); - --accent_border: darken(@accent-color, 10%); - --play_button: @accent-color; - --play_button_hover: @accent-color; - --more_replies_dots: darken(@accent-color, 10%); - --error_red: @red; - --verified_blue: @blue; - --icon_text: @text; - --tab: @text; - --tab_selected: @accent-color; - --profile_stat: @text; - background-color: var(--bg_color); - color: var(--fg_color); - line-height: 1.3; - margin: 0; - - /* Fix Poll Leader color */ - .poll-meter.leader { - color: var(--bg_color); - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color) green(@color) blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/nitter/catppuccin.user.less b/styles/nitter/catppuccin.user.less new file mode 100644 index 0000000000..3043945e4c --- /dev/null +++ b/styles/nitter/catppuccin.user.less @@ -0,0 +1,153 @@ +/* ==UserStyle== +@name Nitter Catppuccin +@namespace github.com/catppuccin/userstyles/styles/nitter +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nitter +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nitter/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anitter +@description Soothing pastel theme for Nitter +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("nitter.net"), + domain("nitter.unixfox.eu"), + domain("nitter.42l.fr"), + domain("nitter.fdn.fr"), + domain("nitter.1d4.us"), + domain("nitter.kavin.rocks"), + domain("nitter.namazso.eu"), + domain("nitter.hu"), + domain("bird.trom.tf"), + domain("nitter.it"), + domain("twitter.censors.us"), + domain("nitter.grimneko.de"), + domain("n.hyperborea.cloud"), + domain("nitter.ca"), + domain("twitter.076.ne.jp"), + domain("nitter.mstdn.social"), + domain("nitter.fly.dev"), + domain("nitter.weiler.rocks"), + domain("nitter.sethforprivacy.com"), + domain("nttr.stream"), + domain("nitter.tiekoetter.com"), + domain("nitter.spaceint.fr"), + domain("nitter.privacy.com.denitter.mastodon.pro"), + domain("nitter.notraxx.chnitter.poast.org"), + domain("nitter.bird.froth.zone"), + domain("nitter.dcs0.hu"), + domain("twitter.beparanoid.de"), + domain("n.ramle.be"), + domain("nitter.cz"), + domain("nitter.privacydev.net"), + domain("tweet.lambda.dance"), + domain("nitter.kylrth.com"), + domain("nitter.oishi-ra.men"), + domain("nitter.foss.wtf"), + domain("nitter.priv.pw"), + domain("t.com.sb"), + domain("xcancel.com"), + domain("nitter.poast.org") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + --bg_color: @mantle; + --fg_color: @text; + --fg_faded: @subtext1; + --fg_dark: @accent; + --fg_nav: @accent; + --bg_panel: @crust; + --bg_elements: @base; + --bg_overlays: @base; + --bg_hover: @crust; + --grey: @subtext1; + --dark_grey: @overlay0; + --darker_grey: @base; + --darkest_grey: @mantle; + --border_grey: @base; + --accent: @accent; + --accent_light: lighten(@accent, 10%); + --accent_dark: darken(@accent, 10%); + --accent_border: darken(@accent, 10%); + --play_button: @accent; + --play_button_hover: @accent; + --more_replies_dots: darken(@accent, 10%); + --error_red: @red; + --verified_blue: @blue; + --icon_text: @text; + --tab: @text; + --tab_selected: @accent; + --profile_stat: @text; + --verified_government: @subtext0; + --verified_business: @yellow; + background-color: var(--bg_color); + color: var(--fg_color); + line-height: 1.3; + margin: 0; + } + + /* logo */ + img.site-logo { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + /* Fix Poll Leader color */ + .poll-meter.leader { + color: var(--bg_color); + } + + /* xcancel "verifying your request" */ + [style="background-color:#1f1f1f;color:#1f1f1f;font-family:Arial,Helvetica,sans-serif;font-size:100%;"] { + background: @base !important; + h1, + h2, + p, + #status { + color: @accent !important; + } + [style="width:auto;margin:16px auto;border:1px solid #FF6C60;background-color:#1f1f1f;border-radius:3px 3px 3px 3px;padding:10px;"] { + background: @base !important; + border-color: @accent !important; + } + } + + /* error text color contrast */ + .error-panel { + color: @crust; + a { + color: @crust; + text-decoration: underline; + } + } + + /* twitter blue verification checkmark contrast */ + .verified-icon.blue { + color: @crust; + } + } +} + +#rgbify(@color) { + @rgb: red(@color) green(@color) blue(@color); +} diff --git a/styles/nitter/preview.webp b/styles/nitter/preview.webp deleted file mode 100644 index a1ae416ce4..0000000000 --- a/styles/nitter/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2973a27b2884745b5e7a9a3d329c411cf7ae9d0f04a040342a31e4025b2ec772 -size 303876 diff --git a/styles/nixos-manual/README.md b/styles/nixos-manual/README.md new file mode 100644 index 0000000000..78f5cf3a9d --- /dev/null +++ b/styles/nixos-manual/README.md @@ -0,0 +1,38 @@ + + + +

+ Logo
+ + Catppuccin for NixOS Manual, Nixpkgs Manual + +

+ +

+ + +

+ +## Usage + +> [!IMPORTANT] +> This userstyle also applies to [Nixpkgs Manual](https://nixos.org/manual/nixpkgs). + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [husjon](https://github.com/husjon) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/nixos-manual/catppuccin.user.less b/styles/nixos-manual/catppuccin.user.less new file mode 100644 index 0000000000..9e5ce7d9c6 --- /dev/null +++ b/styles/nixos-manual/catppuccin.user.less @@ -0,0 +1,75 @@ +/* ==UserStyle== +@name NixOS Manual/Nixpkgs Manual Catppuccin +@namespace github.com/catppuccin/userstyles/styles/nixos-manual +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nixos-manual +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nixos-manual/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anixos-manual +@description Soothing pastel theme for NixOS Manual and Nixpkgs Manual +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document url-prefix("https://nixos.org/manual/"), + url-prefix("https://nix-darwin.github.io/nix-darwin/manual/") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --background: @base; + --main-text-color: @text; + --link-color: @accent; + --heading-color: @accent; + --small-heading-color: fade(@accent, 85%); + --note-text-color: @blue; + --note-background: @base; + --warning-text-color: @red; + --warning-background: @base; + --codeblock-background: @surface0; + --codeblock-text-color: @text; + + div.book .programlisting, + div.appendix .programlisting { + background-color: @surface0 !important; + } + + hr, + div.toc { + border-top-color: transparent; + border-bottom-color: @overlay1 !important; + } + + // Version selector + div[style^="background: #333333;color: #FFFFFF;"] { + background-color: @crust !important; + + &, + dt { + color: @text !important; + } + + a { + color: @accent !important; + } + } + } +} diff --git a/styles/nixos-search/README.md b/styles/nixos-search/README.md index d451623b35..a387d6108b 100644 --- a/styles/nixos-search/README.md +++ b/styles/nixos-search/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Sydney Newmark](https://github.com/cecelot) +- [sydrinea](https://github.com/sydrinea)   diff --git a/styles/nixos-search/catppuccin.user.css b/styles/nixos-search/catppuccin.user.css deleted file mode 100644 index b1288d8062..0000000000 --- a/styles/nixos-search/catppuccin.user.css +++ /dev/null @@ -1,123 +0,0 @@ -/* ==UserStyle== -@name NixOS Search Catppuccin -@namespace github.com/catppuccin/userstyles/styles/nixos-search -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nixos-search -@version 0.4.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nixos-search/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anixos-search -@description Soothing pastel theme for NixOS Search -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("search.nixos.org") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --background-color: @base; - --badge-background: @accent-color; - --button-active-background: @surface1; - --button-active-hover-background: @surface2; - --button-background: @surface0; - --button-hover-background: @surface2; - --color-active-hover-tab: @surface1; - --color-active-tab: @surface0; - --color-hover-tab: @surface1; - --headerbar-background-color: @mantle; - --hover-background: @surface0; - --link-color: @accent-color; - --info-label-background: @accent-color; - --dark-blue: @accent-color; - --light-blue: @accent-color; // used by focus outline - --line-color: @surface0; - --search-result-short-details-color: @subtext1; - --search-result-divider-line-color: @surface0; - --search-result-title-color: @accent-color; - --search-sidebar-link-color: @text; - --search-sidebar-selected-link-background: @accent-color; - --search-sidebar-selected-link-color: @crust; - --terminal-background: @surface0; - --terminal-color: @red; - --text-color: @text; - --text-color-light: @text; - --text-color-warning: @yellow; - - // hardcoded to #fff - .label, - .badge { - color: @crust; - } - - // hardcoded to #005580 - a:hover, - a:focus { - color: @text; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/nixos-search/catppuccin.user.less b/styles/nixos-search/catppuccin.user.less new file mode 100644 index 0000000000..3b9d56777b --- /dev/null +++ b/styles/nixos-search/catppuccin.user.less @@ -0,0 +1,79 @@ +/* ==UserStyle== +@name NixOS Search Catppuccin +@namespace github.com/catppuccin/userstyles/styles/nixos-search +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nixos-search +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nixos-search/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anixos-search +@description Soothing pastel theme for NixOS Search +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("search.nixos.org") { + :root:not([data-theme]) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + + :root[data-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --background-color: @base; + --badge-background: @surface2; + --button-active-background: @surface1; + --button-active-hover-background: @surface2; + --button-background: @surface0; + --button-hover-background: @surface2; + --color-active-hover-tab: @surface1; + --color-active-tab: @surface0; + --color-hover-tab: @surface1; + --headerbar-background-color: @mantle; + --hover-background: @surface0; + --link-color: @accent; + --info-label-background: @accent; + --dark-blue: @accent; + --light-blue: @accent; // used by focus outline + --line-color: @surface0; + --search-result-short-details-color: @subtext1; + --search-result-divider-line-color: @surface0; + --search-result-title-color: @accent; + --search-sidebar-link-color: @text; + --search-sidebar-selected-link-background: @accent; + --search-sidebar-selected-link-color: @crust; + --terminal-background: @surface0; + --terminal-color: @text; + --text-color: @text; + --text-color-light: @text; + --text-color-warning: @yellow; + + .badge { + color: @text; + } + /* Experimental Flakes label */ + .label { + color: @base; + text-shadow: none; + } + } +} diff --git a/styles/nixos-search/preview.webp b/styles/nixos-search/preview.webp deleted file mode 100644 index 9a195b0a62..0000000000 --- a/styles/nixos-search/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:402ceb2bf5ca2f3334348de25900f931b9c1211e0ed409cb99bcd91b70187818 -size 94340 diff --git a/styles/nixos.wiki/catppuccin.user.css b/styles/nixos.wiki/catppuccin.user.css deleted file mode 100644 index 4ef7b894ef..0000000000 --- a/styles/nixos.wiki/catppuccin.user.css +++ /dev/null @@ -1,377 +0,0 @@ -/* ==UserStyle== -@name NixOS Wiki Catppuccin -@namespace github.com/catppuccin/userstyles/styles/nixos.wiki -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/nixos.wiki -@version 0.0.7 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/nixos.wiki/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anixos.wiki -@description Soothing pastel theme for NixOS Wiki -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('nixos.wiki') { - @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); - - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: @rosewater; - --ctp-flamingo: @flamingo; - --ctp-pink: @pink; - --ctp-mauve: @mauve; - --ctp-red: @red; - --ctp-maroon: @maroon; - --ctp-peach: @peach; - --ctp-yellow: @yellow; - --ctp-green: @green; - --ctp-teal: @teal; - --ctp-sky: @sky; - --ctp-sapphire: @sapphire; - --ctp-blue: @blue; - --ctp-lavender: @lavender; - --ctp-text: @text; - --ctp-subtext1: @subtext1; - --ctp-subtext0: @subtext0; - --ctp-overlay2: @overlay2; - --ctp-overlay1: @overlay1; - --ctp-overlay0: @overlay0; - --ctp-surface2: @surface2; - --ctp-surface1: @surface1; - --ctp-surface0: @surface0; - --ctp-base: @base; - --ctp-mantle: @mantle; - --ctp-crust: @crust; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &[data-darkreader-scheme="dark"] body::before { - content: "Please turn off DarkReader for this domain when Catppuccin for NixOS Wiki is active."; - background: @red; - box-shadow: - 0 4px 16px fade(@crust, 10%), - 0 8px 32px fade(@crust, 5%); - color: @crust; - position: fixed; - top: 0; - right: 0; - z-index: 99999; - max-width: 24rem; - padding: 0.75rem; - margin: 0.5rem; - border-radius: 5px; - } - - body { - background-color: @base; - } - hr { - border-color: @surface2; - } - .navbar-default { - color: @text; - background-color: @mantle !important; - background-image: none !important; - border-color: transparent !important; - - .navbar-brand { - color: @blue; - &:hover { - color: @sky; - } - } - - li { - a { - color: @text !important; - &:hover { - color: @subtext0 !important; - } - } - &.nav.open > a, - ul { - background-color: @surface0 !important; - background-image: none !important; - a:hover { - background-color: fade(@surface1, 50%) !important; - background-image: none !important; - } - } - } - .active > a { - color: @crust !important; - &:hover { - color: @base !important; - } - background: @blue !important; - } - } - - .search-query.form-control { - color: @text; - background-color: @surface0; - border-color: @surface0; - } - - * { - color: @text; - } - - a { - color: @blue; - &:hover { - color: @sky; - } - &.new { - color: @red; - &:hover { - color: @maroon; - } - } - } - - .panel { - background-color: @mantle; - border-color: @mantle; - .panel-heading { - color: @text; - background-color: @surface0 !important; - border-bottom-color: @surface2; - img { - & when not (@lookup = latte) { - filter: invert(100%); - } - } - } - } - - .btn-primary { - color: @crust; - background-color: @blue !important; - background-image: none !important; - border-color: @crust !important; - &:hover { - color: @crust !important; - background-color: @sky !important; - background-image: none !important; - } - } - - table { - &, - * { - color: @text; - border-color: @overlay0 !important; - background-color: @mantle; - } - th { - &, - * { - background-color: @surface0 !important; - } - } - } - - blockquote, - cite { - border-left-color: @pink !important; - } - - cite a { - color: @pink; - &:hover { - color: @rosewater; - } - } - - pre, - code { - box-shadow: none !important; - background-color: @mantle; - border-color: @crust; - } - pre { - color: @text; - } - code { - color: @rosewater; - } - - *[style*="background-color: #C1E5FF"] { - color: @text !important; - background-color: fade(@blue, 15%) !important; - border-color: @blue !important; - } - - *[style*="background-color: #FFD0B7"] { - color: @text !important; - background-color: fade(@peach, 15%) !important; - border-color: @peach !important; - } - - *[style*="background: #F6F6F6"] { - color: @text !important; - background-color: fade(@overlay0, 15%) !important; - border-color: @overlay0 !important; - } - - .suggestions { - .suggestions-result { - background-color: @mantle; - &:hover { - background-color: mix(@base, @mantle, 50%); - } - color: @text; - .highlight { - color: @accent-color; - } - } - .suggestions-results { - border-color: @surface0 !important; - } - .suggestions-special { - border-color: @surface0 !important; - background-color: @mantle; - &:hover { - background-color: mix(@accent-color, @mantle, 15%); - } - .special-label { - color: @subtext0; - } - .special-query { - color: @text; - } - } - } - - .toc { - li.active > a { - border-left-color: @accent-color !important; - } - ul.nav a:hover { - background: @accent-color !important; - &, - * { - color: @crust !important; - } - } - } - - .page-header { - border-bottom-color: @overlay2; - } - - #catlinks { - background-color: @mantle; - border-color: @mantle; - } - - #footer { - background-color: @mantle; - } - - .mw-search-profile-tabs { - background-color: @base !important; - border-color: @base !important; - } - - .search-types .current a { - color: @text; - } - - .oo-ui-inputWidget-input { - background-color: @overlay2 !important; - color: @base; - } - - .oo-ui-buttonElement-button { - background-color: @mantle !important; - color: @base !important; - border-color: @mantle !important; - } - - .oo-ui-labelElement-label { - background-color: @mantle !important; - color: @text !important; - } - - .oo-ui-floatableElement-floatable, - .oo-ui-widget:hover { - background-color: @mantle !important; - color: @text !important; - } - - & when (@lookup = latte) { - .oo-ui-inputWidget-input { - background-color: @base !important; - color: @text; - } - .oo-ui-buttonElement-button { - background-color: @mantle !important; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/nixos.wiki/preview.webp b/styles/nixos.wiki/preview.webp deleted file mode 100644 index 05484d82f8..0000000000 --- a/styles/nixos.wiki/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:037b5d96126d98430235a9581e49e2c6da4ec4a09dbd8364d24f94d4b9ae19be -size 244556 diff --git a/styles/npm/README.md b/styles/npm/README.md index b19020faf6..7eaa3d4603 100644 --- a/styles/npm/README.md +++ b/styles/npm/README.md @@ -4,19 +4,18 @@

Logo
- Catppuccin for npm + Catppuccin for npm

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/npm/catppuccin.user.css b/styles/npm/catppuccin.user.less similarity index 73% rename from styles/npm/catppuccin.user.css rename to styles/npm/catppuccin.user.less index 4644af5ca2..8612cf0b5b 100644 --- a/styles/npm/catppuccin.user.css +++ b/styles/npm/catppuccin.user.less @@ -2,8 +2,8 @@ @name npm Catppuccin @namespace github.com/catppuccin/userstyles/styles/npm @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/npm -@version 0.0.7 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/npm/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/npm/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anpm @description Soothing pastel theme for npm @author Catppuccin @@ -15,85 +15,60 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("www.npmjs.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - @red-filter: @catppuccin[@@lookup][@red_filter]; - - color-scheme: if(@lookup = latte, light, dark); - accent-color: @accent-color; - - ::selection { - background-color: fade(@accent-color, 30%); - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); input, textarea { background-color: transparent; &:focus { - box-shadow: 0 0 0 2px @accent-color; - } - - &::placeholder { - color: @subtext0 !important; + box-shadow: 0 0 0 2px @accent; } } + // TODO: Should accent-color be set in defaults? + accent-color: @accent; + @npmGradient: linear-gradient(139deg, @peach, @maroon, @red, @pink); --color-fg-default: @text; --color-fg-muted: @subtext1; --color-fg-subtle: @subtext0; --color-fg-on-emphasis: @base; - --color-fg-brand: @red; + --color-fg-brand: @accent; --color-fg-accent: @blue; --color-fg-success: @green; --color-fg-attention: @yellow; --color-fg-danger: @red; --color-border-strong: @surface0; + --header-color: @text; + /* Used on deprecation confirmation page */ + --wombat-red: @maroon; + --wombat-red-hover: @red; + + --search-fg-muted: @subtext1; + --search-border: @surface0; + --search-bg-subtle: @surface0; + &, main { background-color: @base !important; + color: @text; } /* Primary background */ @@ -103,19 +78,16 @@ } /* Background layer background */ + .bg-black-05, ._7eb68a55, .e9998f88 { background-color: @mantle; } /* Primary text */ - ._99e3854f, .black, .black-90, .black-80, - ._0b9b6c57, - ._1b8c0a9f, - p, a { color: @text; } @@ -123,12 +95,10 @@ /* Secondary text */ .black-70, .black-60, - .cd2827bb a { + .dim:focus, + .dim:hover { color: @subtext0; } - ._66c2abad { - color: @overlay0; - } /* Inverse text */ .white { @@ -145,7 +115,7 @@ /* Top loading bar */ div.fixed.top-0.left-0.z-999 { - background-color: @red; + background-color: @accent; } /* Magnifying glass icon (search box, discover packages) */ @@ -166,7 +136,7 @@ /* --- HEADER --- */ [data-test-id="notification-banner"] { background-color: if( - @lookup = latte, + @flavor = latte, desaturate(lighten(@green, 30%), 5%), desaturate(darken(@green, 5%), 5%) ); @@ -174,7 +144,7 @@ #notification, button[aria-label="Close notification"] { - color: if(@lookup = latte, @text, @base); + color: if(@flavor = latte, @text, @base); } } header { @@ -197,19 +167,22 @@ /* Search box */ form#search { + /* Search button */ button[type="submit"] { background-color: @subtext1; } + /* Search input wrapper */ > div { - border-color: @crust; + border-color: @surface0; &:focus-within { border-color: @subtext1; } - > div { - background-color: @crust; + /* Search input */ + div:has(input[type="search"]) { + background-color: @mantle; input[type="search"] { color: @text; @@ -224,18 +197,22 @@ } } - /* Floating live results */ - ul li { - border-bottom-color: @surface0; - color: @text; + /* Search results (floating box) */ + div.list { + background-color: @base; + + ul[aria-label="Search results"] li { + border-bottom-color: @surface0; + + &:hover { + background-color: @surface1; + } + } } } } - /* Profile picture nvigation */ - #signup { - border-color: @surface0; - } + /* Profile picture navigation */ nav:has(> button[aria-label="Profile menu"]) { > button { /* Dropdown arrow */ @@ -263,6 +240,10 @@ /* Username */ h2 { border-bottom-color: @surface1; + + span { + color: @text; + } } /* Navigation options */ @@ -275,9 +256,9 @@ /* Red "Add Organization" button */ &[href="/org/create"] { border-color: @surface0; - color: @red; + color: @accent; svg { - fill: @red; + fill: @accent; } } } @@ -288,7 +269,8 @@ /* --- HOME PAGE --- */ ._8c1ee087 { - background-image: linear-gradient( + background-image: + linear-gradient( 270deg, fade(@red, 16%) 0%, fade(@red, 56%) 18.45%, @@ -315,7 +297,7 @@ /* Popular libraries section */ #popular-libraries-header + hr { - border-color: @red; + border-color: @accent; } ul[aria-labelledby="popular-libraries-header"] { li a { @@ -332,27 +314,27 @@ color: @text; border-color: @surface0; } - &:nth-of-type(6n + 1):hover a { + &:nth-of-type(6n+1):hover a { color: @mauve; border-bottom-color: @mauve; } - &:nth-of-type(6n + 2):hover a { + &:nth-of-type(6n+2):hover a { color: @green; border-bottom-color: @green; } - &:nth-of-type(6n + 3):hover a { + &:nth-of-type(6n+3):hover a { color: @sky; border-bottom-color: @sky; } - &:nth-of-type(6n + 4):hover a { + &:nth-of-type(6n+4):hover a { color: @red; border-bottom-color: @red; } - &:nth-of-type(6n + 5):hover a { + &:nth-of-type(6n+5):hover a { color: @yellow; border-bottom-color: @yellow; } - &:nth-of-type(6n + 6):hover a { + &:nth-of-type(6n+6):hover a { color: @pink; border-bottom-color: @pink; } @@ -365,11 +347,24 @@ /* Recently updated packages section */ #recently-updated-packages-header + hr { - border-color: @red; + border-color: @accent; } /* --- PACKAGE PAGES --- */ + /* Deprecation warning */ + .bg-washed-red { + background-color: fade(@red, 30%); + + code { + background-color: @mantle; + color: @text; + } + } + .red { + color: @red !important; + } + /* "public" text */ ._813b53b2 { color: @green; @@ -381,86 +376,60 @@ ); content: url("data:image/svg+xml,@{svg}"); } - + /* DefinitelyTyped logo */ + img[alt="DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/bootstrap package"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } /* Navigation tabs */ - ul[aria-owns*="package-tab-"] { - li { - &:has(#package-tab-readme) { - border-color: @yellow; + #package-tab(@color) { + border-color: @color; - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@yellow, 20%); - } + &:has(> a[aria-selected="false"]):hover, + &:has(> a[aria-selected="true"]) { + background-color: fade(@color, 20%); + } - a { - color: @yellow; - } + a { + color: @color; + } + } + ul[aria-owns*="package-tab-"] { + li { + &:has(#package-tab-readme), + &:has(#package-tab-members) { + #package-tab(@yellow); } &:has(#package-tab-code), - &:has(#package-tab-admin) { - border-color: @red; - - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@red, 20%); - } - - a { - color: @red; - } + &:has(#package-tab-admin), + &:has(#package-tab-packages) { + #package-tab(@red); } &:has(#package-tab-dependents), - &:has(#package-tab-packages) { - border-color: @mauve; - - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@mauve, 20%); - } - - a { - color: @mauve; - } + &:has(#package-tab-billing) { + #package-tab(@mauve); } &:has(#package-tab-dependencies) { - border-color: @pink; - - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@pink, 20%); - } - - a { - color: @pink; - } + #package-tab(@pink); } &:has(#package-tab-versions) { - border-color: @sapphire; - - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@sapphire, 20%); - } - - a { - color: @sapphire; - } + #package-tab(@sapphire); } - &:has(#package-tab-orgs) { - border-color: @green; - - &:has(> a[aria-selected="false"]):hover { - background-color: fade(@green, 20%); - } - - a { - color: @green; - } + &:has(#package-tab-orgs), + &:has(#package-tab-teams) { + #package-tab(@green); } } } /* Sidebar icons */ - ._5cfc0900 svg, - .b5be2af6 svg, - button[aria-label="Copy install command line"] svg, - [aria-labelledby="repository repository-link"] svg g { + svg:has(+ p > [aria-label="Copy install command line"]), + button[aria-label="Copy install command line"] svg path, + [aria-labelledby="repository repository-link"] svg g, + [aria-labelledby="homePage homePage-link"] svg path, + [aria-label="Showing weekly downloads"] svg { fill: @text; } /* Copy install command box */ @@ -469,11 +438,11 @@ } /* Weekly downloads chart */ div:has(> svg > [class^="sparkline--"]) { - border-bottom-color: fade(@accent-color, 20%); + border-bottom-color: fade(@accent, 20%); svg { - stroke: @accent-color; - fill: fade(@accent-color, 20%); + stroke: @accent; + fill: fade(@accent, 20%); } } @@ -568,8 +537,8 @@ /* File paths/link */ button, - /* Loading spinner */ - svg:has(> circle) { + /* Loading spinner */ + svg:has(> circle) { color: @text !important; } @@ -603,11 +572,17 @@ [style="color: rgb(111, 66, 193);"] { color: var(--color-prettylights-syntax-entity) !important; } + [style*="color: rgb(223, 80, 0);"] { + color: @peach !important; + } + [style*="color: rgb(99, 163, 92);"] { + color: @green !important; + } + .hljs-subst, .hljs-built_in { - color: var( - --color-prettylights-syntax-storage-modifier-import - ) !important; + color: var(--color-prettylights-syntax-storage-modifier-import) + !important; } } } @@ -623,7 +598,7 @@ #tabpanel-dependencies, #tabpanel-dependents { ul a { - color: @red; + color: @accent; &:hover { color: @text; @@ -635,7 +610,7 @@ #tabpanel-readme #readme { color: @text; a { - color: @red; + color: @accent; } h1, h2, @@ -718,7 +693,7 @@ color: @text; + ul a { - color: @red; + color: @accent; &:hover { color: @text; @@ -726,11 +701,16 @@ } } /* Share provenance feedback link */ - #user-content-provenance a[href=" https://github.com/npm/feedback"] - { + #user-content-provenance a[href=" https://github.com/npm/feedback"] { color: @text; } + /* Settings */ + div[role="listitem"], + div[role="radiogroup"] { + background: @base; + } + /* --- PROFILE PAGES --- */ .eaac77a6 { @@ -780,9 +760,13 @@ } /* Email and password settings */ - p:has(+ div > a[href^="/settings/"][href$="/email"] + a[href^="/settings/"][href$="/password"]), - /* Delete account */ - p:has(+ a[href^="/settings/"][href$="/delete-account"]) { + p:has( + + div + > a[href^="/settings/"][href$="/email"] + + a[href^="/settings/"][href$="/password"] + ), + /* Delete account */ + p:has(+ a[href^="/settings/"][href$="/delete-account"]) { color: @text; } @@ -807,8 +791,8 @@ } } ._305a9f55 ._038c0473 { - border-color: @accent-color; - background-color: fade(@accent-color, 20%); + border-color: @accent; + background-color: fade(@accent, 20%); } button[aria-label^="Delete token ending in"] { ._305a9f55 ._038c0473 & { @@ -873,16 +857,14 @@ .e99f3f5d { color: @green; } - img[src="https://static-production.npmjs.com/28dd82ec6e5fe3cfbb4d2c4ec492076b.svg"] - { + img[src="https://static-production.npmjs.com/28dd82ec6e5fe3cfbb4d2c4ec492076b.svg"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } /* Step 2: invite members */ - img[src="https://static-production.npmjs.com/d6654c911c7cf2159948148754c95bb6.svg"] - { + img[src="https://static-production.npmjs.com/d6654c911c7cf2159948148754c95bb6.svg"] { @svg: escape( '' ); @@ -901,7 +883,7 @@ .bg-washed-green { background-color: fade( lighten(@teal, 10%), - if(@lookup = latte, 50%, 100%) + if(@flavor = latte, 50%, 100%) ); } .b--light-green { @@ -919,7 +901,7 @@ } .npm-red { - color: @red; + color: @accent; } .a11y-light-gray, @@ -950,7 +932,9 @@ } .npm-rainbow-circle { - background-image: linear-gradient(@crust, @crust), @npmGradient; + background-image: + linear-gradient(@crust, @crust), + @npmGradient; } .npm-btn-red { @@ -988,7 +972,7 @@ /* Danger */ &._4a3f8f21 { - & when (@lookup = latte) { + & when (@flavor = latte) { background-color: lighten(@red, 30%); &:hover { @@ -996,7 +980,7 @@ } } - & when not (@lookup = latte) { + & when not(@flavor = latte) { background-color: @red; color: @surface1; @@ -1008,7 +992,7 @@ /* Success */ &.c37751f6 { - & when (@lookup = latte) { + & when (@flavor = latte) { background-color: lighten(@green, 30%); &:hover { @@ -1016,7 +1000,7 @@ } } - & when not (@lookup = latte) { + & when not(@flavor = latte) { background-color: @green; color: @surface1; @@ -1027,10 +1011,23 @@ } } - /* Input elements */ - #signup_email_error_message { - color: @red; + /* Signup form */ + #signup { + /* Logged out signup button in header */ + &[href="/signup"] { + border-color: @surface0; + } + + #signup_email_error_message, + #signup_password_error_message { + color: @red; + } + + fieldset { + color: @text; + } } + button[name="show-hide-password"] { background-color: transparent; color: @text; @@ -1043,6 +1040,7 @@ background-color: @surface0; } } + /* Dropdowns */ details ul[class*="Dropdown__DropdownMenu"] { background-color: @base; @@ -1061,36 +1059,6 @@ } /* --- SEARCH RESULTS --- */ - - [aria-labelledby="search_ranking_radiogroup_label"] { - > div:focus-within { - outline-style: none; - } - - label { - color: @subtext0; - - &[for="search_ranking_optimal"] { - border-bottom-color: @surface1; - } - - &[for="search_ranking_popularity"] { - border-bottom-color: @sky; - } - - &[for="search_ranking_quality"] { - border-bottom-color: @mauve; - } - - &[for="search_ranking_maintenance"] { - border-bottom-color: @red; - } - } - } - /* Results header, results count, pagination buttons */ - .a9b7335e { - background-color: @mantle; - } nav[aria-label="Pagination Navigation"] { div > a { background-color: @base; @@ -1103,46 +1071,24 @@ } #pkg-list-exact-match { color: @base; - & when (@lookup = latte) { - background-color: lighten(@mauve, 20%); - } - & when not (@lookup = latte) { - background-color: @mauve; - } + background-color: @accent; } - div:has(#search_ranking_radiogroup_label) { - a[href^="/search?q=keywords"] { - background-color: @mantle; - &:hover { - background-color: @crust; - } - } - } /* Username links */ a[aria-label^="publisher"]:hover { - color: @red; - } - /* PQM text */ - ._89d0b3e5 { - color: @text; - } - /* PQM bars */ - ._464c07bf { - background-color: @sky; - } - ._625ca439 { - background-color: @mauve; - } - ._9a8a65f4 { - background-color: @red; + color: @accent; } /* --- FOOTER --- */ footer { - a[href="https://github.com/npm"] svg - { + h3 { + color: @text; + } + ul a:hover { + color: @accent; + } + a[href="https://github.com/npm"] svg { > polygon { fill: @base; } @@ -1151,8 +1097,7 @@ fill: @text; } } - a[href="https://github.com"] svg - { + a[href="https://github.com"] svg { fill: @text; } &::after { @@ -1160,7 +1105,7 @@ } } - --color-prettylights-syntax-comment: @overlay1; + --color-prettylights-syntax-comment: @overlay2; --color-prettylights-syntax-constant: @teal; --color-prettylights-syntax-entity: @blue; --color-prettylights-syntax-storage-modifier-import: @peach; @@ -1169,31 +1114,21 @@ --color-prettylights-syntax-string: @green; --color-prettylights-syntax-variable: @peach; --color-prettylights-syntax-invalid-illegal-text: @red; - --color-prettylights-syntax-invalid-illegal-bg: fadeout(@red, 85%); + --color-prettylights-syntax-invalid-illegal-bg: fade(@red, 15%); --color-prettylights-syntax-markup-heading: @teal; --color-prettylights-syntax-markup-italic: @yellow; --color-prettylights-syntax-markup-bold: @yellow; --color-prettylights-syntax-markup-deleted-text: @text; - --color-prettylights-syntax-markup-deleted-bg: fadeout(@red, 60%); + --color-prettylights-syntax-markup-deleted-bg: fade(@red, 40%); --color-prettylights-syntax-markup-inserted-text: @text; - --color-prettylights-syntax-markup-inserted-bg: fadeout(@green, 60%); + --color-prettylights-syntax-markup-inserted-bg: fade(@green, 40%); --color-prettylights-syntax-markup-changed-text: @text; - --color-prettylights-syntax-markup-changed-bg: fadeout(@yellow, 60%); + --color-prettylights-syntax-markup-changed-bg: fade(@yellow, 40%); --color-prettylights-syntax-markup-ignored-text: @text; /* stylelint-disable declaration-block-single-line-max-declarations */ - /* prettier-ignore */ + /* deno-fmt-ignore */ div.highlight pre {.pl-mb,.pl-mdr,.pl-c{color:var(--color-prettylights-syntax-comment)}.pl-c1,.pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.pl-e,.pl-en{color:var(--color-prettylights-syntax-entity)}.pl-s .pl-s1,.pl-smi{color:var(--color-prettylights-syntax-storage-modifier-import)}.pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.pl-k{color:var(--color-prettylights-syntax-keyword)}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:var(--color-prettylights-syntax-string)}.pl-smw,.pl-v{color:var(--color-prettylights-syntax-variable)}.pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp)}.pl-ml{color:var(--color-prettylights-syntax-markup-list)}.pl-mh,.pl-mh .pl-en,.pl-ms{color:var(--color-prettylights-syntax-markup-heading)}.pl-mi{color:var(--color-prettylights-syntax-markup-italic)}.pl-mb{color:var(--color-prettylights-syntax-markup-bold)}.pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range)}.pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}} /* stylelint-enable declaration-block-single-line-max-declarations */ } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @red_filter: brightness(0) saturate(100%) invert(13%) sepia(93%) saturate(6590%) hue-rotate(343deg) brightness(85%) contrast(92%); @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @red_filter: brightness(0) saturate(100%) invert(79%) sepia(26%) saturate(3775%) hue-rotate(304deg) brightness(96%) contrast(88%); @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @red_filter: brightness(0) saturate(100%) invert(62%) sepia(22%) saturate(880%) hue-rotate(302deg) brightness(98%) contrast(90%); @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @red_filter: brightness(0) saturate(100%) invert(87%) sepia(37%) saturate(4988%) hue-rotate(296deg) brightness(105%) contrast(91%); @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/npm/preview.webp b/styles/npm/preview.webp deleted file mode 100644 index 2ee0244eee..0000000000 --- a/styles/npm/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef0a911b87845bb6d6eee7a3e156586edb9ab54542f82af549ecf2ecd1619058 -size 135490 diff --git a/styles/skiff/README.md b/styles/npmx/README.md similarity index 67% rename from styles/skiff/README.md rename to styles/npmx/README.md index 220f4a6efd..b7018c3831 100644 --- a/styles/skiff/README.md +++ b/styles/npmx/README.md @@ -4,25 +4,24 @@

Logo
- Catppuccin for Skiff + Catppuccin for npmx

- - -

- -

- + +

## Usage -Switch to a default Skiff light/dark theme via **Settings** > **Appearance** for the best experience! +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + +> [!NOTE] +> npmx-specific accent color appearance options at https://npmx.dev/settings are overriden by this userstyle. ## ๐Ÿ’ Current Maintainer -- [coopw](https://github.com/coopw1) +- [42willow](https://github.com/42willow)   diff --git a/styles/npmx/catppuccin.user.less b/styles/npmx/catppuccin.user.less new file mode 100644 index 0000000000..721fa7efa7 --- /dev/null +++ b/styles/npmx/catppuccin.user.less @@ -0,0 +1,73 @@ +/* ==UserStyle== +@name npmx Catppuccin +@namespace github.com/catppuccin/userstyles/styles/npmx +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/npmx +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/npmx/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Anpmx +@description Soothing pastel theme for npmx +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("npmx.dev") { + :root[data-theme="dark"][data-bg-theme] { + #catppuccin(@darkFlavor); + } + :root[data-theme="light"][data-bg-theme] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --bg: @base; + --bg-subtle: @mantle; + --bg-muted: @crust; + --bg-elevated: @surface0; + + --fg: @text; + --fg-subtle: @overlay1; + --fg-muted: @subtext0; + --fg-elevated: @subtext0; + + --accent: @accent; + --accent-muted: @accent; + + --border: @surface1; + --border-subtle: @surface0; + --border-hover: @overlay0; + + --swatch-sky: @sky; + --swatch-coral: @peach; + --swatch-amber: @yellow; + --swatch-emerald: @green; + --swatch-violet: @mauve; + --swatch-magenta: @pink; + --swatch-neutral: @text; + + --badge-orange: @peach; + --badge-yellow: @yellow; + --badge-green: @green; + --badge-cyan: @teal; + --badge-blue: @blue; + --badge-indigo: @lavender; + --badge-purple: @mauve; + --badge-pink: @pink; + + --colors-red-500: @red; + --colors-emerald-500: @green; + --colors-yellow-600: @yellow; + --colors-amber-500: @peach; + --colors-emerald-400: @green; + --colors-orange-500: @peach; + } +} diff --git a/styles/ollama/README.md b/styles/ollama/README.md new file mode 100644 index 0000000000..e875eed46e --- /dev/null +++ b/styles/ollama/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Ollama + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [NeonGamerBot-QK](https://github.com/NeonGamerBot-QK) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/ollama/catppuccin.user.less b/styles/ollama/catppuccin.user.less new file mode 100644 index 0000000000..a8aff3d63b --- /dev/null +++ b/styles/ollama/catppuccin.user.less @@ -0,0 +1,211 @@ +/* ==UserStyle== +@name Ollama Catppuccin +@namespace github.com/catppuccin/userstyles/styles/ollama +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ollama +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/ollama/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aollama +@description Soothing pastel theme for Ollama +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("ollama.com") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + background-color: @base; + color: @text; + + /* Llama logos */ + img[src="/public/ollama.png"], + img[src="/public/shades.png"], + img[src="/public/glasses.png"] { + filter: @text-filter; + } + + code, + pre { + background-color: @mantle; + color: @text !important; + } + + input { + background-color: @mantle; + } + + main, + section, + strong, + h3, + ul, + button, + li, + li::marker { + color: @text; + } + blockquote { + color: @subtext0; + } + + a[class~=""] { + color: @blue; + } + + #query, + #filter, + #search { + background-color: @mantle; + color: @text; + } + #readme, + #display, + #file-explorer { + color: @text; + } + + .command { + color: @text; + } + .truncate { + color: @text; + } + + /* Tailwind */ + + * { + border-color: @surface1; + } + + .prose { + --tw-prose-headings: @text; + --tw-prose-links: @accent; + } + + .text-white, + .text-black { + color: @text; + } + .text-gray-900 { + color: @subtext1; + } + .text-green-500, + .text-emerald-500, + .text-green-700 { + color: @green; + } + .text-yellow-900 { + color: @yellow; + } + .text-neutral-300, + .text-neutral-400, + .text-neutral-500 { + color: @subtext0; + } + .text-neutral-700, + .text-neutral-800, + .text-neutral-900 { + color: @subtext1 !important; + } + .text-red-500 { + color: @red; + } + .text-blue-500, + .text-blue-600 { + color: @accent; + } + /* Models page, color for non-weight pills/tags. Background color is solid from `.bg-indigo-50`. */ + .text-indigo-600 { + color: @crust; + } + + .bg-neutral-100 pre, + .bg-neutral-100 .command { + background-color: unset !important; + } + .bg-white { + background-color: @mantle; + } + .bg-black, + .hover\:bg-black:hover { + background-color: @surface0 !important; + } + .bg-neutral-50 { + background-color: @surface0; + } + .bg-neutral-100, + .hover\:bg-neutral-100:hover { + background-color: @surface2 !important; + } + .bg-neutral-700, + .bg-neutral-800 { + background-color: @surface1; + } + .bg-green-50 { + background-color: fade(@green, 10%); + } + .bg-yellow-50 { + background-color: fade(@yellow, 10%); + } + .bg-indigo-50 { + background-color: @accent; + } + .bg-\[\#ddf4ff\] { + background-color: fade(@accent, 10%); + } + + .border { + border-color: @accent; + } + .border-neutral-200, + .border-neutral-300, + .divide-gray-200 > :not([hidden]) ~ :not([hidden]), + .divide-neutral-200 > :not([hidden]) ~ :not([hidden]) { + border-color: @surface1; + } + .focus\:border-blue-400:focus { + border-color: @accent; + } + .focus\:border-red-400:focus { + border-color: @red; + } + + .ring-neutral-300 { + --tw-ring-color: @surface1 !important; + } + .ring-green-600\/20 { + --tw-ring-color: @green; + } + .ring-yellow-600\/20 { + --tw-ring-color: @yellow; + } + select:focus, + .ring-blue-300, + .focus\:ring-blue-300:focus { + --tw-ring-color: rgba(#lib.rgbify(@accent)[], var(--tw-ring-opacity)); + } + .focus\:ring-red-300:focus { + --tw-ring-color: rgba(#lib.rgbify(@red)[], var(--tw-ring-opacity)); + } + } +} diff --git a/styles/openmediavault/README.md b/styles/openmediavault/README.md index 2dc5fd0bbe..ea0ae16dba 100644 --- a/styles/openmediavault/README.md +++ b/styles/openmediavault/README.md @@ -4,23 +4,22 @@

Logo
- Catppuccin for openmediavault + Catppuccin for openmediavault

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Gandalf the Blue](https://github.com/Gandalf-the-Blue) +- [Gandalf-the-Blue](https://github.com/Gandalf-the-Blue)   diff --git a/styles/openmediavault/catppuccin.user.css b/styles/openmediavault/catppuccin.user.less similarity index 56% rename from styles/openmediavault/catppuccin.user.css rename to styles/openmediavault/catppuccin.user.less index 8da8d7e79f..bb59a253f2 100644 --- a/styles/openmediavault/catppuccin.user.css +++ b/styles/openmediavault/catppuccin.user.less @@ -2,8 +2,8 @@ @name openmediavault Catppuccin @namespace github.com/catppuccin/userstyles/styles/openmediavault @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/openmediavault -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/openmediavault/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/openmediavault/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aopenmediavault @description Soothing pastel theme for openmediavault @author Catppuccin @@ -15,70 +15,36 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain("openmediavault.example.com") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); +@-moz-document domain("openmediavault.example.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); .omv-dark-theme { --mat-color-text: @text; --mat-color-secondary-text: @subtext0; --mat-color-disabled-text: @red; --mat-color-hint-text: @blue; - --mat-background-color-hover: @accent-color; - --mat-background-color-selected-button: @accent-color; + --mat-background-color-hover: @accent; + --mat-background-color-selected-button: @accent; --mat-background-color-card: @crust; --mat-background-color-background: @crust; - --mat-primary-color-text: @accent-color; + --mat-primary-color-text: @accent; --mat-background-color-body: @base; } .omv-dark-theme .mat-toolbar.mat-primary { - background: @accent-color; + background: @accent; color: @text; } .omv-dark-theme .mat-drawer-container { @@ -109,7 +75,7 @@ } .omv-dark-theme .mat-form-field-appearance-legacy .mat-form-field-label, .omv-dark-theme .mat-form-field-appearance-legacy .mat-hint { - color: @accent-color; + color: @accent; } .omv-dark-theme .mat-toolbar { background: @crust; @@ -134,15 +100,15 @@ .omv-scrollable-xy, .omv-scrollable-y { - scrollbar-color: @accent-color transparent; - --scrollbar-thumb-color: @accent-color !important; - --scrollbar-thumb-hover-color: @accent-color; + scrollbar-color: @accent transparent; + --scrollbar-thumb-color: @accent !important; + --scrollbar-thumb-hover-color: @accent; } .omv-dark-theme .mat-button, .omv-dark-theme .mat-icon-button, .omv-dark-theme .mat-stroked-button { - color: @accent-color; + color: @accent; background: inherit; } @@ -150,29 +116,29 @@ .omv-dark-theme .mat-pseudo-checkbox-indeterminate, .omv-dark-theme .mat-accent .mat-pseudo-checkbox-checked, .omv-dark-theme .mat-accent .mat-pseudo-checkbox-indeterminate { - background: @accent-color; + background: @accent; } .omv-dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .omv-dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background { - background-color: @accent-color; + background-color: @accent; } .omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb { - background-color: @accent-color; + background-color: @accent; } .omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar { - background-color: @accent-color; + background-color: @accent; } .omv-dark-theme .mat-badge-accent .mat-badge-content { background: @crust; - color: @accent-color; + color: @accent; } .omv-dark-theme .mat-select-panel { - scrollbar-color: @accent-color transparent; - --scrollbar-thumb-color: @accent-color !important; - --scrollbar-thumb-hover-color: @accent-color !important; + scrollbar-color: @accent transparent; + --scrollbar-thumb-color: @accent !important; + --scrollbar-thumb-hover-color: @accent !important; background: @crust; } @@ -183,7 +149,7 @@ .omv-dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) { - color: @accent-color; + color: @accent; } .ngx-datatable.single-selection .datatable-body-row.active, @@ -198,7 +164,7 @@ .ngx-datatable.multi-click-selection .datatable-body-row.active .datatable-row-group { - color: @accent-color; + color: @accent; background-color: @crust; } @@ -259,13 +225,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/openmediavault/preview.webp b/styles/openmediavault/preview.webp deleted file mode 100644 index 5608c12e02..0000000000 --- a/styles/openmediavault/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d607128ff966ed7685b4f7c2c1be2d27dd36b26cc2f9c2820e1a0c35635d02ec -size 133004 diff --git a/styles/paste.rs/README.md b/styles/paste.rs/README.md index 654996f5ca..2ad2ab3639 100644 --- a/styles/paste.rs/README.md +++ b/styles/paste.rs/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/paste.rs/catppuccin.user.css b/styles/paste.rs/catppuccin.user.css deleted file mode 100644 index 6eeaf1fc34..0000000000 --- a/styles/paste.rs/catppuccin.user.css +++ /dev/null @@ -1,217 +0,0 @@ -/* ==UserStyle== -@name paste.rs Catppuccin -@namespace github.com/catppuccin/userstyles/styles/paste.rs -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/paste.rs -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/paste.rs/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apaste.rs -@description Soothing pastel theme for paste.rs -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("paste.rs") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - color: @text; - } - a { - color: @accent-color; - } - - /* Web UI */ - textarea, - select, - input[type="submit"] { - background-color: @base; - color: @text; - border-color: @overlay0; - border-radius: 4px; - } - textarea:focus, - select:focus, - input[type="submit"]:focus { - border-color: @accent-color; - outline-color: @overlay0; - } - input[type="submit"]:hover { - background-color: @mantle; - } - - td.linenos > pre { - background-color: @base !important; - span { - /* Line Numbers */ - color: @overlay0 !important; - } - } - - article.markdown-body { - color: @text; - - h6 { - color: @text; - } - - a { - color: @accent-color; - } - - img { - background: none; - } - - pre { - background: @surface0; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - border-color: @surface0; - } - - blockquote { - border-color: @surface1; - - p { - color: @text; - } - } - - table { - border-color: @surface0 !important; - tr, - th, - td { - border-color: @surface1; - background: none !important; - } - } - } - - /* Syntax-highlighted code */ - td.code > pre { - background-color: @base !important; - - /* General Text, Braces, Delimiters, Parameters, Classes, Metadata */ - span[style="color:#000000;"] { - color: @text !important; - } - - /* Keywords, Operators */ - span[style="color:#d73a49;"] { - color: @mauve !important; - } - - /* Strings */ - span[style="color:#032f62;"] { - color: @green !important; - } - - /* Escape Sequences */ - span[style="color:#183691;"] { - color: @pink !important; - } - - /* Comments */ - span[style="color:#969896;"] { - color: @overlay0 !important; - } - - /* Constants, Numbers */ - span[style="color:#005cc5;"] { - color: @peach !important; - } - - /* Methods, Functions */ - span[style="color:#6f42c1;"], - span[style="color:#22863a;"] { - color: @blue !important; - } - - /* Builtins */ - span[style="color:#0086b3;"] { - color: @red !important; - } - - /* Metadata */ - span[style="color:#795da3;"] { - color: @yellow !important; - } - - /* Errors */ - span[style="background-color:#b31d28;color:#fafbfc;"] { - color: @text !important; - background: fade(@red, 60%) !important; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/paste.rs/catppuccin.user.less b/styles/paste.rs/catppuccin.user.less new file mode 100644 index 0000000000..0e1ca5323c --- /dev/null +++ b/styles/paste.rs/catppuccin.user.less @@ -0,0 +1,171 @@ +/* ==UserStyle== +@name paste.rs Catppuccin +@namespace github.com/catppuccin/userstyles/styles/paste.rs +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/paste.rs +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/paste.rs/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apaste.rs +@description Soothing pastel theme for paste.rs +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("paste.rs") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + color: @text; + } + + a { + color: @accent; + } + + /* Web UI */ + textarea, + select, + input[type="submit"] { + background-color: @base; + color: @text; + border-color: @overlay0; + border-radius: 4px; + } + textarea:focus, + select:focus, + input[type="submit"]:focus { + border-color: @accent; + outline-color: @overlay0; + } + input[type="submit"]:hover { + background-color: @mantle; + } + + main { + color: @text; + border-color: @surface0; + } + + .code.gutter { + background-color: @base !important; + span { + /* Line Numbers */ + color: @overlay0 !important; + } + } + + article.markdown-body { + color: @text; + + h6 { + color: @text; + } + + a { + color: @accent; + } + + img { + background: none; + } + + pre { + background: @surface0; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + border-color: @surface0; + } + + blockquote { + border-color: @surface1; + + p { + color: @text; + } + } + + table { + border-color: @surface0 !important; + tr, + th, + td { + border-color: @surface1; + background: none !important; + } + } + } + + /* Syntax-highlighted code */ + .code.text > pre { + background-color: @base !important; + background-image: none; + + span { + color: red !important; + } + + /* General Text, Braces, Delimiters, Parameters, Classes, Metadata */ + span[style*="color:#323232"] { + color: @text !important; + } + + /* Keywords, Operators */ + span[style*="color:#a71d5d"] { + color: @mauve !important; + } + + /* Strings */ + span[style*="color:#183691"], + span[style*="color:#ed6a43"] { + color: @green !important; + } + + /* Comments */ + span[style*="color:#969896"] { + color: @overlay2 !important; + } + + /* Constants, Numbers */ + span[style*="color:#0086b3"] { + color: @peach !important; + } + + /* Methods, Functions */ + span[style*="color:#795da3"], + span[style*="color:#62a35c"], + span[style*="color:#63a35c"] { + color: @blue !important; + } + + /* Errors */ + span[style*="background-color:#f5f5f5"][style*="color:#b52a1d"] { + color: @text !important; + background: fade(@red, 60%) !important; + } + } + } +} diff --git a/styles/paste.rs/preview.webp b/styles/paste.rs/preview.webp deleted file mode 100644 index 59ec69531a..0000000000 --- a/styles/paste.rs/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fbb761df28cf156b2cfbc4eaee09558034120a48833677f7368d00fae78ce88 -size 84062 diff --git a/styles/perplexity/README.md b/styles/perplexity/README.md index d4af36aea3..486d85f57e 100644 --- a/styles/perplexity/README.md +++ b/styles/perplexity/README.md @@ -10,20 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer - [Tnixc](https://github.com/Tnixc) ## ๐Ÿ’– Past Maintainer -- [Isabel](https://github.com/isabelroses) +- [isabelroses](https://github.com/isabelroses)   diff --git a/styles/perplexity/catppuccin.user.css b/styles/perplexity/catppuccin.user.css deleted file mode 100644 index 90ea0652c8..0000000000 --- a/styles/perplexity/catppuccin.user.css +++ /dev/null @@ -1,276 +0,0 @@ -/* ==UserStyle== -@name Perplexity Catppuccin -@namespace github.com/catppuccin/userstyles/styles/perplexity -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/perplexity -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/perplexity/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aperplexity -@description Soothing pastel theme for Perplexity -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('perplexity.ai') { - :root:not(.dark) { - #catppuccin(@lightFlavor, @accentColor); - } - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @mantle; - } - - .bg-offset, - .bg-offsetDark, - :is(:where(.dark) .dark\:\!bg-offsetDark) { - background-color: @mantle !important; - } - .bg-offset:hover, - :is(:where(.dark) .md\:dark\:hover\:bg-offsetDark:hover) { - background-color: @mantle !important; - } - - :is(:where(.dark) .dark\:md\:hover\:bg-offsetPlusDark:hover) { - background-color: @crust !important; - } - - .text-textMainDark, - :is(:where(.dark) .dark\:text-textMainDark) { - color: @text; - } - - :is(:where(.dark) .dark\:bg-offsetDark) { - background: @surface0; - } - - :is(:where(.dark) .dark\:bg-backgroundDark) { - background-color: @base; - } - - // buttons + toggle circle - :is(:where(.dark) .dark\:bg-offsetPlusDark) { - background: @surface1; - } - - // off button - :is(:where(.dark) .dark\:bg-idleDark) { - background: @surface1; - } - - // borders - :is(:where(.dark) .dark\:border-borderMainDark) { - border-color: @surface1 !important; - } - - // ring border - :is(:where(.dark) .dark\:ring-borderMainDark) { - --tw-ring-color: rgb(#rgbify(@crust) []/var(--tw-ring-opacity)); - } - - .border-borderMainDark\/80, - .divide-borderMain\/60 { - border-color: @surface1; - } - - // Input box - textarea { - caret-color: @accent-color; - } - - // Paths in the "search images/videos/ generate image" boxes, and box hover state - #ppl-message-scroll-target - > div - > div:nth-child(2) - > div:nth-child(3) - > div - > div - > div.col-span-4 - > div - > div:nth-child(2) { - > div:nth-child(1):hover, - > div:nth-child(2):hover, - > div:nth-child(3) > div > div:hover { - background: @surface1 !important; - } - path { - fill: @accent-color; - } - } - - .bg-offsetPlusDark { - background: @surface0 !important; - } - // most hover states - *[class*=":hover:dark:bg-offsetPlusDark"]:hover, - *[class*="hover:bg-offsetPlus"]:hover, - *[class*="md:dark:hover:bg-offsetDark"]:hover { - background: @surface0 !important; - } - // setting menu selector, and others - .bg-textMainDark { - background-color: @text; - } - - .sc-aXZVg { - background: @mantle; - path { - fill: @text !important; - } - } - - // code block - .sc-gEvEer.ePundr, - .sc-gEvEer.ePundr > span { - background: @surface0 !important; - color: @text !important; - } - // syntax highlighting - span.token[style^="color: rgb(204, 153, 204);"] { - color: @pink !important; - } - span.token[style^="color: rgb(102, 153, 204);"] { - color: @blue !important; - } - span.token[style^="color: rgb(153, 153, 153);"] { - color: @subtext0 !important; - } - span.token[style^="color: rgb(204, 204, 204);"] { - color: @text !important; - } - span.token[style^="color: rgb(153, 204, 153);"] { - color: @green !important; - } - span.token[style^="color: rgb(249, 145, 87);"] { - color: @peach !important; - } - span.token.interpolation-punctuation.punctuation { - color: @red; - } - span.token.parameter { - color: @mauve; - } - span.token.punctuation { - color: @subtext1; - } - span.token.operator { - color: @teal; - } - // darker text on light bg - :is(:where(.dark) .dark\:bg-textMainDark), - :is(:where(.dark) .dark\:text-backgroundDark) { - color: @crust; - } - - // accent color buttons - :is(:where(.dark) .dark\:bg-superDark) { - background: @accent-color; - } - - // subtexts - .text-textOff, - :is(:where(.dark) .dark\:text-textOffDark) { - color: @subtext0; - } - - // PPLX labs chat - - #__next > main > div > div > div.grow { - background: @base; - } - .dark .dark\:divide-borderMainDark\/80 > :not([hidden]) ~ :not([hidden]) { - border-color: @surface1; - } - .dark .dark\:outline-superDark { - outline-color: @accent-color; - } - .text-super { - color: @accent-color; - } - - // prose - .prose, - :is(:where(.dark) .dark\:prose-invert) { - --tw-prose-body: @text; - --tw-prose-headings: @text; - --tw-prose-lead: @text; - --tw-prose-links: @blue; - --tw-prose-bold: @text; - --tw-prose-counters: @text; - --tw-prose-bullets: @text; - --tw-prose-hr: @text; - --tw-prose-quotes: @text; - --tw-prose-quote-borders: @text; - --tw-prose-captions: @text; - --tw-prose-kbd: @text; - --tw-prose-kbd-shadows: @text; - --tw-prose-code: @text; - --tw-prose-pre-code: @text; - --tw-prose-pre-bg: @base; - --tw-prose-th-borders: @text; - --tw-prose-td-borders: @text; - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color) green(@color) blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/perplexity/catppuccin.user.less b/styles/perplexity/catppuccin.user.less new file mode 100644 index 0000000000..7ee8add2a8 --- /dev/null +++ b/styles/perplexity/catppuccin.user.less @@ -0,0 +1,450 @@ +/* ==UserStyle== +@name Perplexity Catppuccin +@namespace github.com/catppuccin/userstyles/styles/perplexity +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/perplexity +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/perplexity/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aperplexity +@description Soothing pastel theme for Perplexity +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("perplexity.ai") { + :root:not([data-color-scheme="dark"]) { + #catppuccin(@lightFlavor); + } + :root, + :root:not([data-color-scheme="light"]) { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + ::selection { + background-color: fade(@accent, 30%) + !important; // TODO: Has !important unlike the defaults. Add !important to defaults? + color: @text + !important; // TODO: Another case of setting the text color in the selection. + } + + body { + background-color: @mantle !important; + } + .bg-\[red\] { + background-color: @red !important; + } + + .bg-alert { + background-color: @peach !important; + } + .bg-text-100 { + background-color: @text !important; + } + + .bg-backdrop-lightbox\/95 { + background-color: @crust !important; + } + + .bg-backdrop\/70 { + background-color: @mantle !important; + } + + .bg-background, .bg-background-50 { + background-color: @base !important; + } + + .bg-background-100 { + background-color: @base !important; + } + + .bg-background-300, .bg-background-200 { + background-color: @mantle !important; + } + + .bg-background-super-alt { + background-color: @accent !important; + } + + .bg-backgroundDark { + background-color: @surface0 !important; + } + + .bg-black, + .bg-black\/30, + .bg-black\/40, + .bg-black\/50, + .bg-black\/60, + .bg-black\/80 { + background-color: @crust !important; + } + + .bg-borderMain { + background-color: @surface1 !important; + } + + .bg-idle, + .bg-idle\/70 { + background-color: @surface0 !important; + } + + .bg-offset, + .bg-offsetDark, + .bg-offset\/50 { + background-color: @mantle !important; + } + + .bg-offsetPlus { + background-color: @surface0 !important; + } + + .bg-offsetPlusDark, + .dark\:\!bg-offsetPlusDark:where( + [data-color-scheme="dark"] .dark\:\!bg-offsetPlusDark, + [data-color-scheme="dark"] .dark\:\!bg-offsetPlusDark * + ) { + background-color: @mantle !important; + } + + .bg-super, + .bg-superAlt, + .bg-superBG, + .bg-superBGDark, + .bg-superDark, + .bg-superDark\/100, + .bg-super\/100 { + background-color: @accent !important; + } + .bg-super\/10, + .bg-superDark\/10 { + background-color: fade(@accent, 10%) !important; + } + + .bg-textMain { + background-color: @crust !important; + } + + .bg-textMainDark, + .bg-textMain\/10 { + background-color: @text !important; + } + + .bg-textOff { + background-color: @subtext1 !important; + } + + .bg-textOffDark, + .bg-textOff\/50 { + background-color: @subtext0 !important; + } + + .bg-white, + .bg-white\/30, + .bg-white\/50, + .bg-white\/80 { + background-color: @text !important; + } + + .text-background { + color: @base !important; + } + + .text-black { + color: @crust !important; + } + + .text-offset { + color: @mantle !important; + } + + .text-orange-400 { + color: @peach !important; + } + + .text-super, + .text-superAlt, + .text-superDark, + .text-superDuper { + color: @accent !important; + } + + .text-textMain { + color: @text !important; + } + + .text-textMainDark, + .text-textOff { + color: @subtext1 !important; + } + + .text-textOff\/50 { + color: @subtext0 !important; + } + + .text-textOffDark { + color: @subtext1 !important; + } + + .text-textOffDark\/50 { + color: @subtext0 !important; + } + + .text-white { + color: @crust !important; + } + + .text-default { + color: @text !important; + } + + .text-zinc-700 { + color: @subtext1 !important; + } + + .stroke-background { + stroke: @surface0 !important; + } + + .stroke-super, + .stroke-superAlt, + .stroke-superDark { + stroke: @accent !important; + } + + .stroke-textMain { + stroke: @text !important; + } + + .stroke-textMainDark, + .stroke-textOff { + stroke: @subtext1 !important; + } + + .stroke-textOffDark { + stroke: @subtext0 !important; + } + + .fill-backgroundDark { + fill: @base !important; + } + + .fill-super, + .fill-superAlt, + .fill-superDark { + fill: @accent !important; + } + + .fill-textMain, + .fill-textMainDark { + fill: @text !important; + } + + .fill-textOff, + .fill-textOffDark { + fill: @subtext1 !important; + } + + .border-\[black\]\/10 { + border-color: fade(@mantle, 10%) !important; + } + + .border-background, + .border-black\/10, + .border-black\/5 { + border-color: @mantle !important; + } + .dark\:border-borderMainDark:where( + [data-color-scheme="dark"] .dark\:border-borderMainDark, + [data-color-scheme="dark"] .dark\:border-borderMainDark * + ), + .border-borderMain { + border-color: @surface1 !important; + } + + .border-borderMain\/10, + .border-borderMain\/50, + .border-borderMain\/75 { + border-color: @surface0 !important; + } + + .border-borderMainDark { + border-color: @base !important; + } + + .border-offsetPlus { + border-color: @mantle !important; + } + + .border-super, + .border-super\/10, + .border-super\/100 { + border-color: @accent !important; + } + + .border-textMain\/0 { + border-color: transparent !important; + } + + .border-textMainDark { + border-color: @mantle !important; + } + + .border-textOff\/50 { + border-color: @subtext0 !important; + } + + .border-b-offset { + border-bottom-color: @subtext0 !important; + } + .group:hover [class*="group-hover:text-superDark"] { + color: @accent !important; + } + + [class*="hover:!bg-superAlt/20"]:hover { + background-color: @accent !important; + } + + [class*="data-[focused=self]:bg-background-200"]:focus, + [class*="hover:bg-background-200"]:hover { + background-color: @crust !important; + } + + [class*=":hover:bg-offset"]:hover, [class*="hover:bg-offset"]:hover { + background-color: @surface0 !important; + } + + [class*="hover:bg-offsetPlus"]:hover { + background-color: @surface1 !important; + } + + [class*="hover:bg-super"]:hover { + background-color: @accent !important; + } + + [class*="hover:text-super"]:hover, + [class*="hover:text-superAlt"]:hover { + color: @accent !important; + } + + [class*="hover:text-textMain"]:hover { + color: @text !important; + } + + [class*="hover:text-textOff"]:hover { + color: @subtext0 !important; + } + + [class*="hover:text-white"]:hover { + color: @text !important; + } + + [data-focused="self"] { + background-color: @surface1 !important; + } + + .dark\:divide-borderMainDark\/50:where( + [data-color-scheme="dark"] .dark\:divide-borderMainDark\/50, + [data-color-scheme="dark"] .dark\:divide-borderMainDark\/50 * + ) + > :not([hidden]) + ~ :not([hidden]), + .divide-borderMain\/50 > :not([hidden]) ~ :not([hidden]) { + border-color: @surface1 !important; + } + + .focus\:\!border-backgroundDark:focus { + border-color: @mantle !important; + } + + .focus\:bg-background:focus { + background-color: @base !important; + } + + .focus\:text-super:focus { + color: @accent !important; + } + + .focus-visible\:bg-offsetPlus:focus-visible { + background-color: @crust !important; + } + + *[class*="ring"] { + --tw-ring-color: @surface2 !important; + --tw-ring-offset-color: @mantle !important; + } + + .caret-superDuper { + caret-color: @accent !important; + } + .data-\[state\=checked\]\:bg-super[data-state="checked"] { + background-color: @accent !important; + } + + /* Additional fixes: */ + + .scrollbar-thumb-idle { + --scrollbar-thumb: @surface1 !important; + } + + /* gradient on super long prompt */ + div[style="background: linear-gradient(transparent, currentcolor);"] { + background: linear-gradient(transparent, @base) !important; + } + + /* citations */ + .citation:hover * { + color: @crust !important; + } + /* switch knob in settings */ + .data-\[state\=checked\]\:before\:\!bg-super[data-state="checked"]::before { + background-color: @accent !important; + } + /* switch in main input */ + #copilot-toggle > div::before { + background-color: @overlay1; + } + + /* credits on image view */ + #__next + > div:nth-child(26) + > div:nth-child(2) + > div + > div + > div.gap-md.mx-md.py-md.border-borderMainDark.flex.h-\[74px\].items-center.justify-between.border-b-2 + > div.gap-x-md.flex.items-center + > a + > div + > div + > div.line-clamp-1.break-all.transition-all.duration-300.white.font-sans.text-sm.text-white.selection\:bg-super\/50.selection\:text-textMain.dark\:selection\:bg-superDuper\/10.dark\:selection\:text-superDark { + color: @text !important; + } + + /* research goals in pro search */ + .research-goal::before { + border-color: @surface1; + } + .research-goal-title:hover { + background-color: @surface0; + } + .research-goal-timeline { + background-color: @surface1; + } + + .\!bg-transparent { + background: transparent !important; + } + } +} + +#rgbify(@color) { + @rgb: red(@color) green(@color) blue(@color); +} diff --git a/styles/perplexity/preview.webp b/styles/perplexity/preview.webp deleted file mode 100644 index dbe43d10fb..0000000000 --- a/styles/perplexity/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c942e8746a5c0a8de98cba30369c50e0c3792b4eb4752f46c909ccd755d18be -size 269650 diff --git a/styles/phanpy/README.md b/styles/phanpy/README.md index 693765436c..37f382ba58 100644 --- a/styles/phanpy/README.md +++ b/styles/phanpy/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/phanpy/catppuccin.user.css b/styles/phanpy/catppuccin.user.css deleted file mode 100644 index cb7715268e..0000000000 --- a/styles/phanpy/catppuccin.user.css +++ /dev/null @@ -1,134 +0,0 @@ -/* ==UserStyle== -@name Phanpy Catppuccin -@namespace github.com/catppuccin/userstyles/styles/phanpy -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/phanpy -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/phanpy/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aphanpy -@description Soothing pastel theme for Phanpy -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('phanpy.social') { - :root:not(:has(.is-light)) { - #catppuccin(@darkFlavor, @accentColor); - } - :root.is-light { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --text-color: @text; - --text-insignificant-color: @subtext0; - --link-color: @accent-color; - --link-text-color: @accent-color; - --link-faded-color: @accent-color; - --link-light-color: @accent-color; - --button-bg-blur-color: @accent-color; - --button-bg-color: @accent-color; - --button-text-color: @base; - --bg-faded-color: @base; - --bg-faded-blur-color: @mantle; - --bg-blur-color: @mantle; - --close-button-bg-color: @mantle; - --close-button-color: @subtext0; - --bg-color: @base; - --link-bg-hover-color: @mantle; - --divider-color: @surface0; - --outline-color: @surface0; - --outline-hover-color: @surface2; - --reblog-faded-color: fade(@mauve, 20%); - --reblog-color: @mauve; - --reply-to-faded-color: fade(@yellow, 20%); - --reply-to-text-color: @yellow; - --reply-to-color: @yellow; - --favourite-color: @red; - --green-color: @green; - --red-color: @red; - --comment-line-color: @surface1; - --media-bg-color: @base; - --media-fg-color: @text; - --media-outline-color: @text; - - .szh-menu__item--disabled { - color: @subtext0; - } - - .button.plain2 { - background-color: @mantle; - } - - .replies-parent-link { - background-color: @surface0 !important; - } - - .account-container { - --original-color: @blue; - - .profile-field, - .stats, - .posting-stats-button { - background-color: @mantle; - -webkit-filter: none; - filter: none; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/phanpy/catppuccin.user.less b/styles/phanpy/catppuccin.user.less new file mode 100644 index 0000000000..fec686467e --- /dev/null +++ b/styles/phanpy/catppuccin.user.less @@ -0,0 +1,88 @@ +/* ==UserStyle== +@name Phanpy Catppuccin +@namespace github.com/catppuccin/userstyles/styles/phanpy +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/phanpy +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/phanpy/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aphanpy +@description Soothing pastel theme for Phanpy +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("phanpy.social") { + :root:not(:has(.is-light)) { + #catppuccin(@darkFlavor); + } + :root.is-light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --text-color: @text; + --text-insignificant-color: @subtext0; + --link-color: @accent; + --link-text-color: @accent; + --link-faded-color: @accent; + --link-light-color: @accent; + --button-bg-blur-color: @accent; + --button-bg-color: @accent; + --button-text-color: @base; + --bg-faded-color: @base; + --bg-faded-blur-color: @mantle; + --bg-blur-color: @mantle; + --close-button-bg-color: @mantle; + --close-button-color: @subtext0; + --bg-color: @base; + --link-bg-hover-color: @mantle; + --divider-color: @surface0; + --outline-color: @surface0; + --outline-hover-color: @surface2; + --reblog-faded-color: fade(@mauve, 20%); + --reblog-color: @mauve; + --reply-to-faded-color: fade(@yellow, 20%); + --reply-to-text-color: @yellow; + --reply-to-color: @yellow; + --favourite-color: @red; + --green-color: @green; + --red-color: @red; + --comment-line-color: @surface1; + --media-bg-color: @base; + --media-fg-color: @text; + --media-outline-color: @text; + + .szh-menu__item--disabled { + color: @subtext0; + } + + .button.plain2 { + background-color: @mantle; + } + + .replies-parent-link { + background-color: @surface0 !important; + } + + .account-container { + --original-color: @blue; + + .profile-field, + .stats, + .posting-stats-button { + background-color: @mantle; + -webkit-filter: none; + filter: none; + } + } + } +} diff --git a/styles/phanpy/preview.webp b/styles/phanpy/preview.webp deleted file mode 100644 index 4ba94c5c76..0000000000 --- a/styles/phanpy/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9cdde84a6f2f0fd2918df126cd193fe6a62278147a0e1c3fd325af83de411974 -size 651110 diff --git a/styles/picrew/README.md b/styles/picrew/README.md index 75fc7176b1..1ed85c45d8 100644 --- a/styles/picrew/README.md +++ b/styles/picrew/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Natalie Raine](https://github.com/Nyatalieeee) +- [Meowcelinee](https://github.com/Meowcelinee)   diff --git a/styles/picrew/catppuccin.user.css b/styles/picrew/catppuccin.user.less similarity index 81% rename from styles/picrew/catppuccin.user.css rename to styles/picrew/catppuccin.user.less index 48969c0e54..9e07443ef4 100644 --- a/styles/picrew/catppuccin.user.css +++ b/styles/picrew/catppuccin.user.less @@ -2,8 +2,8 @@ @name Picrew Catppuccin @namespace github.com/catppuccin/userstyles/styles/picrew @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/picrew -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/picrew/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/picrew/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apicrew @description Soothing pastel theme for Picrew @author Catppuccin @@ -15,48 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('picrew.me') { - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); +@-moz-document domain("picrew.me") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); body { background-color: @base !important; @@ -119,20 +92,23 @@ background: @overlay1 !important; &.is-active { - background: @accent-color !important; + background: @accent !important; } } #home { background: @base !important; color: @text !important; } + .smallNewsBox span { + color: @accent !important; + } /* "Information" page (main page) */ .page-info { background-color: @mantle !important; } .sp_title a, .page-info a { - color: @accent-color !important; + color: @accent !important; } .rankA::before { color: @text !important; @@ -141,22 +117,46 @@ .header_bg[data-v-2537399f] { background: linear-gradient(90deg, @surface0, @base); } + /* MOBILE ONLY: ad for downloading the app */ + .sitetop-appDL { + background: @mantle !important; + + .sitetop-appDL_Header .sitetop-appDL_Title .fa { + color: @accent !important; + } + } + /* "Featured Tags" section - directly above Discovery */ + .sitetop-tags { + background: @mantle !important; + + .sitetop-tags_Header .sitetop-tags_Title .fa { + color: @accent !important; + } + .recommended-tag-list .recommended-tag-list-item a { + border-color: @accent !important; + + /* tag icon before tag name */ + &::before { + color: @accent !important; + } + } + } /* "Discovery" section (image is lightbulb) */ .sitetop-Discovery { background: @mantle !important; .sitetop-Discovery_Header { .sitetop-Discovery_Title .fa { - color: @accent-color !important; + color: @accent !important; } .sitetop-DiscoveryList_More a { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } .sitetop-Discovery_More { - color: @accent-color !important; + color: @accent !important; } } } @@ -165,7 +165,7 @@ } /* "Hot Now" section (image is a graph) */ .sitetop-Hot_Title .fa { - color: @accent-color !important; + color: @accent !important; } .sitetop-Hot_CountrySwitch { background-color: @base !important; @@ -175,12 +175,12 @@ } .sitetop-Hot_CountrySwitch_all span::after { - color: @accent-color !important; + color: @accent !important; } input:last-of-type + label span { filter: brightness(-20%) !important; - color: @accent-color !important; + color: @accent !important; } } /* "Updated Image Makers (image (.fa) is bullhorn) */ @@ -188,7 +188,7 @@ background: @mantle !important; } .sitetop-ImagemakerList_Title .fa { - color: @accent-color !important; + color: @accent !important; } .c_btn { background: @surface1 !important; @@ -201,7 +201,7 @@ border-color: @surface2 !important; } &:focus { - box-shadow: 0 0 0 1px @accent-color !important; + box-shadow: 0 0 0 1px @accent !important; } } .sitetop-info { @@ -231,12 +231,12 @@ color: @text !important; } .st-Terms { - border-color: @accent-color !important; + border-color: @accent !important; border-radius: 2px !important; } .st-Terms_Wrapper .st-Terms a, .st-Terms_Wrapper .st-Terms .st-Terms_Body strong { - color: @accent-color !important; + color: @accent !important; } .c_select select { background: @mantle !important; @@ -265,17 +265,17 @@ } .popup { background-color: @base !important; - border-color: @accent-color !important; + border-color: @accent !important; } .popup-header { background-color: @mantle !important; } .popup-body .content a { - color: @accent-color !important; + color: @accent !important; } .bellicon { - color: @accent-color !important; - border-color: @accent-color !important; + color: @accent !important; + border-color: @accent !important; } .close-btn { border-color: @overlay0 !important; @@ -317,10 +317,10 @@ .login-container { .login-form-container { .c_text_right a { - color: @accent-color !important; + color: @accent !important; } .login-form input:focus { - box-shadow: 0 0 0 1px @accent-color !important; + box-shadow: 0 0 0 1px @accent !important; } } hr.sw_hr01 { @@ -343,6 +343,10 @@ /* search page */ .search-Form > fieldset { background: @base !important; + + .search-Form_Keyword .search-Form_KeywordInput:focus { + box-shadow: 0 0 0 1px @accent !important; + } } .search-Form_Keyword { .search-iconBox { @@ -399,7 +403,7 @@ background-color: @base !important; .radioBox_label::before { - background: @accent-color !important; + background: @accent !important; } .radioBox_label::after { border-color: @overlay1 !important; @@ -419,15 +423,45 @@ background: @base !important; } .c_pagination_num.is_current span { - background: @accent-color !important; + background: @accent !important; color: @base !important; } + /* image makers from a specific creator (search) */ + .creator-Header div .creator-Header_Name { + color: @accent !important; + } + .creator-ImagemakerList_Result { + background-color: @mantle !important; + .squareSize a { + .creator-ImagemakerList_UseRange { + li { + div { + background: @mantle !important; + border-color: @surface0 !important; + color: @subtext0 !important; + &::before { + color: @green !important; + } + } + } + } + .imagesizeBox { + background: @surface0 !important; + .imagemaker_size { + background: @surface1 !important; + .creator-ImagemakerList_Creator { + color: @subtext0 !important; + } + } + } + } + } /* creator registration page */ .creator-content .email-register-container .email-register-form input:not([type="checkbox"], [type="radio"]):focus { - box-shadow: 0 0 0 1px @accent-color !important; + box-shadow: 0 0 0 1px @accent !important; } .creator-content .email-register-container @@ -481,16 +515,16 @@ .creator-content { .success { background: @surface0 !important; - border-color: @accent-color !important; + border-color: @accent !important; &::after { - border-left-color: @accent-color !important; - border-bottom-color: @accent-color !important; + border-left-color: @accent !important; + border-bottom-color: @accent !important; } } /* "Terms of Use" and "Privacy Policy" links */ .email-register-container .email-register-form fieldset a { - color: @accent-color !important; + color: @accent !important; } } /* creator page */ @@ -553,7 +587,7 @@ border-top-color: @surface2 !important; } .small > a { - color: @accent-color !important; + color: @accent !important; } /* "Creator Informations" pages (creator/info page) */ .card-header { @@ -604,7 +638,7 @@ color: @text !important; &:focus { - border-color: @accent-color !important; + border-color: @accent !important; } } .tc_canvas-square, @@ -613,8 +647,8 @@ } /* image maker "type" (creator) */ .tc_imagemaker_register_type li :checked + label { - border-color: @accent-color !important; - box-shadow: 0 0 0 2px @accent-color !important; + border-color: @accent !important; + box-shadow: 0 0 0 2px @accent !important; color: @surface1 !important; } .tc_imagemaker_register_type @@ -622,8 +656,8 @@ :checked + label .tc_imagemaker_register_type_name { - background-color: @accent-color !important; - border-bottom-color: @accent-color !important; + background-color: @accent !important; + border-bottom-color: @accent !important; color: @surface1 !important; } .tc_imagemaker_register_type li label { @@ -650,8 +684,8 @@ } .btn-primary, .btn-primary:hover { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @surface1 !important; } /* image maker list (creator) */ @@ -685,7 +719,7 @@ } } .btn-info:focus { - box-shadow: 0 0 0 0.1rem @accent-color !important; + box-shadow: 0 0 0 0.1rem @accent !important; } .badge-default, .tc_badge_default { @@ -700,12 +734,12 @@ color: @text !important; } .btn-warning { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @base !important; &:focus { - box-shadow: 0 0 0 0.1rem @accent-color !important; + box-shadow: 0 0 0 0.1rem @accent !important; } } .tc_im_parts_eye .tc_im_parts_eye_icon { @@ -737,11 +771,11 @@ } .tc_parts_ctrl_setting .widget.white-bg.disabled { background-color: @surface0 !important; - border-color: @surface2 !important ; + border-color: @surface2 !important; color: @subtext0 !important; } .tc_c_textmenu li a { - color: @accent-color !important; + color: @accent !important; } .btn:disabled, .btn:disabled:hover { @@ -763,10 +797,10 @@ /* "bulk upload" (creator) */ .tc_bulkupload_type_select .tc_bulkupload_type_tab label { background-color: @surface0 !important; - border-color: @accent-color !important; + border-color: @accent !important; } .tc_bulkupload_color_select li input[type="radio"]:checked + label { - box-shadow: inset 0 0 0 2px @accent-color; + box-shadow: inset 0 0 0 2px @accent; } .tc_color_chip, .tc_bulkupload_option h4 { @@ -787,18 +821,16 @@ color: @subtext1 !important; } .tc_radio_switch label:first-child input[type="radio"] + span { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; &::before { - box-shadow: - inset 0 0 0 1px @accent-color, - -2px 0 1px @crust !important; + box-shadow: inset 0 0 0 1px @accent, -2px 0 1px @crust !important; } } /* image maker "rules" (creator) */ .text-info { - color: @accent-color !important; + color: @accent !important; } /* image maker "color palette" (creator) */ .tc_colorgp_detail_parts_deselect li { @@ -845,8 +877,8 @@ color: @text !important; } .page-item.active .page-link { - background: @accent-color !important; - border-color: @accent-color !important; + background: @accent !important; + border-color: @accent !important; color: @surface0 !important; } .tc_items_itemlist.is_style_detail @@ -884,8 +916,8 @@ border-color: @subtext0 !important; } input[type="radio"]:checked + .tc_radio_label { - border-color: @accent-color !important; - color: @accent-color !important; + border-color: @accent !important; + color: @accent !important; } } /* image maker publication (creator) */ @@ -899,7 +931,7 @@ color: @red !important; } .text-navy { - color: @accent-color !important; + color: @accent !important; } /* discovery page */ .discovery_header .discovery_description { @@ -916,9 +948,37 @@ .play-Imagemaker.is_info_show .imagemaker_info_bg { background: @mantle !important; } + /* "Scope of Use" modal */ + .play-Container .vm--container .vm--modal .content-wrapper { + background: @surface0 !important; + + a { + color: @accent !important; + } + table, td { + border-color: @surface0 !important; + } + .useable::before { + color: @accent !important; + } + } + /* "how to use bookmark" modal (not signed in) */ + .simplebar-wrapper + .simplebar-mask + .simplebar-offset + .simplebar-content-wrapper { + background: @surface0 !important; + + header button.close-dialog { + color: @text !important; + } + } .imagemaker_info_wrapper { .imagemaker_info_header { background-color: @mantle !important; + .imagemaker_info_use_range li a { + color: @accent !important; + } } .imagemaker_info_footer { background-color: @mantle !important; @@ -932,16 +992,16 @@ } /* "play" button (outer image maker) */ .imagemaker_info_btn_start { - background: @accent-color !important; - border-color: @accent-color !important; - box-shadow: 0 4px 0 @accent-color !important; + background: @accent !important; + border-color: @accent !important; + box-shadow: 0 4px 0 @accent !important; color: @base !important; } .imagemaker_info_creator a { - color: @accent-color !important; + color: @accent !important; } .imagemaker_info_description a { - color: @accent-color !important; + color: @accent !important; } /* tags (outer image maker) */ .imagemaker_info_use_range li.is_can > div { @@ -952,6 +1012,9 @@ .imagemaker_info_tag a { border-color: @surface2 !important; color: @subtext0 !important; + &::before { + color: @accent !important; + } } .imagemaker_info_use_range li > div { background: @surface0 !important; @@ -960,11 +1023,11 @@ } /* tag icon (outer image maker) */ .imagemaker_info_use_range li.is_can > div::before { - color: @accent-color !important; + color: @accent !important; } } .is_info_show .imagemaker_info_show_btn { - background: @accent-color !important; + background: @accent !important; color: @overlay0 !important; } /* outer bookmark button (outer image maker) */ @@ -994,27 +1057,48 @@ background-color: @surface0 !important; &::before { - box-shadow: inset 0 -5px 0 -1px @accent-color !important; + box-shadow: inset 0 -5px 0 -1px @accent !important; } } li.selected::after { - box-shadow: inset 0 0 0 3px @accent-color !important; + box-shadow: inset 0 0 0 3px @accent !important; } /* switch to outer image maker (inner image maker) */ .imagemaker_info_show_btn { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @overlay0 !important; } /* bookmark button (inner image maker) */ .play-Imagemaker .bookmark { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; } .imagemaker_ctrl_btns .btn_show_itemlist.selected { - background-color: @accent-color !important; + background-color: @accent !important; color: @overlay0 !important; } + /* randomize image (inner image maker) */ + .play-Container + .play-Imagemaker + .imagemaker_control_wrapper + .imagemaker_control_popup { + background: @mantle !important; + } + .is_menu_show .imagemaker_menu_btn { + color: @subtext0 !important; + } + .imagemaker_control_panel_wrapper .imagemaker_random_menu { + background: @surface0 !important; + } + .imagemaker_btn_random { + background: @accent !important; + color: @crust !important; + } + .imagemaker_btn_allreset { + background: @surface2 !important; + color: @text !important; + } /* move image element (background) (inner image maker) */ .imagemaker_controller { background-color: @mantle !important; @@ -1023,7 +1107,7 @@ .ctrlbtn-rotate_left, .ctrlbtn-rotate_right { background: @surface0 !important; - color: @accent-color !important; + color: @accent !important; } /* move image element (buttons) (inner image maker) */ .control_position_wrapper .ctrlbtn_position_inner::before, @@ -1034,7 +1118,7 @@ .ctrlbtn-move_down, .ctrlbtn-move_right, .ctrlbtn-move_left { - color: @accent-color !important; + color: @accent !important; } .imagemaker_controller_reset, .imagemaker_controller_reset:hover { @@ -1044,9 +1128,33 @@ /* "Done" button (inner image maker) */ .imagemaker_complete_btn, .imagemaker_complete_btn:hover { - background: @accent-color !important; + background: @accent !important; color: @surface0 !important; } + /* image randomizer complete modal (image complete) */ + .randommaker_result_modal_wrapper { + .randommaker_result_modal { + background-color: @surface0 !important; + border-color: @accent !important; + } + .randommaker_result_message { + background: @yellow !important; + color: @crust !important; + } + .randommaker_result_btns { + .randommaker_again_btn { + background: @yellow !important; + border-color: @yellow !important; + color: @crust !important; + } + .randommaker_complete_btn { + background: @green !important; + border-color: @green !important; + box-shadow: 0 4px 0 @green !important; + color: @crust !important; + } + } + } /* load screen after clicking "Done" (image complete) */ .save_anime { background-color: @base !important; @@ -1058,9 +1166,9 @@ /* download button (image complete) */ .complete-Download_Btn, .complete-Download_Btn:hover { - background: @accent-color !important; - border-color: @accent-color !important; - box-shadow: 0 4px 0 @accent-color !important; + background: @accent !important; + border-color: @accent !important; + box-shadow: 0 4px 0 @accent !important; color: @surface1 !important; } /* "add to bookmarks" area (image complete) */ @@ -1113,17 +1221,21 @@ /* "Search by tag" (image complete) */ .st-Related_Tags .st-Related_Tag a { background: @surface0 !important; - border-color: @accent-color !important; + border-color: @accent !important; color: @text !important; + + &::before { + color: @accent !important; + } } /* "Copied to clipboard" popup (image complete) */ .toasted.sw-Toast.bubble { - background-color: @accent-color !important; + background-color: @accent !important; color: @surface0 !important; } /* fix for bookmark icon (bookmarks page) */ .bookmark-inner h2 .fa { - color: @accent-color !important; + color: @accent !important; } /* support.picrew.me page */ .site-branding { @@ -1144,7 +1256,7 @@ color: @text !important; } .bogo-language-name a { - color: @accent-color !important; + color: @accent !important; } .main-navigation { background-color: @mantle !important; @@ -1155,16 +1267,16 @@ } a:hover, ul > :hover > a { - color: @accent-color !important; + color: @accent !important; } /* "what is picrew?" page (support) */ li.current_page_item > a::before, li.current-menu-item > a::before { - border-bottom-color: @accent-color !important; + border-bottom-color: @accent !important; } .nav-menu > li > a::after, .menu > li > a::after { - color: @accent-color !important; + color: @accent !important; } } .picrew_front-page-content-area.content-area @@ -1173,19 +1285,19 @@ background-color: @mantle !important; } .widget_linkblock { - border-color: @accent-color !important; - box-shadow: 0 0 0 0 @accent-color inset !important; + border-color: @accent !important; + box-shadow: 0 0 0 0 @accent inset !important; color: @text !important; .widget_linkblock_title { - color: @accent-color !important; + color: @accent !important; } .widget_linkblock_text { color: @subtext1 !important; } &:hover { - border-color: @accent-color !important; - box-shadow: 0 0 0 4px @accent-color inset !important; + border-color: @accent !important; + box-shadow: 0 0 0 4px @accent inset !important; color: @text !important; } } @@ -1208,7 +1320,7 @@ } .widget-title, a:hover { - color: @accent-color !important; + color: @accent !important; } } /* aaaaaaaaaaaaaa */ @@ -1218,7 +1330,7 @@ color: @text !important; &:focus { - border-color: @accent-color !important; + border-color: @accent !important; } } #searchsubmit > button, @@ -1245,12 +1357,12 @@ color: @text !important; &::after { - background: @accent-color !important; + background: @accent !important; } } .entry-content h2 { background: @surface0 !important; - border-bottom-color: @accent-color !important; + border-bottom-color: @accent !important; color: @text !important; } .content-wrapper.full-width .hentry::after { @@ -1262,7 +1374,7 @@ border-color: @surface2 !important; a { - color: @accent-color !important; + color: @accent !important; } p.toc_title { color: @text !important; @@ -1275,7 +1387,7 @@ } h3 { border-bottom-color: @surface2 !important; - border-left-color: @accent-color !important; + border-left-color: @accent !important; color: @text !important; } h4 { @@ -1283,7 +1395,7 @@ } h4::before, a { - color: @accent-color !important; + color: @accent !important; } } /* "Create your image maker" page (support) */ @@ -1294,7 +1406,7 @@ border-top-color: @overlay2 !important; > a { - color: @accent-color !important; + color: @accent !important; } } /* "list of creator functions" page (support) */ @@ -1306,7 +1418,7 @@ } .blog { .entry-title a { - color: @accent-color !important; + color: @accent !important; } .entry-body { color: @subtext1 !important; @@ -1314,17 +1426,17 @@ } .wp-pagenavi { span.current { - background: @accent-color !important; - border-color: @accent-color !important; + background: @accent !important; + border-color: @accent !important; color: @surface1 !important; } a { background-color: @base !important; - border-color: @accent-color !important; + border-color: @accent !important; color: @text !important; &:hover { - background-color: @accent-color !important; + background-color: @accent !important; color: @surface1 !important; } } @@ -1335,31 +1447,11 @@ color: @text !important; } .entry-title a { - color: @accent-color !important; + color: @accent !important; } .entry-body { color: @text !important; } } } - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; } - -// vim:ft=less diff --git a/styles/picrew/preview.webp b/styles/picrew/preview.webp deleted file mode 100644 index 01b21a6a48..0000000000 --- a/styles/picrew/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33dc365a0217624d2feece15a5410c2961adf50d907dcce6a1b82054577dbcd9 -size 722728 diff --git a/styles/pinterest/README.md b/styles/pinterest/README.md index 2354fcd8d7..4465d1fa48 100644 --- a/styles/pinterest/README.md +++ b/styles/pinterest/README.md @@ -10,20 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [nuexq](https://github.com/nuexq) ## ๐Ÿ’– Past Maintainer -- [Sena](https://github.com/jn-sena) +- [jn-sena](https://github.com/jn-sena)   diff --git a/styles/pinterest/catppuccin.user.css b/styles/pinterest/catppuccin.user.css deleted file mode 100644 index 93f4830237..0000000000 --- a/styles/pinterest/catppuccin.user.css +++ /dev/null @@ -1,736 +0,0 @@ -/* ==UserStyle== -@name Pinterest Catppuccin -@namespace github.com/catppuccin/userstyles/styles/pinterest -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pinterest -@version 1.1.5 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pinterest/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apinterest -@description Soothing pastel theme for Pinterest -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document regexp("^https?:\\/\\/(www|[a-z]{2}).pinterest.(com(.(au|mx))?|co(.(uk|kr))?|at|ca|ch|cl|de|dk|es|fr|ie|it|jp|nz|ph|pt|ru|se)\\/.*") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - :root { - --color-text-light: if((@lookup = latte), @mantle, @text); - --color-text-dark: if((@lookup = latte), @text, @mantle); - --color-text-default: @text; - --color-text-inverse: @mantle; - --color-text-subtle: @subtext0; - --color-text-error: @accent-color; - --color-text-shopping: @accent-color; - --color-text-link: @accent-color; - - --color-text-icon-light: if((@lookup = latte), @mantle, @subtext1); - --color-text-icon-dark: if((@lookup = latte), @subtext1, @mantle); - --color-text-icon-default: @subtext0; - --color-icon-subtle: @subtext1; - --color-text-icon-inverse: @mantle; - --color-text-icon-subtle: @subtext0; - --color-text-icon-error: @accent-color; - --color-text-icon-brand-primary: @accent-color; - - --color-background-light: if((@lookup = latte), @mantle, @subtext1); - --color-background-dark: if((@lookup = latte), @text, @mantle); - --color-background-default: @base; - --color-background-inverse-base: @subtext1; - --color-background-primary-base: @accent-color; - --color-background-secondary-base: @mantle; - --color-background-secondary-active: @mantle; - --color-background-selected-base: @subtext1; - --color-background-box-default: @mantle; - --color-background-box-selected: @accent-color; - --color-background-box-secondary: @surface1; - --color-background-overlay: @surface0; - --color-background-tag-primary-hover: @surface2; - --color-background-box-light: @mantle; - --color-background-button-secondary-default: @surface0; - --color-background-button-secondary-hover: @surface1; - --color-background-tag-primary-default: @surface1; - --color-background-button-disabled-default: darken(@mantle, 2%); - --color-background-formfield-primary: @surface0; - --color-border-container: @surface1; - --color-border-default: @mantle; - --color-text-success: @green; - --color-text-warning: @yellow; - --color-icon-success: @green; - --color-icon-warning: @yellow; - --color-icon-error: @red; - --color-icon-info: @blue; - --color-icon-recommendation: @mauve; - --color-icon-brand-primary: @accent-color; - --color-icon-inverse: @crust; - --color-background-brand: @accent-color; - --color-background-box-brand: @accent-color; - --color-background-button-primary-default: @accent-color; - --color-background-badge-warning: @yellow; - --color-background-badge-success: @green; - --color-background-education: @blue; - --color-background-primary-strong: @accent-color; - --color-background-shopping: @blue; - - --g-colorTransparentWhite: fadeout(@base, 30%); - --g-colorTransparentDarkGray: fadeout(@mantle, 20%); - --g-colorGray0: @mantle; - --g-colorGray0Hovered: darken(@mantle, 2.5%); - --g-colorGray0Active: darken(@mantle, 5%); - --g-colorGray50: @mantle; - --g-colorGray100: @mantle; - --g-colorGray100Hovered: darken(@surface0, 2.5%); - --g-colorGray100Active: darken(@surface0, 5%); - --g-colorGray200: @subtext0; - --g-colorGray300: @subtext1; - --g-colorRed100: @accent-color; - --g-colorRed100Hovered: darken(@accent-color, 7.5%); - --g-colorRed100Active: darken(@accent-color, 10%); - --g-color-focus: fadeout(@accent-color, 50%); - --color-gray-roboflow-400: @crust; - --color-gray-roboflow-200: @mantle; - - --g-blue: @accent-color; - --color-background-info-base: @blue; - --color-background-error-base: @red; - --color-background-warning-base: @peach; - --color-background-success-base: @green; - } - - body { - background-color: @base; - color: @text; - } - - .EmojiPickerReact { - --epr-bg-color: @base; - --epr-text-color: @text; - --epr-picker-border-color: @base; - --epr-category-label-bg-color: @base; - --epr-search-input-bg-color: @mantle; - --epr-skin-tone-picker-menu-color: @mantle; - --epr-category-icon-active-color: @accent-color; - --epr-highlight-color: @accent-color; - --epr-hover-bg-color: @surface0; - --epr-focus-bg-color: @surface0; - } - - .C1J, - .LI1.iyn[focus-within], - .iyn:focus, - ._gestalt .react-datepicker__month-select:focus, - ._gestalt .react-datepicker__year-select:focus { - box-shadow: 0 0 0 4px var(--g-color-focus); - } - - .NUb { - color: var(--color-text-inverse); - } - - div[data-test-id="gestalt-avatar-svg"] { - box-shadow: 0 0 0 1px @crust !important; - - text { - fill: @subtext1 !important; - } - } - - svg circle[fill="white"] ~ path[fill="#e60023"] { - fill: @accent-color !important; - } - - div#mweb-unauth-container, - div#mainContainer { - background-color: @base !important; - } - - // "Accounts and more options" popup - div#HeaderAccountOptionsFlyout { - background-color: @mantle; - border-color: transparent; - // external link icons - .Hn_.Uvi.gUZ { - color: var(--color-text-icon-light); - } - } - - // Pin hover icons (and other icons) - .Uvi.gUZ.U9O.kVc { - color: @text; - } - - /* Header & Search */ - - div[data-test-id="header-Header"] div.P_h span.xnr { - color: @text !important; - } - - // make top bar match - div[data-test-id="header-background"] { - background-color: @base; - } - - div[data-test-id="one-bar-pill"] { - div { - color: var(--color-text-dark) !important; - } - - .PLa { - color: var(--color-text-icon-light) !important; - } - - .R19 { - color: var(--color-text-icon-dark) !important; - } - } - - div#searchBoxContainer { - // search bar - div.Jea.fev.zI7.iyn.Hsu { - background-color: @mantle !important; - } - - div[style="padding: 0px 0px 0px 16px; height: 100%; border-radius: 24px; box-shadow: rgba(0, 132, 255, 0.5) 0px 0px 0px 4px;"], - div[style="padding: 0px 4px 0px 16px; height: 100%; border-radius: 24px; box-shadow: rgba(0, 132, 255, 0.5) 0px 0px 0px 4px;"] { - box-shadow: 0 0 0 4px var(--g-color-focus) !important; - } - - input { - color: @subtext1 !important; - } - - div.MMh._Y5.feh.s7I.zI7.iyn.Hsu { - background-color: @subtext1 !important; - } - } - - // make selected search suggestions darker - div[aria-selected="true"][data-test-id="search-suggestion"] { - .C9q.Jea.KS5.Lfz.TMJ.XiG.Zr3.zI7.iyn.Hsu { - background-color: @surface0; - } - } - - /* Home */ - - div.moreIdeasBoardRepCarousel - div[data-carousel-indicator="carousel-card"] - div.Jea.XiG.hA-.ho-.zI7.iyn.Hsu { - background-color: @mantle !important; - } - - div.moreIdeasBoardRepCarousel & ~ div.MIw.QLY.zI7.iyn.Hsu { - background: none !important; - } - - // remove bar - .fZz.imm.zI7.iyn.Hsu { - background-color: @base; - } - - // "created" and "saved" button backgrounds - .DUt.XiG._wN.hA-.wYR.zI7.iyn.Hsu { - background-color: transparent !important; - } - - /* Pins */ - - div[data-test-id="PinBetterSaveDropdown"], - div[data-test-id="boardSelectionDropdown"] { - .xnr { - color: var(--color-text-light); - } - - .PLa { - color: var(--color-text-icon-light); - } - } - - div[data-test-id="pinrep-source-link"] { - background-color: @base !important; - - a div { - color: @text !important; - } - } - - div[data-test-id="savedInfo"] a { - background-color: transparent !important; - - div { - color: var(--color-text-light) !important; - } - } - - div[data-test-id="PinTypeIdentifier"] { - background-color: @base !important; - color: @text !important; - } - - div[data-test-id="persistent-one-click-save"] { - div[style="background-color: rgba(255, 255, 255, 0.85);"] { - background-color: @mantle !important; - } - - a { - background-color: transparent !important; - } - } - - div[style="padding-bottom: 100%; box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px;"] { - box-shadow: 0 0 0 1px @crust !important; - } - - div[data-test-id="toast"] span div { - color: @mantle !important; - } - - // board name to save to preview / dropdown - .tBJ.dyH.iFc.sAJ.B1n.zDA.IZT.H2s.CKL { - color: var(--color-text-light) !important; - } - - // back of send and ... buttons on pins - .x8f.INd._O1.KS5.mQ8.NSs { - background-color: @crust !important; - } - - // Save button background - .akY.KI_.Hsu.USg.CCY.S9z.z_v.BG7.LDc.xD4.fZz.hUC.adn.Rk4.d24._O1.KS5.mQ8.Tbt.L4E.jKZ { - background-color: @accent-color !important; - //color: @text !important; - } - - // Save button text - .tBJ.dyH.iFc.sAJ.B1n.tg7.IZT.H2s { - color: var(--color-text-light) !important; - } - - // Saved button background - .akY.KI_.Hsu.USg.CCY.S9z.z_v.BG7.LDc.xD4.fZz.hUC.kJo.gSJ.d24._O1.KS5.mQ8.Tbt.L4E.jKZ { - background-color: @surface2 !important; - border-color: transparent; - } - - // board picker flyout button - button[aria-label="save button"] { - .RCK.Hsu.USg.adn.CCY.NTm.KhY.S9z.Vxj.aZc.Zr3.hA-.Il7.hNT.BG7.hDj._O1.KS5.mQ8.Tbt.L4E { - background-color: @accent-color; - color: @accent-color; - } - } - - // "Saved to __" popup text - .tBJ.dyH.iFc.j1A.X8m.zDA.swG { - color: var(--color-text-light) !important; - } - - /* Pin page */ - - div[data-test-id="inline-comment-composer-container"] { - border-color: transparent !important; - } - - div[data-test-id="more-description-container"], - div[data-test-id="less-description-container"] { - background-color: @base !important; - } - - div[data-test-id="truncated-text"] { - div[data-test-id="more-button"] { - background: linear-gradient( - 90deg, - transparent 0%, - @base 15% - ) !important; - } - - div[style="background: rgb(255, 255, 255);"] { - background-color: @base !important; - } - } - - div[data-test-id="flashlight-button"], - div[data-test-id="shop-button"] { - background-color: fadeout(@base, 20%) !important; - } - - div[data-test-id="flashlight-dot-style"] { - background-color: var(--color-text-light); - } - - div[data-test-id="visual-search-cropper"] { - path.v2cropperHandle { - fill: var(--color-text-light) !important; - } - - use.v2cropSection { - stroke: var(--color-text-light) !important; - } - } - - textarea#pinNoteText { - background-color: transparent; - color: @subtext1; - caret-color: @text; - } - - div[data-test-id="react-button"] { - .Jea.KS5.mQ8.zI7.iyn.Hsu { - //background-color: @accent-color; - color: @accent-color; - } - } - - // remove "More to explore" bar - div[data-test-id="related-modules-header"] { - .Jea.KS5.LCN.X6t.hUC.imm.jzS.mQ8.zI7.iyn.Hsu { - background-color: transparent; - } - } - - /* Video and story pins */ - - div[data-test-id="visual-content-container"] video ~ div { - svg { - color: var(--color-text-icon-light) !important; - } - - div[role="progressbar"] > div { - background-color: var(--color-text-icon-light) !important; - } - } - - div[data-test-id="closeup-data-loaded"] div.Jea.Rym.zI7.iyn.Hsu { - svg, - span { - color: var(--color-text-icon-light) !important; - } - } - - /* Profile */ - - div[data-test-id="profile-board-card"] div, - div#profileBoardsFeed div[data-test-id="board-card"] div, - div[style="border: 1px solid white; border-radius: 16px;"] { - border-color: @crust !important; - } - - div.SaveButton__background--enabled { - background-color: @accent-color !important; - color: @mantle !important; - } - - div[data-test-id="savedInfo"] a h3 { - color: var(--color-text-light) !important; - } - - a[aria-label="More ideas"] { - .TzN { - background-color: @surface0; - } - } - - a[aria-label="Organize"] { - .TzN { - background-color: @surface0; - } - } - - /* Settings */ - - input[type="checkbox"] ~ div { - border-color: @crust !important; - } - - div.tBJ.dyH.iFc.sAJ.xnr.tg7.IZT.swG { - color: var(--color-text-light) !important; - } - - /* Share */ - - div[data-test-id="lego-share-social-bar-auth"] button, - div[data-test-id="copy-link-share-icon-auth"] div.zI7.iyn.Hsu { - background-color: transparent !important; - } - - div[data-test-id="email-share-button-auth"] svg { - rect { - fill: @mantle !important; - } - - path { - fill: @subtext1 !important; - } - } - - div[data-test-id="sharesheet-contact-item-sent-icon"] svg { - color: @text; - } - - div[data-test-id="sharesheet-contact-item-button"] - div[style="background-color: rgb(239, 239, 239); padding-bottom: 100%;"] { - background-color: @mantle !important; - } - - /* Messages */ - - textarea#messageDraft { - background-color: transparent; - color: @subtext1; - caret-color: @text !important; - } - - div[data-test-id="add-pin-to-conversation"] { - div[style="border: 1px solid rgb(218, 218, 218); box-shadow: rgba(0, 132, 255, 0) 0px 0px 0px 4px; padding: 4px 15px; min-height: 48px; width: 100%;"] { - border-color: @mantle !important; - } - - div[style="border: 1px solid transparent; box-shadow: rgba(0, 132, 255, 0.5) 0px 0px 0px 4px; padding: 4px 15px; min-height: 48px; width: 100%;"] { - box-shadow: 0 0 0 4px var(--g-color-focus) !important; - } - } - - /* Create */ - - div[style="background-color: rgba(255, 255, 255, 0.8); margin: 24px 0px 0px; z-index: 1;"] { - background-color: fadeout(@base, 20%) !important; - } - - input#scrape-view-website-link { - background-color: @base !important; - } - - div[data-test-id="image-from-search-container"] { - --color-text-icon-inverse: @subtext1; - } - - div[data-test-id="storyboard-draft-placeholder-rep"] div.ho-.zI7.iyn.Hsu { - background-color: @mantle !important; - background-image: linear-gradient( - to right, - @mantle 0%, - @crust 20%, - @mantle 40%, - @mantle 100% - ) !important; - } - - div[data-test-id="drafts-container"] { - --color-text-dark: var(--color-text-default); - - div[style="border-color: rgb(17, 17, 17);"] { - border-color: @crust !important; - } - } - - div[data-test-id="drag-behavior-container"] svg { - color: @subtext1; - } - - div[data-test-id="storyboard-pin-card-item"] { - border-color: @crust !important; - } - - button[data-test-id="board-dropdown-select-button"] { - background-color: @base !important; - - span { - color: @subtext1 !important; - } - } - - div[data-test-id="storyboard-interest-tags"] - div[style="background-color: rgb(17, 17, 17);"] { - background-color: @subtext1 !important; - } - - div[data-test-id="editor-canvas-container"] div { - border-color: @accent-color !important; - } - - input[data-test-id="storyboard-editor-details-text-size"] { - background-color: @mantle !important; - color: @text !important; - border-color: @crust !important; - } - - div[data-test-id="storyboard-editor-details-text-color-picker"] { - input { - color: @text !important; - background-color: transparent !important; - } - - .LJB { - border-color: @crust !important; - } - - div[style="height: 40px; box-shadow: rgb(239, 239, 239) 0px 0px 0px 2px inset;"] { - box-shadow: 0 0 0 2px @crust inset !important; - } - } - - div[role="tablist"] button[aria-selected="true"] { - background-color: @crust !important; - } - - input[type="text"], - input[type="search"] { - color: @text; - } - - /* Login */ - - div[data-test-id="signup-default-modal"], - div[data-test-id="login-modal-default"], - div[data-test-id="login-modal-mfa"] { - background-color: @base !important; - - h1 { - color: @text !important; - } - - p { - color: @subtext0 !important; - } - - button[data-test-id="login-signup-toggle"] { - color: @accent-color !important; - } - - button.red.active { - background-color: @accent-color !important; - color: @crust !important; - } - - button.red.active:hover, - button.red.active:focus { - background-color: darken(@accent-color, 2.5%) !important; - } - - span[data-test-id="terms-of-service"], - div[style="margin-top: 15px; color: rgb(51, 51, 51);"] { - color: @subtext1 !important; - - a { - color: @accent-color !important; - } - } - } - - /* Not logged in */ - - div[style="height: 200px; background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%);"] { - background: linear-gradient( - fadeout(@base, 100%) 0%, - @base 70% - ) !important; - } - - div#mweb-unauth-container div.HFo.Jea.KS5._he.zI7.iyn.Hsu, - div[data-test-id="header"] - div[style="background-color: rgba(255, 255, 255, 0.95); height: 100%; width: 100%;"] { - background-color: @base !important; - } - - span[data-test-id="terms-of-service"] a { - color: @accent-color !important; - } - - div[data-test-id="breadcrumbs-list"] div.MIw.Rym.zI7.iyn.Hsu, - div[data-test-id="vase-carousel"] div[data-test-id="left-scroll-arrow"] { - background-image: linear-gradient( - to left, - fadeout(@base, 100%), - @base - ) !important; - } - - div[data-test-id="breadcrumbs-list"] div.MIw.p6V.zI7.iyn.Hsu, - div[data-test-id="vase-carousel"] div[data-test-id="right-scroll-arrow"] { - background-image: linear-gradient( - to right, - fadeout(@base, 100%), - @base - ) !important; - } - - div[data-test-id="standard-save-button"] span { - color: @mantle !important; - } - - /* Other */ - - div[data-test-id="public-beta-page"] { - --color-text-light: @text; - --color-background-recommendation-weak: @crust; - } - - div[data-layout-shift-boundary-id="PageContainer"] { - --color-text-inverse: var(--color-text-light); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/pinterest/catppuccin.user.less b/styles/pinterest/catppuccin.user.less new file mode 100644 index 0000000000..895b331087 --- /dev/null +++ b/styles/pinterest/catppuccin.user.less @@ -0,0 +1,275 @@ +/* ==UserStyle== +@name Pinterest Catppuccin +@namespace github.com/catppuccin/userstyles/styles/pinterest +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pinterest +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pinterest/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apinterest +@description Soothing pastel theme for Pinterest +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp( + "^https?:\\/\\/(www|[a-z]{2}).pinterest.(com(.(au|mx))?|co(.(uk|kr))?|at|ca|ch|cl|de|dk|es|fr|ie|it|jp|nz|ph|pt|ru|se)\\/.*" + ) { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + &, + body { + color: @text; + background: @base; + } + + --sema-color-background-default: @base; + --sema-color-background-secondary: @surface0; + --sema-color-hover-background-secondary: @surface1; + --sema-color-background-tertiary: @overlay0; // send message to conversation button + --sema-color-hover-background-tertiary: @overlay2; + --sema-color-text-default: @text; + --sema-color-text-subtle: @subtext1; + --sema-color-text-link: @accent; // links / messages username + --sema-color-text-dark: @text; // commenter username / bar pills text + --sema-color-text-light: if( + @flavor = latte, + @base, + @text + ); // Explore suggested articles link + --sema-color-icon-primary: @accent; // logo + --sema-color-icon-inverse: @mantle; + --sema-color-border-decorative: @surface2; + --sema-color-border-interactive: @overlay0; // form inputs + --sema-color-hover-border-interactive: @overlay1; + --sema-color-border-focus-outer-default: @accent; + --sema-color-border-focus-inner-default: @base; + --sema-color-border-disabled: @surface1; + --sema-color-icon-disabled: @subtext0; // board actions in organize mode + + /* Pins */ + --sema-color-background-primary: @accent; + --sema-color-hover-background-primary: darken(@accent, 5%); + --sema-color-background-wash-light: @base; + --sema-color-pressed-background-primary: darken(@accent, 5%); + --comp-button-color-background-primary-selected: @surface1; // select dropdown + --comp-button-color-background-tertiary-semi-transparent-default: fade( + @base, + 50% + ); // pin action + --comp-button-color-hover-background-tertiary-semi-transparent-default: fade( + @base, + 50% + ); + + [data-test-id="more-description-container"] { + background-color: @base !important; + [style*="background: linear-gradient"] { + background: linear-gradient(90deg, transparent 0%, @base 100%) + !important; + } + } + [data-test-id="closeup-metadata-details-divider"] { + border-top-color: var(--sema-color-border-decorative) !important; + } + [data-test-id="PinBetterSaveDropdown"] { + --sema-color-text-inverse: @text; + --sema-color-icon-inverse: @text; + } + + --sema-color-text-error: @red; + --sema-color-background-error-default: @maroon; + --sema-color-icon-error: @red; + --sema-color-border-error: @red; + + /* Boards */ + --sema-color-background-checked: @accent; // "Secret" toggle + --sema-color-hover-background-checked: darken(@accent, 5%); + --sema-color-pressed-background-checked: darken(@accent, 10%); + --comp-switch-color-background-container-enabled-off: @surface2; + --comp-switch-color-hover-background-container-enabled-off: @overlay0; + --comp-button-color-hover-background-secondary-default: @surface1; // "Cancel" button hover + + [data-test-id="profile-board-card"] [style*="border-color: white;"] { + // pin preview collage images + border-color: @base !important; + } + + --sema-color-border-inverse: @base; // around profile pictures under previews + --sema-color-pressed-background-default: @surface2; // "Edit" icon / edit modal "X" icon buttons + --comp-button-color-pressed-background-secondary-default: @surface2; // active "View profile" button + --sema-color-pressed-background-elevation: @surface2; // plus action + + // "select and reorder" / organize + [data-test-id="pinRepSelectionBorder"] { + &[style*="border-color: rgb(255, 255, 255);"] { + border-color: @base !important; + } + &[style*="box-shadow: rgb(255, 255, 255) 0px 0px 0px 3px inset;"] { + box-shadow: @accent 0 0 0 3px inset !important; + } + } + + /* Sidebar */ + --sema-color-icon-default: @text; + --sema-color-hover-background-default: @surface0; + --base-color-grayscale-100: @surface0; // border + [aria-label="You have new Updates"] { + --sema-color-text-light: @base; // notification badge + } + // Explore + [data-test-id="topic-rep-title"] { + --sema-color-text-inverse: @text; // Explore categories + } + --sema-color-background-elevation: @mantle; + --sema-color-hover-background-elevation: @base; + // Create + --sema-color-icon-dark: @text; + [data-test-id="drag-behavior-container"] { + --sema-color-text-default: if( + @flavor = latte, + @text, + @surface2 + ); // drag container error + } + // Tooltips + --sema-color-background-inverse: @text; + --sema-color-text-inverse: @base; + + /* Search */ + --sema-color-icon-subtle: @overlay2; + + #searchBoxContainer > div { + background-color: @mantle !important; + + > div[style*="box-shadow:"] { + // on focus + box-shadow: fade(@accent, 50%) 0 0 0 4px !important; + } + + // divider + [style*="background:#d8d8d8;"], + [style*="background: rgb(216, 216, 216);"] { + background: @surface1 !important; + } + + input { + color: @subtext1 !important; + } + } + + [id^="SuggestionGroup-Option"][aria-selected="true"] > a > div { + background-color: @surface1; + } + + /* Home */ + [data-test-id="homefeed-feed"] + div:has( + > [data-root-margin="more-ideas-tabs"] + )[style*="background-color: rgb(255, 255, 255);"] { + background-color: @base !important; + } + + --sema-color-background-selected: @accent; // active tab underline + --sema-color-hover-background-selected: darken(@accent, 5%); + --sema-color-pressed-background-selected: darken(@accent, 10%); + + // share modal + [data-test-id="lego-share-social-bar-auth"] button { + background-color: @base !important; + } + + /* Settings */ + --sema-color-text-disabled: @overlay2; // disabled "Reset"/"Save" buttons + + /* Messages */ + textarea#messageDraft { + background-color: transparent !important; + color: @subtext1; + caret-color: @text !important; + } + + div[data-test-id="add-pin-to-conversation"] { + div[style="border: 1px solid rgb(218, 218, 218); box-shadow: rgba(0, 132, 255, 0) 0px 0px 0px 4px; min-height: 48px; width: 100%;"] { + border-color: @mantle !important; + } + + div[style="border: 1px solid transparent; box-shadow: rgba(0, 132, 255, 0.5) 0px 0px 0px 4px; min-height: 48px; width: 100%;"] { + box-shadow: fade(@accent, 50%) 0 0 0 4px !important; + } + } + + /* Loading */ + .mainContainer + > div[style*="background-color: rgba(255, 255, 255, 0.5); height: 100%; width: 100%; z-index: 1;"] { + background-color: @base !important; + } + + /* Emoji Picker */ + .EmojiPickerReact { + --epr-bg-color: @base; + --epr-text-color: @text; + --epr-picker-border-color: @base; + --epr-category-label-bg-color: @base; + --epr-search-input-bg-color: @mantle; + --epr-skin-tone-picker-menu-color: @mantle; + --epr-category-icon-active-color: @accent; + --epr-highlight-color: @accent; + --epr-hover-bg-color: @surface0; + --epr-focus-bg-color: @surface0; + } + + /* suggestion bar */ + --sema-color-pressed-background-secondary: @surface2; + [data-test-id="one-bar-pill"] { + --sema-color-text-dark: if(@flavor = latte, @text, @base); + } + [data-test-id="one-bar-navigation-arrows"] { + &[style*="to left"]:not([style*="to right"]) { + background: linear-gradient(to left, @base, transparent 40px) + !important; + } + &[style*="to right"]:not([style*="to left"]) { + background: linear-gradient(to right, @base, transparent 40px) + !important; + } + &[style*="to left"][style*="to right"] { + background: + linear-gradient(to left, @base, transparent 40px), + linear-gradient(to right, @base, transparent 40px) !important; + } + } + [data-test-id="multi-select-filter-fade-bottom-edge"] { + background: linear-gradient(0deg, @base 0%, transparent 100%) !important; + } + + /* Toasts */ + --comp-toast-color-background-default: @overlay2; + + /* SaveButton */ + [data-test-id="SaveButton"] > [class^="SaveButton"] { + // Your saved ideas pins "Save" button + background-color: var(--sema-color-background-primary); + &:hover { + background-color: var(--sema-color-hover-background-primary); + } + } + } +} diff --git a/styles/pinterest/preview.webp b/styles/pinterest/preview.webp deleted file mode 100644 index 0ce2a8d5e5..0000000000 --- a/styles/pinterest/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cf40c53dbf0111adaad7f35fc7e5152135d55e5fdead4dfd2dc0c6da7a97812 -size 572986 diff --git a/styles/planet-minecraft/README.md b/styles/planet-minecraft/README.md index 0fc04123c6..c44ac5bc36 100644 --- a/styles/planet-minecraft/README.md +++ b/styles/planet-minecraft/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Amelia Rose](https://github.com/Nyameliaaaa) +- [Nyameliaaaa](https://github.com/Nyameliaaaa)   diff --git a/styles/planet-minecraft/catppuccin.user.css b/styles/planet-minecraft/catppuccin.user.less similarity index 62% rename from styles/planet-minecraft/catppuccin.user.css rename to styles/planet-minecraft/catppuccin.user.less index 7cbf0df7b3..4b251da78f 100644 --- a/styles/planet-minecraft/catppuccin.user.css +++ b/styles/planet-minecraft/catppuccin.user.less @@ -2,8 +2,8 @@ @name Planet Minecraft Catppuccin @namespace github.com/catppuccin/userstyles/styles/planet-minecraft @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/planet-minecraft -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/planet-minecraft/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/planet-minecraft/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aplanet-minecraft @description Soothing pastel theme for Planet Minecraft @author Catppuccin @@ -15,56 +15,19 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("planetminecraft.com") { [data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - [data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --body-bg: @crust; --header-bg: @base; @@ -73,10 +36,10 @@ --menu-bg: @surface0; --menu-color: @subtext1; --menu-selected-bg: @surface1; - --menu-selected-color: @accent-color; + --menu-selected-color: @accent; --footer-bg: @mantle; --bg-navbar: @mantle; - --tab-selected: @accent-color; + --tab-selected: @accent; --input-bg: @surface0; --dark-mid-bg: @base; --title-color: @text; @@ -84,13 +47,13 @@ --text-color-medium: @subtext0; --text-color-light: @subtext1; --border-color: @base; - --footer-a-color: @accent-color; - --nav-hover: @accent-color; + --footer-a-color: @accent; + --nav-hover: @accent; --stat-color: @red; - --a-color: @accent-color; - --a-hover: @accent-color; - --a-selected: fade(@accent-color, 80%); - --tab-hover: fade(@accent-color, 80%); + --a-color: @accent; + --a-hover: @accent; + --a-selected: fade(@accent, 80%); + --tab-hover: fade(@accent, 80%); --tab-color: @subtext0; --nav-color: @text; --widget-wrap-bg: @mantle; @@ -107,23 +70,23 @@ --notice-bg: @overlay0; --notice-color: @text; --menu-disabled-color: @crust; - --control-bg: @accent-color; - --a-visited: @accent-color; + --control-bg: @accent; + --a-visited: @accent; --nav-bar-border: none; --feed-alt-bg: @surface1; - --nav-selected: @accent-color; + --nav-selected: @accent; .tab_options > ul > li.currentpage, .tab_options > ul > li.ui-state-active, .tab_options > ul > li:hover { - border-bottom-color: @accent-color; + border-bottom-color: @accent; } .site_btn_secondary { color: @subtext1; background: @surface1; &:hover { - color: @accent-color; + color: @accent; background: fade(@surface1, 80%); } } @@ -136,14 +99,14 @@ .vert_menu > ul > li:only-child > a.current_select, .vert_menu > ul > li > a.current_select { color: @base; - background: @accent-color; + background: @accent; &:not(:disabled, [data-disabled="disabled"]):hover { - background: fade(@accent-color, 80%); + background: fade(@accent, 80%); } } #profile-bar #profile-actions .togglable.selected { - background: @accent-color; + background: @accent; color: @base; } @@ -152,7 +115,7 @@ } /* because the icons on the display mode buttons are white, we cant have white base here, so we improvise for latte */ - & when (@lookup = latte) { + & when (@flavor = latte) { #display_modes a { background: @text !important; box-shadow: none !important; @@ -184,7 +147,7 @@ } color: @text !important; - background: @accent-color !important; + background: @accent !important; } .content-actions li .material-icons { @@ -192,7 +155,7 @@ } } - & when not (@lookup = latte) { + & when not(@flavor = latte) { #display_modes a { background: @base !important; box-shadow: none !important; @@ -201,7 +164,7 @@ #display_modes a.selected, #display_modes a:hover { - background: @accent-color; + background: @accent; } .navigation-wrap .navmenu a { @@ -310,7 +273,7 @@ } #popular-reel .caption { - & when (@lookup = latte) { + & when (@flavor = latte) { background: fade(@text, 50%) !important; .pop-title { @@ -324,7 +287,7 @@ } } - & when not (@lookup = latte) { + & when not(@flavor = latte) { background: fade(@base, 50%) !important; .pop-title { @@ -353,9 +316,9 @@ .content-actions li .link:hover, .content-actions li a:hover { .material-icons { - color: @accent-color !important; + color: @accent !important; } - color: @accent-color !important; + color: @accent !important; background: @surface1 !important; } @@ -374,17 +337,7 @@ input:focus, select:focus, textarea:focus { - border-color: @accent-color; + border-color: @accent; } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/planet-minecraft/preview.webp b/styles/planet-minecraft/preview.webp deleted file mode 100644 index e3a6af5c31..0000000000 --- a/styles/planet-minecraft/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08d8e3590149e8449d943c71cb085d7b54e3324640909b5c2f7b2d17c0eba719 -size 496642 diff --git a/styles/poe/README.md b/styles/poe/README.md new file mode 100644 index 0000000000..b50cfb329d --- /dev/null +++ b/styles/poe/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Poe + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [TheAnonymousCrusher](https://github.com/TheAnonymousCrusher) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/poe/catppuccin.user.less b/styles/poe/catppuccin.user.less new file mode 100644 index 0000000000..9264714345 --- /dev/null +++ b/styles/poe/catppuccin.user.less @@ -0,0 +1,122 @@ +/* ==UserStyle== +@name Poe Catppuccin +@namespace github.com/catppuccin/userstyles/styles/poe +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/poe +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/poe/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apoe +@description Soothing pastel theme for Poe +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +// Using `url-prefix `instead of `domain` prevents a broken theme on the Help Center (https://help.poe.com/). +@-moz-document url-prefix("https://poe.com") { + :root:not(.dark, .light) { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root { + &.dark { + #catppuccin(@darkFlavor); + } + &.light { + #catppuccin(@lightFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --pdl-bg-base: @mantle; + --pdl-bg-faint: @base; + --pdl-bg-muted: @surface0; + --pdl-bg-subtle: @surface1; + --pdl-bg-emphasis: @surface2; + + --pdl-fg-base: @text; + --pdl-fg-muted: @subtext1; + --pdl-fg-subtle: @subtext0; + + --pdl-bg-reverse: @text; + --pdl-fg-reverse: @base; + + --pdl-border-base: @surface1; + --pdl-border-emphasis: @overlay0; + + --pdl-accent-base: @accent; + --pdl-accent-on-accent: @base; + --pdl-fg-white: @base; + + --code-block-bg: @base; + + --pdl-error-base: @red; + + --pdl-success-base: @green; + --pdl-success-muted: fade(@green, 60%); + --pdl-success-on-success: @base; + + // Settings + --pdl-action-default-bg: @mantle; + --pdl-action-disabled-bg: @surface0; + --pdl-action-default-border: @surface2; + --pdl-action-hover-border: @overlay0; + --pdl-action-hover-border-accent: @accent; + --pdl-action-default-fg: @text; + --pdl-action-disabled-fg: @overlay2; + --violet-9: @accent; + --violet-10: @accent; + --violet-11: @accent; + --ruby-10: @red; // danger button text + --ruby-11: @red; // danger button hover text + + textarea { + color: @text; + } + + [class^="Tooltip_root"] { + --pdl-tooltip-bg: @surface0; + --pdl-tooltip-color: @text; + } + + // API + ul[data-pdl-sidebar-menu] { + li[data-pdl-sidebar-menu-item] { + --item-active-bg-color: @surface0; + --item-hover-bg-color: @surface1; + } + } + + // Login + --fade-bottom-gradual: linear-gradient( + to bottom, + transparent 0%, + fade(@crust, 50%) 60%, + @mantle 90%, + @mantle 100% + ); + --fg-base--ignore-light-mode: @text; + + // Logo (Login, Chat) + img[src^="https://psc2.cf2.poecdn.net/assets/_next/static/media/poeFullMultibot"], + img[src^="https://psc2.cf2.poecdn.net/assets/_next/static/media/poeFullWhiteMultibot"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } +} diff --git a/styles/porkbun/README.md b/styles/porkbun/README.md index af29f6b533..cd963eb75e 100644 --- a/styles/porkbun/README.md +++ b/styles/porkbun/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/porkbun/catppuccin.user.css b/styles/porkbun/catppuccin.user.less similarity index 55% rename from styles/porkbun/catppuccin.user.css rename to styles/porkbun/catppuccin.user.less index b33571d7a7..65de0823f0 100644 --- a/styles/porkbun/catppuccin.user.css +++ b/styles/porkbun/catppuccin.user.less @@ -2,8 +2,8 @@ @name Porkbun Catppuccin @namespace github.com/catppuccin/userstyles/styles/porkbun @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/porkbun -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/porkbun/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/porkbun/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aporkbun @description Soothing pastel theme for Porkbun @author Catppuccin @@ -15,59 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('porkbun.com') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("porkbun.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); &, body { @@ -79,11 +41,11 @@ --porkbun_danger: @red; --porkbun_warning: @yellow; --porkbun_success: @green; - --porkbun_pink_hover: darken(@accent-color, 5%); - --porkbun_pink: @accent-color; + --porkbun_pink_hover: darken(@accent, 5%); + --porkbun_pink: @accent; --porkbun_gold: @yellow; - --porkbun_pink_light: lighten(@accent-color, 5%); - --porkbun_pink_medium: @accent-color; + --porkbun_pink_light: lighten(@accent, 5%); + --porkbun_pink_medium: @accent; --porkbun_dark_gray: @text; --porkbun_light_gray: @surface0; --porkbun_medium_gray: @overlay1; @@ -149,10 +111,10 @@ background-color: transparent; .hsds-beacon button { - background-color: @accent-color; + background-color: @accent; - &:hover { - background-color: darken(@accent-color, 5%); + [class*="FabButtoncss__FabBackgroundUI"] > svg { + fill: @accent; } > span { @@ -178,12 +140,12 @@ } .btn-primary { - background-color: @accent-color; - border-color: @accent-color; + background-color: @accent; + border-color: @accent; color: @crust; &:hover { - background-color: darken(@accent-color, 5%); + background-color: darken(@accent, 5%); } } @@ -248,6 +210,10 @@ background-color: @mantle; color: @text; border-color: @surface0; + + &:focus { + box-shadow: 0 0 8px fade(@accent, 50%); + } } select:not([multiple]) { @@ -302,7 +268,7 @@ #headerBrandLogo, #footerLogo { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -386,13 +352,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/porkbun/preview.webp b/styles/porkbun/preview.webp deleted file mode 100644 index 1c147df05b..0000000000 --- a/styles/porkbun/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b45a89d3fd467d6320b49d11dcbd035637ad542364862ac5beacb7989e2efedc -size 90800 diff --git a/styles/pronouns.cc/README.md b/styles/pronouns.cc/README.md new file mode 100644 index 0000000000..c684be57a8 --- /dev/null +++ b/styles/pronouns.cc/README.md @@ -0,0 +1,37 @@ + + + +

+ Logo
+ + Catppuccin for pronouns.cc + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [comfysage](https://github.com/comfysage) + +## ๐Ÿ’– Past Maintainer +- [NeonGamerBot-QK](https://github.com/NeonGamerBot-QK) + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/pronouns.cc/catppuccin.user.less b/styles/pronouns.cc/catppuccin.user.less new file mode 100644 index 0000000000..12cd181a74 --- /dev/null +++ b/styles/pronouns.cc/catppuccin.user.less @@ -0,0 +1,230 @@ +/* ==UserStyle== +@name pronouns.cc Catppuccin +@namespace github.com/catppuccin/userstyles/styles/pronouns.cc +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pronouns.cc +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pronouns.cc/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apronouns.cc +@description Soothing pastel theme for pronouns.cc +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("pronouns.cc") { + :root[data-bs-theme="dark"] { + #catppuccin(@darkFlavor); + .bg-dark { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-lightt-rgb), + var(--bs-bg-opacity) + ) !important; + } + } + :root[data-bs-theme="light"] { + #catppuccin(@lightFlavor); + .bg-light { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-darkk-rgb), + var(--bs-bg-opacity) + ) !important; + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + .form-floating input::placeholder { + color: transparent !important; + } + .form-control:focus { + border-color: @accent; + box-shadow: 0 0 0 0.25rem fade(@accent, 25%); + } + --bs-border-color: @surface1; + --bs-border-color-translucent: @surface0; + .modal { + --bs-modal-bg: @crust; + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-footer-border-color: var(--bs-border-color); + } + .dropdown-menu { + --bs-dropdown-link-active-color: @crust; + --bs-dropdown-link-active-bg: @accent; + } + .toast { + --bs-toast-color: @text; + background-color: darken(@surface0, 5%); + } + .toast-header { + color: @text; + background-color: @surface0; + } + .toast-body { + color: @text; + } + --bs-badge-color: @text; + --bs-body-color: @text; + --bs-body-color-rgb: #lib.rgbify(@text)[]; + --bs-body-bg: @crust; + --bs-darkk-rgb: #lib.rgbify(@base); + --bs-lightt-rgb: #lib.rgbify(@base); + --bs-emphasis-color: @accent; + --bs-emphasis-color-rgb: #lib.rgbify(@accent)[]; + --bs-secondary-color: @subtext0; + --bs-secondary-color-rgb: @subtext0; + --bs-secondary-bg: @base; + --bs-secondary-bg-rgb: #lib.rgbify(@base)[]; + --bs-tertiary-color: @subtext1; + --bs-tertiary-color-rgb: @subtext1; + --bs-tertiary-bg: @surface0; + --bs-tertiary-bg-rgb: #lib.rgbify(@surface0)[]; + --bs-primary-text-emphasis: @accent; + --bs-secondary-text-emphasis: @subtext1; + --bs-success-text-emphasis: @green; + --bs-info-text-emphasis: @teal; + --bs-warning-text-emphasis: @yellow; + --bs-danger-text-emphasis: @red; + --bs-light-text-emphasis: @subtext0; + --bs-primary-bg-subtle: @mantle; + --bs-secondary-bg-subtle: @base; + --bs-primary-border-subtle: @blue; + --bs-secondary-border-subtle: @overlay0; + --bs-success-border-subtle: @green; + --bs-info-border-subtle: @teal; + --bs-warning-border-subtle: @yellow; + --bs-danger-border-subtle: @red; + --bs-light-border-subtle: @overlay1; + --bs-dark-border-subtle: @surface1; + --bs-heading-color: inherit; + --bs-link-color: @accent; + --bs-link-color-rgb: #lib.rgbify(@accent)[]; + --bs-link-hover-color: @accent; + --bs-link-hover-color-rgb: #lib.rgbify(@accent)[]; + + --bs-code-color: @pink; + --bs-highlight-color: @rosewater; + .list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: var(--bs-body-bg); + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); + --bs-list-group-action-active-color: var(--bs-body-color); + --bs-list-group-action-active-bg: var(--bs-secondary-bg); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: var(--bs-body-bg); + --bs-list-group-active-color: @base; + --bs-list-group-active-bg: @accent; + --bs-list-group-active-border-color: @accent; + border-radius: var(--bs-list-group-border-radius); + } + // navbar + .navbar { + --bs-navbar-color: @subtext0; + --bs-navbar-hover-color: @subtext0; + --bs-navbar-disabled-color: @subtext1; + --bs-navbar-active-color: @text !important; + --bs-navbar-brand-color: @text !important; + --bs-navbar-brand-hover-color: @text !important; + --bs-navbar-toggler-border-color: @surface0; + } + #colorizedButton( + @color, + @bg, + @border: @bg, + @hv-color: @color, + @hv-bg: darken(@bg, 5%), + @hv-border: @hv-bg, + ) { + --bs-btn-color: @color; + --bs-btn-bg: @bg; + --bs-btn-border-color: @border; + + --bs-btn-hover-color: @hv-color; + --bs-btn-hover-bg: @hv-bg; + --bs-btn-hover-border-color: @hv-border; + + --bs-btn-active-color: @hv-color; + --bs-btn-active-bg: @hv-bg; + --bs-btn-active-border-color: @hv-border; + + --bs-btn-focus-shadow-rgb: #lib.rgbify(@bg)[]; + --bs-btn-disabled-color: @color; + --bs-btn-disabled-bg: @bg; + --bs-btn-disabled-border-color: @border; + } + #coloredButton(@color) { + #colorizedButton( + @crust, + @color, + @color, + @hv-color: @crust, + lighten(@color, 10%), + ); + } + //buttons + .btn-primary { + #colorizedButton( + @base, + @accent, + @hv-bg: lighten(@accent, 10%), + ); + } + .btn-secondary { + #colorizedButton(@text, @surface0, @hv-bg: @surface1); + } + .btn-outline-secondary { + #colorizedButton(@surface1, transparent, @surface1, @subtext0, @surface1); + } + .btn-success { + #coloredButton(@green); + } + .btn-info { + #coloredButton(@teal); + } + .btn-warning { + #coloredButton(@yellow); + } + .btn-danger { + #coloredButton(@red); + } + .form-control { + &::-webkit-file-upload-button, + &::file-selector-button { + background-color: @base; + } + &:hover:not(:disabled, [readonly]) { + &::-webkit-file-upload-button, + &::file-selector-button { + background-color: @surface0; + } + } + } + .btn-close-white, + .btn-close { + --bs-btn-close-color: @surface0; + @svg: escape( + '' + ); + --bs-btn-close-bg: url("data:image/svg+xml,@{svg}"); + --bs-btn-close-opacity: 1; + } + .navbar-toggler-icon { + @svg: escape( + '' + ); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,@{svg}"); + } + } +} diff --git a/styles/pronouns.page/README.md b/styles/pronouns.page/README.md index 4eff7855c4..febd9e2fd9 100644 --- a/styles/pronouns.page/README.md +++ b/styles/pronouns.page/README.md @@ -4,19 +4,18 @@

Logo
- Catppuccin for Pronouns.page + Catppuccin for Pronouns.page

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/pronouns.page/catppuccin.user.css b/styles/pronouns.page/catppuccin.user.less similarity index 57% rename from styles/pronouns.page/catppuccin.user.css rename to styles/pronouns.page/catppuccin.user.less index ca8c063c34..6e2bcddaa3 100644 --- a/styles/pronouns.page/catppuccin.user.css +++ b/styles/pronouns.page/catppuccin.user.less @@ -2,8 +2,8 @@ @name Pronouns.page Catppuccin @namespace github.com/catppuccin/userstyles/styles/pronouns.page @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pronouns.page -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pronouns.page/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pronouns.page/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apronouns.page @description Soothing pastel theme for Pronouns.page @author Catppuccin @@ -15,72 +15,45 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('pronouns.page') { +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("pronouns.page"), + domain("pronomen.net"), + domain("pronombr.es"), + domain("pronomejo.net"), + domain("fornovn.fo"), + domain("pronoms.fr"), + domain("pronom.it"), + domain("zaimki.pl") { body:not([data-theme="dark"]) { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } body[data-theme="dark"], body[data-theme="dark"]:not(.reduced-colours) { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); - background-color: @base !important; + background: @base; color: @text !important; --bs-body-color: @text; --bs-body-bg: @base; - --bs-white-rgb: #rgbify(@crust) []; - --bs-primary-rgb: #rgbify(@accent-color) []; - --bs-secondary-rgb: #rgbify(@overlay0) []; + --bs-white-rgb: #lib.rgbify(@crust)[]; + --bs-primary-rgb: #lib.rgbify(@accent)[]; + --bs-secondary-rgb: #lib.rgbify(@overlay0)[]; --bs-secondary-color: @subtext0; --bs-tertiary-bg: @crust; --bs-success-text-emphasis: @green; + --bs-success-rgb: #lib.rgbify(@green)[]; --bs-info-text-emphasis: @sapphire; --bs-warning-text-emphasis: @yellow; --bs-danger-text-emphasis: @red; + --bs-danger-rgb: #lib.rgbify(@red)[]; --bs-light-text-emphasis: @text; --bs-dark-text-emphasis: @subtext1; --bs-heading-color: @text; @@ -93,19 +66,19 @@ .btn-primary { color: @crust; - --bs-btn-bg: @accent-color; + --bs-btn-bg: @accent; } .btn-primary, .btn-outline-primary { - --bs-btn-hover-bg: @accent-color; - --bs-btn-border-color: @accent-color; - --bs-btn-hover-border-color: @accent-color; - --bs-btn-active-bg: @accent-color; - --bs-btn-active-border-color: @accent-color; - --bs-btn-disabled-color: @accent-color; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: @accent-color; + --bs-btn-hover-bg: @accent; + --bs-btn-border-color: @accent; + --bs-btn-hover-border-color: @accent; + --bs-btn-active-bg: @accent; + --bs-btn-active-border-color: @accent; + --bs-btn-disabled-color: @accent; + --bs-btn-disabled-bg: darken(@accent, 5%); + --bs-btn-disabled-border-color: @accent; } .btn-outline-primary { @@ -209,20 +182,24 @@ } .btn-square { - background-color: @accent-color !important; + background-color: @accent !important; } /* Inputs */ .form-check-input:checked { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; } .form-control { color: @text; background-color: @mantle; border-color: @surface0; + + &:focus { + box-shadow: 0 0 0 0.25rem fade(@accent, 50%); + } } .dropdown-menu { @@ -240,39 +217,23 @@ } } - .vdp-datepicker__calendar { - background-color: @crust; - border-color: @surface0; - - .disabled { - color: @subtext0; - } - - .prev::after { - border-right-color: @text; - } - .next::after { - border-left-color: @text; - } - - header span:not(.disabled):hover { - background-color: @text; + /* Date/calendar input */ + .dp__theme_dark, .dp__theme_light { + --dp-primary-color: @accent; + --dp-text-color: @text; + --dp-hover-text-color: @text; + --dp-background-color: @surface0; + --dp-hover-color: @surface1; + --dp-disabled-color: @surface2; + --dp-icon-color: @subtext0; + --dp-hover-icon-color: @subtext1; + --dp-secondary-color: @subtext0; + + .dp__overlay_cell_active, + .dp__active_date, + .dp__range_end, + .dp__range_start { color: @crust; - - &.prev::after { - border-right-color: @crust; - } - &.next::after { - border-left-color: @crust; - } - } - - .cell.selected { - background-color: @accent-color; - color: @crust; - } - .cell:not(.blank, .disabled):hover { - border-color: @accent-color; } } @@ -282,7 +243,7 @@ color: @text !important; &:hover { - color: @accent-color !important; + color: @accent !important; } } @@ -290,12 +251,12 @@ border-color: @surface0; &:hover { - border-bottom-color: @accent-color !important; + border-bottom-color: @accent !important; } &.btn.active, &.btn:hover { - border-bottom-color: @accent-color !important; + border-bottom-color: @accent !important; } } @@ -305,8 +266,8 @@ &:hover, &.active { - color: lighten(@accent-color, 5%) !important; - border-inline-start-color: @accent-color !important; + color: lighten(@accent, 5%) !important; + border-inline-start-color: @accent !important; } } @@ -336,7 +297,7 @@ /* Calendar */ .list-group-flare > :first-child { - border-top-color: @accent-color !important; + border-top-color: @accent !important; } .list-group-item { color: @text !important; @@ -344,10 +305,10 @@ border-color: @surface0 !important; } .calendar > .day.day-event { - border-color: @accent-color; + border-color: @accent; &:hover { - background-color: darken(@accent-color, 10%) !important; + background-color: darken(@accent, 10%) !important; .day-number { color: @crust; @@ -356,7 +317,7 @@ } &.day-event-1 { - background-color: @accent-color; + background-color: @accent; color: @crust; } } @@ -369,8 +330,8 @@ } .page-item.active .page-link { color: @crust; - background-color: @accent-color; - border-color: @accent-color; + background-color: @accent; + border-color: @accent; } .page-item.disabled .page-link { color: @text; @@ -402,8 +363,8 @@ .colour-default { color: @text !important; } - .colour-pink { - color: @accent-color !important; + .colour-pink, .text-primary { + color: @accent !important; } .colour-orange { color: @peach !important; @@ -426,7 +387,7 @@ } .nav-pills { - --bs-nav-pills-link-active-bg: @accent-color; + --bs-nav-pills-link-active-bg: @accent; --bs-nav-pills-link-active-color: @crust; } @@ -439,22 +400,22 @@ } a { - color: @accent-color; + color: @accent; - &:hover { - color: lighten(@accent-color, 5%); + &:not(.nav-link.active):hover { + color: lighten(@accent, 5%); } } code { color: @crust; - background-color: @accent-color; + background-color: @accent; border-color: transparent; } /* Share QR code */ [fill="#ff95bb"] { - fill: @accent-color; + fill: @accent; } mark, @@ -464,17 +425,3 @@ } } } - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/pronouns.page/preview.webp b/styles/pronouns.page/preview.webp deleted file mode 100644 index e22bf7fdbd..0000000000 --- a/styles/pronouns.page/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ffcecd79b864a506bd6b1b4b9929f1976ff5f0bf2e2343dbe649a860d6e670a -size 91268 diff --git a/styles/proton/README.md b/styles/proton/README.md index b183c1c5a3..d790706efb 100644 --- a/styles/proton/README.md +++ b/styles/proton/README.md @@ -4,27 +4,24 @@

Logo
- Catppuccin for Proton + Catppuccin for Proton

- -

- -

- +

## Usage -> [!NOTE] -> Set Proton Mail's built-in theme to 'Snow' if you're using Latte or 'Carbon' if you're using the others. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> Set Proton Mail's built-in theme to 'Snow' if you're using Latte or 'Carbon' if you're using the others. ## ๐Ÿ’ Current Maintainer -- [soya_daizu](https://github.com/soya-daizu) +- [soya-daizu](https://github.com/soya-daizu)   diff --git a/styles/proton/catppuccin.user.css b/styles/proton/catppuccin.user.css deleted file mode 100644 index 6fd106d959..0000000000 --- a/styles/proton/catppuccin.user.css +++ /dev/null @@ -1,254 +0,0 @@ -/* ==UserStyle== -@name Proton Catppuccin -@namespace github.com/catppuccin/userstyles/styles/proton -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/proton -@version 0.1.7 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/proton/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aproton -@description Soothing pastel theme for Proton -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document regexp("https://(account|mail|drive|calendar).proton.me/.*$") -{ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - svg.logo { - @accentH: hue(@accent-color); - @protonH: hue(#6d4aff); - - .replaceColor(@org, @property) { - &[@{property}="@{org}"] { - @hDiff: @protonH - hue(@org); - @{property}: hsl( - @accentH - @hDiff, - saturation(@org) - 30%, - lightness(@org) - ); - } - } - - /* prettier-ignore */ - > path { - .replaceColor(#B8D7FF, fill); - .replaceColor(#8F69FF, fill); - } - - /* prettier-ignore */ - > defs stop { - .replaceColor(#E3D9FF, stop-color); - .replaceColor(#7341FF, stop-color); - .replaceColor(#6D4AFF, stop-color); - .replaceColor(#AA8EFF, stop-color); - .replaceColor(#06B8FF, stop-color); - .replaceColor(#BFE8FF, stop-color); - .replaceColor(#BFABFF, stop-color); - .replaceColor(#FF50C3, stop-color); - .replaceColor(#B487FF, stop-color); - .replaceColor(#FFC8FF, stop-color); - .replaceColor(#8EFFEE, stop-color); - .replaceColor(#C9C7FF, stop-color); - .replaceColor(#00F0C3, stop-color); - .replaceColor(#FFD580, stop-color); - .replaceColor(#F6C592, stop-color); - .replaceColor(#EBB6A2, stop-color); - .replaceColor(#DFA5AF, stop-color); - .replaceColor(#D397BE, stop-color); - .replaceColor(#C486CB, stop-color); - .replaceColor(#B578D9, stop-color); - .replaceColor(#A166E5, stop-color); - .replaceColor(#8B57F2, stop-color); - .replaceColor(#704CFF, stop-color); - .replaceColor(#B39FFB, stop-color); - .replaceColor(#FFE8DB, stop-color); - } - } - - &, - .ui-prominent, - .ui-standard { - #lightenOrDarken(@color, @value) { - @result: if( - @lookup=latte, - lighten(@color, @value), - darken(@color, @value) - ); - } - - --primary: @accent-color; - --primary-contrast: @mantle; - --signal-danger-minor-2: #lightenOrDarken(@maroon, 40%) [ @result]; - --signal-danger-minor-1: #lightenOrDarken(@maroon, 30%) [ @result]; - --signal-danger: @maroon; - --signal-danger-major-1: saturate(@maroon, 40%); - --signal-danger-major-2: saturate(@maroon, 30%); - --signal-danger-major-3: saturate(@maroon, 20%); - --signal-danger-contrast: @mantle; - --signal-warning-minor-2: #lightenOrDarken(@peach, 40%) [ @result]; - --signal-warning-minor-1: #lightenOrDarken(@peach, 30%) [ @result]; - --signal-warning: @peach; - --signal-warning-major-1: saturate(@peach, 40%); - --signal-warning-major-2: saturate(@peach, 30%); - --signal-warning-major-3: saturate(@peach, 20%); - --signal-warning-contrast: @mantle; - --signal-success-minor-2: #lightenOrDarken(@green, 40%) [ @result]; - --signal-success-minor-1: #lightenOrDarken(@green, 30%) [ @result]; - --signal-success: @green; - --signal-success-major-1: saturate(@green, 40%); - --signal-success-major-2: saturate(@green, 30%); - --signal-success-major-3: saturate(@green, 20%); - --signal-success-contrast: @mantle; - --signal-info-minor-2: #lightenOrDarken(@blue, 40%) [ @result]; - --signal-info-minor-1: #lightenOrDarken(@blue, 30%) [ @result]; - --signal-info: @blue; - --signal-info-major-1: saturate(@blue, 40%); - --signal-info-major-2: saturate(@blue, 30%); - --signal-info-major-3: saturate(@blue, 20%); - --signal-info-contrast: @mantle; - --interaction-norm-minor-2: #lightenOrDarken(@accent-color, 40%) [ - @result]; - --interaction-norm-minor-1: #lightenOrDarken(@accent-color, 30%) [ - @result]; - --interaction-norm: @accent-color; - --interaction-norm-major-1: saturate(@accent-color, 30%); - --interaction-norm-major-2: saturate(@accent-color, 20%); - --interaction-norm-major-3: saturate(@accent-color, 10%); - --interaction-norm-contrast: @mantle; - --interaction-weak-minor-2: darken(@surface0, 50%); - --interaction-weak-minor-1: darken(@surface0, 30%); - --interaction-weak: @surface0; - --interaction-weak-major-1: lighten(@surface0, 10%); - --interaction-weak-major-2: lighten(@surface0, 20%); - --interaction-weak-major-3: lighten(@surface0, 30%); - --interaction-weak-contrast: @text; - --text-norm: @text; - --text-weak: @subtext0; - --text-hint: @subtext1; - --text-disabled: @overlay1; - --text-invert: @crust; - --field-norm: @overlay2; - --field-hover: @overlay1; - --field-disabled: @overlay0; - --field-focus: @accent-color; - --field-highlight: fadeout(@accent-color, 30%); - --focus-outline: @accent-color; - --focus-ring: fadeout(@accent-color, 60%); - --border-norm: @overlay0; - --border-weak: @overlay1; - --background-norm: @base; - --background-weak: @mantle; - --background-strong: @crust; - --background-invert: @text; - --interaction-default: transparent; - --interaction-default-hover: fadeout(@overlay1, 80%); - --interaction-default-active: fadeout(@overlay1, 60%); - --shadow-norm-opacity: 0.5; - --shadow-lifted-opacity: 0.75; - --backdrop-norm: fadeout(@crust, 50%); - --optional-scrollbar-thumb-color: @surface0; - --optional-scrollbar-thumb-hover-color: @surface2; - --optional-link-norm: var(--interaction-norm-major-1); - --optional-link-hover: var(--interaction-norm-major-2); - --optional-link-active: var(--interaction-norm-major-3); - --optional-background-elevated: @surface0; - --optional-background-lowered: var(--background-norm); - --optional-email-item-unread-background-color: var(--background-weak); - --optional-email-item-read-background-color: var(--background-norm); - --optional-email-item-read-text-color: var(--text-weak); - --optional-mini-calendar-today-color: @text; - --optional-logo-text-proton-color: @text; - --optional-logo-text-product-color: @text; - --favorite-icon-color: @peach; - } - - .ui-prominent { - --background-norm: @mantle; - --background-weak: @base; - --background-strong: @crust; - } - - .button-promotion { - --upgrade-color-stop-1: @red; - --upgrade-color-stop-2: @blue; - } - - .item-container-row:not(.item-is-selected):hover, - .item-container:not(.item-is-selected):hover { - box-shadow: none; - background-color: var(--navigation-current-item-background-color); - color: var(--email-item-unread-text-color); - } - - .message-content:not(.plain) .message-iframe iframe { - color-scheme: light; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/proton/catppuccin.user.less b/styles/proton/catppuccin.user.less new file mode 100644 index 0000000000..4a4b419865 --- /dev/null +++ b/styles/proton/catppuccin.user.less @@ -0,0 +1,316 @@ +/* ==UserStyle== +@name Proton Catppuccin +@namespace github.com/catppuccin/userstyles/styles/proton +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/proton +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/proton/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aproton +@description Soothing pastel theme for Proton +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp( + "https://(account|mail|drive|calendar|lumo).proton.me/.*$" + ) { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + svg.logo { + @accentH: hue(@accent); + @protonH: hue(#6d4aff); + + .replaceColor(@org, @property) { + &[@{property}="@{org}"] { + @hDiff: @protonH - hue(@org); + @{property}: hsl( + @accentH - @hDiff, + saturation(@org) - 30%, + lightness(@org) + ); + } + } + + /* deno-fmt-ignore */ + path { + .replaceColor(#B8D7FF, fill); + .replaceColor(#8F69FF, fill); + .replaceColor(#6D4AFF, fill); + .replaceColor(#FFBB93, fill); + .replaceColor(#85D4F5, fill); + .replaceColor(#D6F1FC, fill); + } + + /* deno-fmt-ignore */ + defs stop { + .replaceColor(#E3D9FF, stop-color); + .replaceColor(#7341FF, stop-color); + .replaceColor(#6D4AFF, stop-color); + .replaceColor(#AA8EFF, stop-color); + .replaceColor(#06B8FF, stop-color); + .replaceColor(#BFE8FF, stop-color); + .replaceColor(#BFABFF, stop-color); + .replaceColor(#FF50C3, stop-color); + .replaceColor(#B487FF, stop-color); + .replaceColor(#FFC8FF, stop-color); + .replaceColor(#8EFFEE, stop-color); + .replaceColor(#C9C7FF, stop-color); + .replaceColor(#00F0C3, stop-color); + .replaceColor(#FFD580, stop-color); + .replaceColor(#F6C592, stop-color); + .replaceColor(#EBB6A2, stop-color); + .replaceColor(#DFA5AF, stop-color); + .replaceColor(#D397BE, stop-color); + .replaceColor(#C486CB, stop-color); + .replaceColor(#B578D9, stop-color); + .replaceColor(#A166E5, stop-color); + .replaceColor(#8B57F2, stop-color); + .replaceColor(#704CFF, stop-color); + .replaceColor(#B39FFB, stop-color); + .replaceColor(#FFE8DB, stop-color); + .replaceColor(#957AFD, stop-color); + .replaceColor(#FFC6C6, stop-color); + .replaceColor(#FA528E, stop-color); + .replaceColor(#FF8065, stop-color); + .replaceColor(#FFA51F, stop-color); + .replaceColor(#34B8EE, stop-color); + } + } + + &, + .ui-prominent, + .ui-standard { + #lightenOrDarken(@color, @value) { + @result: if( + @flavor = latte, + lighten(@color, @value), + darken(@color, @value) + ); + } + + #darkenOrLighten(@color, @value) { + @result: if( + @flavor = latte, + darken(@color, @value), + lighten(@color, @value) + ); + } + + --primary-minor-2: #lightenOrDarken(@accent, 60%)[]; + --primary-minor-1: #lightenOrDarken(@accent, 50%)[]; + --primary: @accent; + --primary-major-1: #darkenOrLighten(@accent, 4%)[]; + --primary-major-2: #darkenOrLighten(@accent, 8%)[]; + --primary-major-3: #darkenOrLighten(@accent, 12%)[]; + --primary-contrast: @mantle; + --signal-danger-minor-2: #lightenOrDarken(@maroon, 40%)[]; + --signal-danger-minor-1: #lightenOrDarken(@maroon, 30%)[]; + --signal-danger: @maroon; + --signal-danger-major-1: #darkenOrLighten(@maroon, 4%)[]; + --signal-danger-major-2: #darkenOrLighten(@maroon, 8%)[]; + --signal-danger-major-3: #darkenOrLighten(@maroon, 12%)[]; + --signal-danger-contrast: @mantle; + --signal-warning-minor-2: #lightenOrDarken(@peach, 40%)[]; + --signal-warning-minor-1: #lightenOrDarken(@peach, 30%)[]; + --signal-warning: @peach; + --signal-warning-major-1: #darkenOrLighten(@peach, 4%)[]; + --signal-warning-major-2: #darkenOrLighten(@peach, 8%)[]; + --signal-warning-major-3: #darkenOrLighten(@peach, 12%)[]; + --signal-warning-contrast: @mantle; + --signal-success-minor-2: #lightenOrDarken(@green, 40%)[]; + --signal-success-minor-1: #lightenOrDarken(@green, 30%)[]; + --signal-success: @green; + --signal-success-major-1: #darkenOrLighten(@green, 4%)[]; + --signal-success-major-2: #darkenOrLighten(@green, 8%)[]; + --signal-success-major-3: #darkenOrLighten(@green, 12%)[]; + --signal-success-contrast: @mantle; + --signal-info-minor-2: #lightenOrDarken(@blue, 40%)[]; + --signal-info-minor-1: #lightenOrDarken(@blue, 30%)[]; + --signal-info: @blue; + --signal-info-major-1: #darkenOrLighten(@blue, 4%)[]; + --signal-info-major-2: #darkenOrLighten(@blue, 8%)[]; + --signal-info-major-3: #darkenOrLighten(@blue, 12%)[]; + --signal-info-contrast: @mantle; + --interaction-norm-minor-2: #lightenOrDarken(@accent, 40%)[]; + --interaction-norm-minor-1: #lightenOrDarken(@accent, 30%)[]; + --interaction-norm: @accent; + --interaction-norm-major-1: #darkenOrLighten(@accent, 4%)[]; + --interaction-norm-major-2: #darkenOrLighten(@accent, 8%)[]; + --interaction-norm-major-3: #darkenOrLighten(@accent, 12%)[]; + --interaction-norm-contrast: @mantle; + --interaction-weak-minor-2: #lightenOrDarken(@surface0, 20%)[]; + --interaction-weak-minor-1: #lightenOrDarken(@surface0, 10%)[]; + --interaction-weak: @surface0; + --interaction-weak-major-1: #darkenOrLighten(@surface0, 4%)[]; + --interaction-weak-major-2: #darkenOrLighten(@surface0, 8%)[]; + --interaction-weak-major-3: #darkenOrLighten(@surface0, 12%)[]; + --interaction-weak-contrast: @text; + --text-norm: @text; + --text-weak: @subtext0; + --text-hint: @subtext1; + --text-disabled: @overlay1; + --text-invert: @crust; + --text-markdown: @text; + --field-norm: @overlay2; + --field-hover: @overlay1; + --field-disabled: @overlay0; + --field-focus: @accent; + --field-highlight: fade(@accent, 70%); + --focus-outline: @accent; + --focus-ring: fade(@accent, 40%); + --link-norm: @blue; + --link-hover: @lavender; + --link-active: @sky; + --markdown-pre-background: @mantle; + --border-norm: @overlay0; + --border-weak: @surface1; + --background-norm: @base; + --background-weak: @mantle; + --background-strong: @crust; + --background-invert: @text; + --interaction-default: transparent; + --interaction-default-hover: fade(@overlay1, 20%); + --interaction-default-active: fade(@overlay1, 40%); + --shadow-primary-color: red(@accent) green(@accent) blue(@accent); + --shadow-norm-opacity: 0.5; + --shadow-raised-opacity: 1; + --shadow-lifted-opacity: 0.75; + --backdrop-norm: fade(@crust, 50%); + --optional-scrollbar-thumb-color: @surface0; + --optional-scrollbar-thumb-hover-color: @surface2; + --optional-link-norm: var(--interaction-norm-major-1); + --optional-link-hover: var(--interaction-norm-major-2); + --optional-link-active: var(--interaction-norm-major-3); + --optional-background-elevated: @surface0; + --optional-background-lowered: var(--background-norm); + --optional-email-item-unread-background-color: var(--background-weak); + --optional-email-item-read-background-color: var(--background-norm); + --optional-email-item-read-text-color: var(--text-weak); + --optional-mini-calendar-today-color: @text; + --optional-logo-text-proton-color: @text; + --optional-logo-text-product-color: @text; + --favorite-icon-color: @peach; + } + + .ui-prominent { + --background-norm: @mantle; + --background-weak: @base; + --background-strong: @crust; + } + + .button-promotion { + --upgrade-color-stop-1: @red; + --upgrade-color-stop-2: @blue; + } + + .item-container-row:not(.item-is-selected):hover, + .item-container:not(.item-is-selected):hover { + box-shadow: none; + background-color: var(--navigation-current-item-background-color); + color: var(--email-item-unread-text-color); + } + + .message-content:not(.plain) .message-iframe iframe { + color-scheme: light; + } + + @media (min-width: 28.135em) { + .sign-layout-bg { + background: linear-gradient( + 68.66deg, + desaturate(@mantle, 5%) 1.3%, + desaturate(@base, 5%) 50% + ); + } + } + + /* Proton Lumo */ + + header { + a[aria-label="Go to Lumo homepage"] img { + filter: @accent-filter; + } + } + + .whats-new-section { + background: @accent; + } + + .new-label { + background-color: @accent; + color: @crust; + } + + .lumo-sidebar { + background: @mantle; + a.lumo-plus-button svg path { + fill: @accent; + } + } + + .lumo-input-container.ghost-mode { + background-color: @crust; + --ghost-text: @text; + --ghost-text-weak: @subtext0; + .lumo-input { + background-color: @mantle; + } + } + + div[style*="background: rgb(40, 44, 52);"], + div[style*="background: rgb(250, 250, 250);"] { + background: @mantle !important; + + span { + color: @text !important; + } + + span.token[style*="color: rgb(92, 99, 112);"], + span.token[style*="color: rgb(160, 161, 167);"] { + color: @overlay2 !important; + } + + span.token[style*="color: rgb(97, 175, 239);"], + span.token[style*="color: rgb(64, 120, 242);"] { + color: @blue !important; + } + + span.token[style*="color: rgb(152, 195, 121);"], + span.token[style*="color: rgb(80, 161, 79);"] { + color: @green !important; + } + + span.token[style*="color: rgb(209, 154, 102);"], + span.token[style*="color: rgb(183, 107, 1);"] { + color: @peach !important; + } + + span.token[style*="color: rgb(198, 120, 221);"], + span.token[style*="color: rgb(166, 38, 164);"] { + color: @mauve !important; + } + + span.token[style*="color: rgb(224, 108, 117);"], + span.token[style*="color: rgb(228, 86, 73);"] { + color: @red !important; + } + } + } +} diff --git a/styles/proton/preview.webp b/styles/proton/preview.webp deleted file mode 100644 index 2c648c3f3e..0000000000 --- a/styles/proton/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:395d9b953e34e4f27451a3b7c33d4b1a4fcf3a5a0150f991bfb17134386be8d0 -size 34274 diff --git a/styles/pypi/README.md b/styles/pypi/README.md index 0b5e785d54..cc6b10919b 100644 --- a/styles/pypi/README.md +++ b/styles/pypi/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/pypi/catppuccin.user.css b/styles/pypi/catppuccin.user.less similarity index 71% rename from styles/pypi/catppuccin.user.css rename to styles/pypi/catppuccin.user.less index e3ece63c43..ced6ff7bcc 100644 --- a/styles/pypi/catppuccin.user.css +++ b/styles/pypi/catppuccin.user.less @@ -2,8 +2,8 @@ @name PyPI Catppuccin @namespace github.com/catppuccin/userstyles/styles/pypi @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pypi -@version 0.0.7 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pypi/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pypi/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apypi @description Soothing pastel theme for PyPI @author Catppuccin @@ -15,89 +15,27 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('pypi.org') { +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("pypi.org") { @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: @rosewater; - --ctp-flamingo: @flamingo; - --ctp-pink: @pink; - --ctp-mauve: @mauve; - --ctp-red: @red; - --ctp-maroon: @maroon; - --ctp-peach: @peach; - --ctp-yellow: @yellow; - --ctp-green: @green; - --ctp-teal: @teal; - --ctp-sky: @sky; - --ctp-sapphire: @sapphire; - --ctp-blue: @blue; - --ctp-lavender: @lavender; - --ctp-text: @text; - --ctp-subtext1: @subtext1; - --ctp-subtext0: @subtext0; - --ctp-overlay2: @overlay2; - --ctp-overlay1: @overlay1; - --ctp-overlay0: @overlay0; - --ctp-surface2: @surface2; - --ctp-surface1: @surface1; - --ctp-surface0: @surface0; - --ctp-base: @base; - --ctp-mantle: @mantle; - --ctp-crust: @crust; - - color-scheme: if(@lookup = latte, light, dark); + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); ::selection { - background-color: fade(@accent-color, 30%); - color: unset; - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + color: unset; // TODO: Basically another case of setting the text color in the selection, but unsetting it here. } body { @@ -115,8 +53,8 @@ &:active, &:focus, &:hover { - border-color: @accent-color !important; - box-shadow: inset 0 0 0 1px @accent-color !important; + border-color: @accent !important; + box-shadow: inset 0 0 0 1px @accent !important; } } @@ -139,6 +77,24 @@ color: @subtext0 !important; } + .project-description table { + tr { + background-color: @base !important; + } + + tr:nth-child(odd) { + background-color: @mantle !important; + } + + &, tr, th, td { + border-color: @surface0 !important; + } + } + + .verified .check { + color: @green; + } + .banner, .footer { background-color: @mantle !important; @@ -146,7 +102,7 @@ } .accordion__link { - color: @accent-color !important; + color: @accent !important; } .password-strength { @@ -155,7 +111,7 @@ .accordion__link:active, .accordion__link:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; outline-style: solid; } @@ -178,7 +134,7 @@ .footer__menu li a { &:active, &:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } } @@ -189,23 +145,23 @@ a:not(.site-header__logo, .button, .dropdown__link, .badge, .release__card), a:hover:not( - .site-header__logo, - .button, - .dropdown__link, - .badge, - .release__card - ), + .site-header__logo, + .button, + .dropdown__link, + .badge, + .release__card + ), .footer__menu li a, .footer__text a, .language-switcher ul button { - color: @accent-color !important; + color: @accent !important; } .footer__text a, .language-switcher ul button { &:active, &:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } } @@ -246,7 +202,7 @@ } .dropdown__content { - border-color: @accent-color !important; + border-color: @accent !important; box-shadow: none !important; } @@ -273,15 +229,15 @@ .horizontal-menu__link:active, .horizontal-menu__link:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } .horizontal-menu--light .horizontal-menu__link { - color: @accent-color !important; + color: @accent !important; } .horizontal-menu--light .horizontal-menu__link:hover { - text-decoration-color: @accent-color !important; + text-decoration-color: @accent !important; } .sponsors, @@ -326,10 +282,10 @@ .button--primary:active, .button--primary:focus, .button--primary:hover { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @base !important; - outline-color: @accent-color !important; + outline-color: @accent !important; } .danger { @@ -337,8 +293,8 @@ } .notification-bar { - background-color: @accent-color !important; - border-bottom-color: @accent-color !important; + background-color: @accent !important; + border-bottom-color: @accent !important; color: @base !important; } @@ -387,11 +343,11 @@ } .callout-block { - border-color: @accent-color !important; + border-color: @accent !important; } .callout-block::before { - background-color: @accent-color !important; + background-color: @accent !important; } .callout-block--danger { @@ -429,12 +385,12 @@ } .faq-group h3::before { - color: @accent-color !important; + color: @accent !important; } .badge { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; color: @base !important; } @@ -445,7 +401,7 @@ .badge:active, .badge:focus { border-color: @base !important; - outline-color: @accent-color !important; + outline-color: @accent !important; } .badge--success { @@ -476,24 +432,24 @@ .table--collaborators .table__user-text > * { background-image: linear-gradient( 90deg, - @accent-color, - @accent-color + @accent, + @accent ) !important; - color: @accent-color !important; + color: @accent !important; } .table--collaborators .table__user-text > :hover { background-image: linear-gradient( 90deg, - @accent-color, - @accent-color + @accent, + @accent ) !important; - color: @accent-color !important; + color: @accent !important; } .table--collaborators .table__user-text > :active, .table--collaborators .table__user-text > :focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } @media (max-width: 600px) { @@ -569,7 +525,7 @@ .sponsor-grid__sponsor--invitation, .sponsor-grid__sponsor--invitation:hover { - border-color: @accent-color !important; + border-color: @accent !important; } .sponsor-grid__sponsor-activity { @@ -577,16 +533,16 @@ } .sponsor-package { - border-color: @accent-color !important; + border-color: @accent !important; } .sponsor-package__header { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } .sponsor-package__icon { - background-color: @accent-color !important; + background-color: @accent !important; } .mobile-search { @@ -730,13 +686,13 @@ } .vertical-tabs__tab:hover { - color: @accent-color !important; + color: @accent !important; } .vertical-tabs__tab:active, .vertical-tabs__tab:focus { box-shadow: 0 0 0 2px @crust !important; - outline-color: @accent-color !important; + outline-color: @accent !important; } @media (max-width: 800px) { @@ -749,35 +705,38 @@ .vertical-tabs__tab--is-active, .vertical-tabs__tab--is-active:hover { background: @crust !important; - color: @accent-color !important; + color: @accent !important; } .vertical-tabs__content:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } - .verified small { - color: @subtext0 !important; + .verified, + .unverified { + small { + color: @subtext0 !important; + } } .sidebar-section .sidebar-section__user-gravatar:active, .sidebar-section .sidebar-section__user-gravatar:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } .sidebar-section__user-gravatar-text, .sidebar-section__user-gravatar-text:hover { background-image: linear-gradient( 90deg, - @accent-color, - @accent-color + @accent, + @accent ) !important; - color: @accent-color !important; + color: @accent !important; } .sidebar-section__user-gravatar-text:active, .sidebar-section__user-gravatar-text:focus { - outline-color: @accent-color !important; + outline-color: @accent !important; } .sidebar-section { @@ -829,7 +788,7 @@ .viewport-section--ee .viewport-section__heading { background-color: @base !important; - color: @accent-color !important; + color: @accent !important; } .viewport-section--ee @@ -905,7 +864,7 @@ } .filter-badge { - background-color: @accent-color; + background-color: @accent; &, .filter-badge__remove-button, @@ -914,13 +873,13 @@ } .filter-badge__remove-button { border-left-color: if( - @lookup = latte, - lighten(@accent-color, 10%), - darken(@accent-color, 5%) + @flavor = latte, + lighten(@accent, 10%), + darken(@accent, 5%) ); &:hover { - background-color: darken(@accent-color, 10%); + background-color: darken(@accent, 10%); } } } @@ -938,7 +897,7 @@ .site-header__logo img { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } @@ -960,20 +919,10 @@ .release__node[src*="blue"] { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); background-color: @mantle !important; } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/pypi/preview.webp b/styles/pypi/preview.webp deleted file mode 100644 index 80acc1fbea..0000000000 --- a/styles/pypi/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c06c06657f844e019c061a06defa8bbbc3e37e23508b4df92df4cb5284ad63a6 -size 342686 diff --git a/styles/pythonanywhere/README.md b/styles/pythonanywhere/README.md new file mode 100644 index 0000000000..f8cf6c4b42 --- /dev/null +++ b/styles/pythonanywhere/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for PythonAnywhere + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [trinkey](https://github.com/trinkey) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/pythonanywhere/catppuccin.user.less b/styles/pythonanywhere/catppuccin.user.less new file mode 100644 index 0000000000..9f61e007df --- /dev/null +++ b/styles/pythonanywhere/catppuccin.user.less @@ -0,0 +1,1417 @@ +/* ==UserStyle== +@name PythonAnywhere Catppuccin +@namespace github.com/catppuccin/userstyles/styles/pythonanywhere +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/pythonanywhere +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/pythonanywhere/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Apythonanywhere +@description Soothing pastel theme for PythonAnywhere +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("www.pythonanywhere.com"), + domain("eu.pythonanywhere.com"), + domain("blog.pythonanywhere.com") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + @import (css) + url("https://chroma.catppuccin.com/@{lightFlavor}-chroma-style.css") + (prefers-color-scheme: light); + @import (css) + url("https://chroma.catppuccin.com/@{darkFlavor}-chroma-style.css") + (prefers-color-scheme: dark); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.css-variables(); + + color-scheme: if(@flavor = latte, light, dark); + + ::selection { + background-color: fade(@accent, 30%); + } + + input, + textarea { + &::placeholder { + color: @subtext0; // TODO: For some reason this (explicitly?) doesn't set !important like our template defaults do/did. + } + } + + /* Ace file editor */ + .ace_editor { + background-color: @crust; + color: @text; + + .ace_gutter, + .ace_gutter-cell { + background: @mantle; + color: @overlay1; + } + .ace_print-margin { + background: @mantle; + } + + .ace_marker-layer { + .ace_active-line { + background-color: fade(@yellow, 20%); + } + .highlight-line-error { + background-color: fade(@red, 20%); + } + .ace_bracket { + border-color: @overlay1; + } + } + + .ace_doctype { + color: @mauve; + } + .ace_cursor, + .ace_xml.ace_text { + color: @text; + } + + .ace_heading { + &.ace_1, + &.ace_1 + .ace_heading { + color: @red; + } + &.ace_2, + &.ace_2 + .ace_heading { + color: @peach; + } + &.ace_3, + &.ace_3 + .ace_heading { + color: @yellow; + } + &.ace_4, + &.ace_4 + .ace_heading { + color: @green; + } + &.ace_5, + &.ace_5 + .ace_heading { + color: @blue; + } + &.ace_6, + &.ace_6 + .ace_heading { + color: @mauve; + } + } + + .ace_list { + color: @text; + &.ace_markup { + color: @sky; + } + } + + .ace_marker-layer .ace_selection { + background: fade(@accent, 30%); + } + .ace_fold { + background-color: @surface0; + border-color: @surface1; + } + .ace_constant.ace_language, + .ace_keyword, + .ace_meta { + color: @mauve; + } + .ace_xml, + .ace_support.ace_class, + .ace_support.ace_type { + color: @yellow; + } + .ace_line .ace_identifier:not(:first-of-type), + .ace_entity.ace_name.ace_function, + .ace_constant { + color: @blue; + } + .ace_paren, + .ace_variable.ace_language { + color: @red; + } + .ace_constant.ace_numeric { + color: @peach; + } + .ace_entity.ace_other.ace_attribute-name, + .ace_support.ace_constant, + .ace_support.ace_function { + color: @teal; + } + .ace_entity.ace_name.ace_tag, + .ace_variable { + color: @blue; + } + .ace_storage { + color: @peach; + } + .ace_string { + color: @green; + } + .ace_comment { + color: @overlay2; + } + .ace_indent-guide { + @svg: escape( + '' + ); + + background-image: url("data:image/svg+xml;utf8,@{svg}"); + } + } + + .ace_tooltip { + background-color: @crust; + color: @text; + border-color: @surface0; + } + + #ace_settingsmenu { + background-color: @mantle; + box-shadow: none; + color: @subtext0; + } + + #kbshortcutmenu { + background-color: @mantle; + box-shadow: none; + + .ace_optionsMenuEntry { + &:hover, + &:focus { + background-color: @base; + } + } + + &, + .ace_optionsMenuCommand { + color: @subtext0; + } + + .ace_optionsMenuKey { + color: @accent; + } + } + + /* Console */ + + x-screen { + background-color: @base !important; + color: @text !important; + } + + .cursor-node { + border-color: @accent !important; + &[focus="true"] { + background-color: @accent !important; + } + } + + /* $ prompt character */ + [style*="color: rgb(0, 186, 19);"] { + color: @green !important; + } + + /* ANSI colors */ + x-row span { + /* Black & Bright Black */ + &[style^="color: rgb(0, 0, 0);"] { + color: if(@flavor = latte, @subtext1, @surface1) !important; + } + &[style*="background-color: rgb(0, 0, 0);"] { + background-color: if(@flavor = latte, @subtext1, @surface1) !important; + } + + &[style^="color: rgb(85, 87, 83);"] { + color: if(@flavor = latte, @subtext1, @surface2) !important; + } + &[style*="background-color: rgb(85, 87, 83);"] { + background-color: if(@flavor = latte, @subtext1, @surface2) !important; + } + + /* Red and Bright Red */ + &[style^="color: rgb(204, 0, 0);"], + &[style^="color: rgb(239, 41, 41);"] { + color: @red !important; + } + &[style*="background-color: rgb(204, 0, 0);"], + &[style*="background-color: rgb(239, 41, 41);"] { + background-color: @red !important; + } + /* Dim Red */ + &[style^="color: rgb(136, 0, 0);"] { + color: fade(@red, 80%) !important; + } + + /* Green and Bright Green */ + &[style^="color: rgb(78, 154, 6);"], + &[style^="color: rgb(0, 186, 19);"] { + color: @green !important; + } + &[style*="background-color: rgb(78, 154, 6);"], + &[style*="background-color: rgb(0, 186, 19);"] { + background-color: @green !important; + } + /* Dim Green */ + &[style^="color: rgb(52, 103, 4);"] { + color: fade(@green, 80%) !important; + } + + /* Yellow and Bright Yellow */ + &[style^="color: rgb(196, 160, 0);"], + &[style^="color: rgb(252, 233, 79);"] { + color: @yellow !important; + } + &[style*="background-color: rgb(196, 160, 0);"], + &[style*="background-color: rgb(252, 233, 79);"] { + background-color: @yellow !important; + } + /* Dim Yellow */ + &[style^="color: rgb(131, 107, 0);"] { + color: fade(@yellow, 80%) !important; + } + + /* Blue and Bright Blue */ + &[style^="color: rgb(52, 101, 164);"], + &[style^="color: rgb(114, 159, 207);"] { + color: @blue !important; + } + &[style*="background-color: rgb(52, 101, 164);"], + &[style*="background-color: rgb(114, 159, 207);"] { + background-color: @blue !important; + } + /* Dim Blue */ + &[style^="color: rgb(35, 67, 109);"] { + color: fade(@blue, 80%) !important; + } + + /* Pink and Bright Pink */ + &[style^="color: rgb(117, 80, 123);"], + &[style^="color: rgb(242, 0, 203);"] { + color: @pink !important; + } + &[style*="background-color: rgb(117, 80, 123);"], + &[style*="background-color: rgb(242, 0, 203);"] { + background-color: @pink !important; + } + /* Dim Pink */ + &[style^="color: rgb(78, 53, 82);"] { + color: fade(@pink, 80%) !important; + } + + /* Teal and Bright Teal */ + &[style^="color: rgb(6, 152, 154);"], + &[style^="color: rgb(0, 181, 189);"] { + color: @teal !important; + } + &[style*="background-color: rgb(6, 152, 154);"], + &[style*="background-color: rgb(0, 181, 189);"] { + background-color: @teal !important; + } + /* Dim Teal */ + &[style^="color: rgb(4, 101, 103);"] { + color: fade(@teal, 80%) !important; + } + + /* White */ + &[style^="color: rgb(211, 215, 207);"] { + color: if(@flavor = latte, @surface2, @subtext1) !important; + } + &[style*="background-color: rgb(211, 215, 207);"] { + background-color: if(@flavor = latte, @surface2, @subtext1) !important; + } + /* Bright White */ + &[style^="color: rgb(238, 238, 236);"] { + color: if(@flavor = latte, @surface1, @subtext0) !important; + } + &[style*="background-color: rgb(238, 238, 236);"] { + background-color: if(@flavor = latte, @surface1, @subtext0) !important; + } + /* Dim White */ + &[style^="color: rgb(141, 143, 138);"] { + color: fade(if(@flavor = latte, @surface2, @subtext1), 80%) !important; + } + } + + #terminal div { + &[style*="color: rgb(16, 16, 16);"] { + color: @text !important; + } + + &[style*="background-color: rgb(240, 240, 240);"] { + background-color: @crust !important; + } + } + + body, + .dark { + background-color: @base; + color: @text; + } + + a { + &, + &:hover, + &:focus { + color: @accent; + } + } + + hr, + pre { + border-color: @surface0; + } + + small, + .small { + color: @subtext0; + } + + input, + button:not(.close, [class*="btn"], [data-toggle="dropdown"]) { + background-color: @crust; + border-color: @surface0; + + &:hover, + &:focus { + background-color: @mantle; + } + + i.glyphicon { + pointer-events: none; + } + } + + blockquote { + border-color: @surface0; + + footer, + small, + .small { + color: @subtext0; + } + } + + .footer p { + color: @text; + } + + .gsc-modal-background-image { + background-color: @base; + } + + .gsc-results-wrapper-overlay { + background-color: @mantle; + color: @subtext0; + } + + input.gsc-input, + .gsc-input-box, + .gsc-input-box-hover, + .gsc-input-box-focus { + border-color: @surface0; + } + + .gsc-completion-container { + background-color: @crust; + border-color: @surface0; + } + + .gsc-completion-selected { + background-color: @mantle; + } + + input.gsc-input { + background-color: @mantle; + } + + .gsc-input-box, + .gsc-results { + background-color: @mantle; + } + + .gsc-option-menu-item-highlighted { + background-color: @base; + color: @text; + } + + .gsc-selected-option-container { + background-color: @crust; + color: @text; + border-color: @surface0; + } + + .gsc-webResult.gsc-result { + border-color: @surface0; + background-color: @mantle; + } + + .gsc-search-button-v2 { + &, + &:hover, + &:focus { + border-color: @surface0; + background-color: @crust; + color: @text; + } + svg { + fill: @text; + } + } + + .gsc-result-info, + .gsc-orderby-label, + .gsc-option-menu-item { + color: @subtext0; + } + + .gcsc-find-more-on-google { + color: @accent; + } + + .gcsc-find-more-on-google-magnifier { + fill: @accent; + } + + .gsc-results .gsc-cursor-box .gsc-cursor-page { + color: @text; + background-color: unset; + } + + .gsc-control-cse .gsc-option-menu { + background-color: @crust; + } + + .gs-webResult div.gs-visibleUrl { + color: @subtext0; + } + + .gs-webResult.gs-result a.gs-title { + &, + &:hover, + &:focus, + b { + color: @accent; + } + } + + .gs-webResult .gs-snippet { + color: @text; + } + + .badge { + background-color: @crust; + + &:hover, + &:focus { + background-color: @mantle; + } + } + + .dashboard-panel__headline a { + text-decoration-color: @accent; + } + + .dashboard-columns { + border-top-color: @surface0; + + &::before { + background-color: @surface0; + } + + .row > div { + border-color: @surface0; + } + } + + .pagination > li { + > span, + > a { + background-color: @crust; + border-color: @surface0; + color: @text; + + &:hover, + &:focus { + background-color: @mantle; + } + } + } + + textarea { + background-color: @crust; + outline-color: @surface0; + border-color: none; + outline-style: solid; + + &:focus { + outline-color: @accent; + } + } + + .jumbotron { + background-color: @mantle; + } + + .jumbotron > hr { + border-top-color: @mantle; + } + + .top-nav { + background: @crust; + + li a, + li button.btn-link { + color: @text; + } + + button:focus, + a:focus, + li a:focus { + background-color: @crust; + } + } + + .err { + border-color: @red; + } + + .btn-success, + .open > .dropdown-toggle.btn-success { + &, + &:focus, + &.focus, + &:active, + &.active, + &:hover { + color: @mantle; + background-color: @green; + border-color: @surface0; + } + } + + .btn-success .badge { + color: @green; + background-color: @crust; + } + + tr.hoverable:hover { + background-color: @mantle; + } + + td { + &.file_size, + &.file_timestamp { + color: @subtext0; + } + } + + span[style="color: blue;"] { + color: @text !important; + } + + [style="color: #888"], + [style="color: #444"] { + color: @text !important; + } + + .btn-info, + .btn-primary, + .open > .dropdown-toggle.btn-info, + .open > .dropdown-toggle.btn-primary { + &, + &:focus, + &.focus, + &:active, + &.active, + &:hover { + color: @base; + background-color: @accent; + border-color: @surface0; + } + } + + .label-primary { + background-color: @accent; + color: @crust; + } + + .label-info { + background-color: @accent; + color: @crust; + } + + .label-danger { + background-color: @red; + color: @crust; + } + + .btn-danger { + background-color: @red; + border-color: @red; + color: @crust; + + &:hover, + &:focus { + background-color: darken(@red, 5%); + color: @mantle; + } + } + + .btn-warning { + background-color: @yellow; + border-color: @yellow; + color: @mantle; + + &:hover, + &:focus { + background-color: darken(@yellow, 5%); + color: @mantle; + } + } + + .edit_value { + color: @accent; + } + + .btn-info .badge, + .btn-primary .badge { + color: @accent; + background-color: @crust; + } + + .alert-success, + .alert-info, + .alert-warning, + .alert-danger { + border-color: @surface0; + + &, + small { + color: @base; + } + + button { + background-color: unset; + } + + hr { + border-top-color: @surface0; + } + + a { + color: @base; + text-decoration: underline; + } + + .close { + &, + &:hover, + &:focus { + color: @crust; + } + } + } + + .alert-success { + background-color: @green; + } + + .alert-info { + background-color: @accent; + } + + .alert-warning { + background-color: @yellow; + } + + .alert-danger { + background-color: @red; + } + + .close { + opacity: 100%; + text-shadow: none; + + &, + &:hover, + &:focus { + color: @text; + background: none; + } + } + + .form-control { + color: @text; + background-color: @crust; + border-color: @surface0; + box-shadow: inset 0 1px 1px @surface0; + + &:focus { + border-color: @surface0; + box-shadow: inset 0 1px 1px @surface0; + } + + &[disabled], + &[readonly] { + background-color: @mantle; + } + } + + .help-block { + color: @text; + } + + .pricing_table ul { + background-color: @base; + } + + .pricing_table ul li { + background: @mantle; + } + + .pricing_table ul li:first-child, + .account_type_header { + color: @text; + } + + .sub_and_dark_blue, + .scheduled_task:not(.enabled) { + color: @subtext0; + } + + #id_initializing_mysql_spinner { + background-color: @crust !important; + color: @text; + } + + .directory_listing_table i.pale { + color: @subtext0; + opacity: 100%; + } + + .pricing_table ul.Free li { + background-color: @mantle; + } + + .col-md-12 { + div[style*="background-color"] { + background-color: @mantle !important; + } + + h1[style*="color"] { + color: @text !important; + } + } + + .table { + background-color: @base; + + th, + td { + border-top-color: @surface0; + } + + > thead th { + border-bottom-color: @surface0; + } + + .success, + .info, + .warning, + .danger { + background-color: @base; + + &, + td, + th { + &, + &:hover { + background-color: @base; + } + } + } + + td.active, + th.active, + &.active td, + &.active th { + background-color: @mantle; + } + } + + .table-bordered { + border-color: @surface0; + + th, + td { + border-color: @surface0; + } + } + + .table-striped > tbody > tr:nth-of-type(odd), + .table-hover > tbody > tr:hover { + background-color: @mantle; + } + + .highlighted_feature_text { + color: @green; + } + + .text-muted { + color: @subtext0; + } + + .modal-header { + border-bottom-color: @surface0; + } + + .modal-content { + background-color: @base; + border-color: @surface0; + box-shadow: 0 3px 9px @crust; + } + + .modal-backdrop { + background-color: @crust; + } + + .directories_listing_group h4, + .page-header, + .gsc-above-wrapper-area, + .nav-tabs, + .property_group_header { + border-bottom-color: @surface0; + } + + .nav-tabs a { + &:hover, + &:focus { + border-color: @surface0 !important; + } + } + + .popover { + background-color: @mantle; + border-color: @surface0; + box-shadow: none; + + &.top > .arrow { + &, + &::after { + border-top-color: @mantle; + } + } + + &.right > .arrow { + &, + &::after { + border-right-color: @mantle; + } + } + + &.left > .arrow { + &, + &::after { + border-left-color: @mantle; + } + } + + &.bottom > .arrow { + &, + &::after { + border-bottom-color: @mantle; + } + } + } + + .popover-title { + background-color: @mantle; + border-bottom-color: @surface0; + } + + .modal-footer { + border-top-color: @surface0; + } + + .unsorted { + color: @subtext0; + } + + .sorted-up, + .sorted-down { + color: @accent; + } + + .ui-widget-content { + border-color: @surface0; + background: @mantle; + color: @text; + } + + .ui-state-default { + border-color: @surface0; + background: @surface1; + color: @text; + } + + .bootstrap-switch { + border-color: @surface0; + + &.bootstrap-switch-focused { + border-color: @surface0; + box-shadow: none; + } + + .bootstrap-switch-label { + color: @text; + background-color: @surface0; + } + + .bootstrap-switch-handle-off, + .bootstrap-switch-handle-on { + color: @text; + background-color: @crust; + + &.bootstrap-switch-success, + &.bootstrap-switch-warning, + &.bootstrap-switch-danger, + &.bootstrap-switch-primary { + color: @base; + } + + &.bootstrap-switch-success { + background-color: @green; + } + + &.bootstrap-switch-warning { + background-color: @yellow; + } + + &.bootstrap-switch-danger { + background-color: @red; + } + + &.bootstrap-switch-primary { + background-color: @accent; + } + } + } + + .tooltip-inner { + color: @text; + background-color: @crust; + } + + .tooltip { + &.right .tooltip-arrow { + border-right-color: @crust; + } + + &.left .tooltip-arrow { + border-left-color: @crust; + } + + &.top, + &.top-left, + &.top-right { + .tooltip-arrow { + border-top-color: @crust; + } + } + + &.bottom, + &.bottom-left, + &.bottom-right { + .tooltip-arrow { + border-bottom-color: @crust; + } + } + } + + .has-error { + .help-block, + .control-label, + .radio, + .checkbox, + .radio-inline, + .checkbox-inline, + label { + color: @red; + } + } + + .success-stories-container { + background-color: @mantle; + color: @text; + + h3 { + color: @text; + } + } + + .gsc-control-cse { + border-color: @surface0; + background-color: @base; + } + + .post_metadata { + color: @subtext0; + } + + .ui-widget-header { + background-color: @base; + border-color: @surface0; + color: @text; + } + + .fullscreen-main-navbar { + background-color: @mantle; + } + + .dropdown-menu { + background-color: @mantle; + border-color: @surface0; + box-shadow: none; + + > li > a { + color: @text; + + &:hover, + &:focus { + background-color: @base; + } + } + } + + .fullscreen-main-navbar button.btn-link { + &:hover, + &:focus { + background-color: @base; + } + } + + .navbar-default .btn-link { + &, + &:hover, + &:focus { + color: @text; + } + } + + .btn.btn-default { + border-color: @accent; + color: @accent; + background-color: @base; + + &:hover, + &:focus { + background-color: @surface0; + } + } + + .well { + background-color: @mantle; + border-color: @surface0; + } + + .icon-bar { + background-color: @text; + } + + .nav-tabs > li, + .nav-pills > li { + > a { + border-color: @surface0; + + &, + &:hover, + &:focus { + color: @accent; + } + } + + &.active > a { + &, + &:focus { + background-color: @mantle; + } + + &:hover, + &:focus { + background-color: @crust; + } + } + + &:not(.active) > a { + &:hover, + &:focus { + background-color: @mantle; + } + } + } + + .ui-state-highlight { + border-color: @accent; + background: @accent; + color: @base; + } + + .primary-navbar { + a, + form, + .active { + background-color: @base; + } + + form .btn-link { + color: @accent; + } + + .active a { + color: @text; + } + } + + .post, + .topic { + background-color: @mantle; + border-color: @surface0; + } + + .editable-click { + &, + &:hover, + &:focus { + border-bottom-color: @subtext0; + } + } + + [style*="background: whitesmoke;"] { + background-color: @mantle !important; + } + + @media (min-width: 768px) { + .modal-content { + box-shadow: 0 5px 15px @crust; + } + } + + @media screen and (max-width: 767px) { + .table-responsive { + border-color: @surface0; + } + } + + #id_main_screenshot { + box-shadow: 12px 12px 29px @surface1; + } + + #id_hosting_details, + #id_education_details { + &, + h1, + h2, + h3 { + background-color: @mantle; + color: @text; + } + + .btn { + color: @crust !important; + } + + a { + color: @accent; + } + } + + #id_develop_anywhere_details { + background-color: @base; + } + + #id_support_details { + background-color: @base; + + a { + color: @accent !important; + } + } + + #id_company_info_strip { + color: @text; + } + + .console_table .info_tooltip { + color: @accent; + } + + #id_console_name { + color: @text; + } + + .beginner_pane, + .pricing_pane { + background-color: @mantle; + } + + #id_error_message, + #id_login_error { + color: @red; + } + + .post_preview { + background-color: @base; + + h3 { + color: @text; + } + } + + .teacher-navbar { + background-color: @mantle; + color: @text; + } + + .nav > li > a:focus { + background: none; + } + + /* blog */ + + .site-header { + background-color: @crust; + } + + h1, + h2, + h3, + h4, + code { + color: @text !important; + } + + button code { + background: none !important; + color: inherit !important; + } + + p, + .tipue_search_content_text, + .tipue_search_content_bold, + #tipue_search_error, + #tipue_search_results_count, + .post-meta { + color: @subtext0; + } + + .navbar-default .navbar-toggle { + &:hover, + &:focus { + background-color: @mantle; + } + } + + button:not(.btn-link, .btn, [data-toggle="dropdown"]), + .pagination a, + #tipue_search_foot_boxes li.current, + #tipue_search_foot_boxes li a { + background-color: @accent; + color: @crust; + border-color: @accent; + } + + button:disabled, + .pagination .disabled { + background-color: darken(@accent, 5%); + border-color: darken(@accent, 5%); + } + + #tipue_search_input, + form.navbar-search { + background-color: @mantle; + color: @text; + } + + svg { + fill: @subtext0; + } + + .fa-at, + .fa-twitter, + .fa-rss { + filter: @text-filter; + } + + .hide_search_icon path { + stroke: @subtext0; + } + + footer, + footer .wrap { + background-color: @crust; + color: @text; + border-color: @crust; + } + + .pagination a, + #tipue_search_foot_boxes li.current, + #tipue_search_foot_boxes li a { + background-color: @accent; + color: @crust; + border-color: @accent; + } + + img[src*="ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png"], + img[src*="/static/anywhere/images/staff.png"], + img[src*="/static/glyphicons/glyphicons_"], + img[src="/static/anywhere/images/PA-logo-snake-only.svg"], + .testimonial-content, + .quickstart_logo:not([src$="/django-logo-negative-small.png"]), + .ui-icon { + filter: @text-filter; + } + + img[src*="/static/anywhere/images/cross.png"] { + filter: @red-filter; + } + + img[src*="/static/anywhere/images/tick.png"] { + filter: @green-filter; + } + + .quickstart_logo[src$="/django-logo-negative-small.png"] { + // Original image has background - can't filter + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + img[src$="/images/PA-logo.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml;utf8,@{svg}"); + } + } +} diff --git a/styles/quizlet/README.md b/styles/quizlet/README.md index 07939ea8f2..ab7e71de12 100644 --- a/styles/quizlet/README.md +++ b/styles/quizlet/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/quizlet/catppuccin.user.css b/styles/quizlet/catppuccin.user.less similarity index 91% rename from styles/quizlet/catppuccin.user.css rename to styles/quizlet/catppuccin.user.less index 5500e903ac..68fe2e38de 100644 --- a/styles/quizlet/catppuccin.user.css +++ b/styles/quizlet/catppuccin.user.less @@ -2,8 +2,8 @@ @name Quizlet Catppuccin @namespace github.com/catppuccin/userstyles/styles/quizlet @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/quizlet -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/quizlet/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/quizlet/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aquizlet @description Soothing pastel theme for Quizlet @author Catppuccin @@ -15,55 +15,21 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("quizlet.com") { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); :root body { color: @text; @@ -170,8 +136,9 @@ } .neeykg0 { - filter: brightness(0) saturate(100%) invert(14%) sepia(10%) - saturate(1367%) hue-rotate(192deg) brightness(95%) contrast(95%); + filter: brightness(0) saturate(100%) invert(14%) sepia(10%) saturate( + 1367% + ) hue-rotate(192deg) brightness(95%) contrast(95%); } .CourseOverviewPreviewCard-recommendationLink:hover { @@ -2350,13 +2317,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/quizlet/preview.webp b/styles/quizlet/preview.webp deleted file mode 100644 index bd4a653392..0000000000 --- a/styles/quizlet/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:216b310aade3eaf15813f7e21954f0001ed4e48d1342e82a3c28c5f65606f0d3 -size 264918 diff --git a/styles/raindrop/README.md b/styles/raindrop/README.md index 5d09de81d4..7eba8354db 100644 --- a/styles/raindrop/README.md +++ b/styles/raindrop/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/raindrop/catppuccin.user.css b/styles/raindrop/catppuccin.user.css deleted file mode 100644 index 8fbd92086c..0000000000 --- a/styles/raindrop/catppuccin.user.css +++ /dev/null @@ -1,167 +0,0 @@ -/* ==UserStyle== -@name Raindrop Catppuccin -@namespace github.com/catppuccin/userstyles/styles/raindrop -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/raindrop -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/raindrop/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Araindrop -@description Soothing pastel theme for Raindrop -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('app.raindrop.io') { - [data-theme="night"] { - #catppuccin(@darkFlavor, @accentColor) !important; - } - [data-theme="day"], - [data-theme="sunset"] { - #catppuccin(@lightFlavor, @accentColor); - } - - // theme selector previews - [class^="theme-"] { - &[data-index="0"], - &[data-index="2"] > [class^="main-"], - &[data-index="3"] { - #catppuccin(@lightFlavor, @accentColor) !important; - } - &[data-index="1"], - &[data-index="2"] > [class^="sidebar-"] { - #catppuccin(@darkFlavor, @accentColor) !important; - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &, - [data-theme] { - --background-color: @base; - --disable-background-color: @crust; - --disable-text-color: @overlay1; - --accent-color: @accent-color; - --alternative-background-color: @mantle; - --sidebar-background-color: @mantle; - --hover-background-color: fade(@overlay0, 20%); - --active-background-color: @surface1; - --primary-text-color: @text; - --secondary-text-color: @subtext0; - --shadow-color: fade(@text, 10%); - --shadow-light-color: fade(@text, 10%); - --danger-color: @red; - --important-color: @red; - --success-color: @green; - --highlights-color: @mauve; - --reminder-color: @peach; - --note-color: @yellow; - --article-color: @peach; - --audio-color: @mauve; - --document-color: @subtext0; - --book-color: @rosewater; - --image-color: @green; - --video-color: @blue; - --broken-color: @maroon; - --duplicate-color: @sapphire; - --tag-color: @subtext0; - --filter-color: @subtext0; - - [data-variant="active"] { - background: fade(@accent-color, 10%) !important; - } - // bookmark edit page header - [class^="header-"][data-fancy="true"] { - background: linear-gradient( - to bottom, - var(--background-color) 30%, - fade(@base, 60%) 100% - ); - } - // bookmark edit page cover selector - [class^="cover-"] > [class^="more-"] { - background: fade(@accent-color, 85%); - } - // add bookmark button text color - [title="Add Bookmark"] { - color: @base; - } - // disabled add bookmark button - [class^="button-"][data-variant="primary"][disabled] { - filter: none; - opacity: 100%; - background: @overlay0; - color: @crust; - } - // dropping bookmark to collection color overlay - [class*="isDropping-"] { - background-color: fade(@accent-color, 10%); - } - // sidebar background color - .svSidebar { - background: var(--sidebar-background-color); - } - color: @text; - } - // google login button - [href^="https://api.raindrop.io/v1/auth/google"] > span - { - color: @text; - } - - // todo: recolor "Colors circle" icons using custom images (like the chess.com theme) - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/raindrop/catppuccin.user.less b/styles/raindrop/catppuccin.user.less new file mode 100644 index 0000000000..9e83b1eecf --- /dev/null +++ b/styles/raindrop/catppuccin.user.less @@ -0,0 +1,120 @@ +/* ==UserStyle== +@name Raindrop Catppuccin +@namespace github.com/catppuccin/userstyles/styles/raindrop +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/raindrop +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/raindrop/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Araindrop +@description Soothing pastel theme for Raindrop +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("app.raindrop.io") { + [data-theme="night"] { + #catppuccin(@darkFlavor) !important; + } + [data-theme="day"], + [data-theme="sunset"] { + #catppuccin(@lightFlavor); + } + + // theme selector previews + [class^="theme-"] { + &[data-index="0"], + &[data-index="2"] > [class^="main-"], + &[data-index="3"] { + #catppuccin(@lightFlavor) !important; + } + &[data-index="1"], + &[data-index="2"] > [class^="sidebar-"] { + #catppuccin(@darkFlavor) !important; + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + &, + [data-theme] { + --background-color: @base; + --disable-background-color: @crust; + --disable-text-color: @overlay1; + --accent-color: @accent; + --alternative-background-color: @mantle; + --sidebar-background-color: @mantle; + --hover-background-color: fade(@overlay0, 20%); + --active-background-color: @surface1; + --primary-text-color: @text; + --secondary-text-color: @subtext0; + --shadow-color: fade(@text, 10%); + --shadow-light-color: fade(@text, 10%); + --danger-color: @red; + --important-color: @red; + --success-color: @green; + --highlights-color: @mauve; + --reminder-color: @peach; + --note-color: @yellow; + --article-color: @peach; + --audio-color: @mauve; + --document-color: @subtext0; + --book-color: @rosewater; + --image-color: @green; + --video-color: @blue; + --broken-color: @maroon; + --duplicate-color: @sapphire; + --tag-color: @subtext0; + --filter-color: @subtext0; + + [data-variant="active"] { + background: fade(@accent, 10%) !important; + } + // bookmark edit page header + [class^="header-"][data-fancy="true"] { + background: linear-gradient( + to bottom, + var(--background-color) 30%, + fade(@base, 60%) 100% + ); + } + // bookmark edit page cover selector + [class^="cover-"] > [class^="more-"] { + background: fade(@accent, 85%); + } + // add bookmark button text color + [title="Add Bookmark"] { + color: @base; + } + // disabled add bookmark button + [class^="button-"][data-variant="primary"][disabled] { + filter: none; + opacity: 100%; + background: @overlay0; + color: @crust; + } + // dropping bookmark to collection color overlay + [class*="isDropping-"] { + background-color: fade(@accent, 10%); + } + // sidebar background color + .svSidebar { + background: var(--sidebar-background-color); + } + color: @text; + } + // google login button + [href^="https://api.raindrop.io/v1/auth/google"] > span { + color: @text; + } + + // todo: recolor "Colors circle" icons using custom images (like the chess.com theme) + } +} diff --git a/styles/raindrop/preview.webp b/styles/raindrop/preview.webp deleted file mode 100644 index f38be25470..0000000000 --- a/styles/raindrop/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95ebed062c225c877249c2cedb28568e0a7ea09fe2f04e2ad52000378f26ddbc -size 183736 diff --git a/styles/react.dev/README.md b/styles/react.dev/README.md new file mode 100644 index 0000000000..20d679287f --- /dev/null +++ b/styles/react.dev/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for React.dev + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [RaiderHCPlay](https://github.com/RaiderHCPlay) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/react.dev/catppuccin.user.less b/styles/react.dev/catppuccin.user.less new file mode 100644 index 0000000000..4c016b875f --- /dev/null +++ b/styles/react.dev/catppuccin.user.less @@ -0,0 +1,425 @@ +/* ==UserStyle== +@name React.dev Catppuccin +@namespace github.com/catppuccin/userstyles/styles/react.dev +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/react.dev +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/react.dev/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Areact.dev +@description Soothing pastel theme for React.dev +@author Catppuccin +@license MIT +@preprocessor less + +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("react.dev") { + html.dark { + #catppuccin(@darkFlavor); + } + html { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + //svg styling + + svg { + color: @accent !important; + } + + //text styling + + .text-primary { + color: @text; + } + + .dark\:text-primary-dark { + color: @text; + } + + .dark\:text-white { + color: @text; + } + + .text-secondary { + color: @text; + } + + .text-gray-30 { + color: @subtext1; + } + + .text-red-50, + .text-red-30 { + color: @red !important; + } + + .text-gray-50 { + color: @subtext0; + } + + // color divs text + + #color-and-svg(@color) { + color: @color !important; + svg { + color: @color !important; + } + } + .text-red-50, .text-red-40 { + #color-and-svg(@red); + } + .text-purple-50, .text-purple-30, .text-purple-60 { + #color-and-svg(@mauve); + } + .text-blue-50, .text-blue-40, .text-blue-60 { + #color-and-svg(@blue); + } + .text-yellow-40, .text-yellow-50, .text-yellow-60 { + #color-and-svg(@yellow); + } + + .text-green-60, .text-green-40 { + color: @green !important; + } + + .text-tertiary, + .text-tertiary-dark { + color: @subtext0; + } + + .text-link, + .text-link-dark { + color: @accent; + } + + //hover styling + + .hover\:text-link:hover, .text-link:hover, .text-link-dark:hover { + color: @accent; + } + + .hover\:bg-gray-80:hover, + .hover\:bg-gray-5:hover { + background-color: @mantle; + } + + .hover\:bg-card:hover { + background-color: @crust; + } + + //code stylizing + + a > code { + color: @accent !important; + } + + .console-block code { + background-color: @surface1 !important; + color: @red !important; + } + + .sp-wrapper { + --sp-colors-accent: @accent; + --sp-colors-clickable: @flamingo; + --sp-colors-disabled: @text; + --sp-colors-error: @red; + --sp-colors-error-surface: @maroon; + --sp-colors-surface1: @surface0; + --sp-colors-surface2: @surface1; + --sp-syntax-color-plain: @text; + --sp-syntax-color-comment: @overlay2; + --sp-syntax-color-keyword: @mauve; + --sp-syntax-color-tag: @blue; + --sp-syntax-color-punctuation: @overlay2; + --sp-syntax-color-definition: @yellow; + --sp-syntax-color-property: @blue; + --sp-syntax-color-static: @peach; + --sp-syntax-color-string: @green; + } + + //border styling + + .border-blue-40 { + border-color: @blue; + } + + .border-b-4 { + border-color: @text; + } + + .border-yellow-40 { + border-color: @yellow; + } + + .border-purple-40 { + border-color: @lavender; + } + + .border-purple-10 { + border-color: @mauve; + } + + .dark\:border-purple-30, .border-purple-30 { + border-color: @mauve; + } + + .border-green-40 { + border-color: @green; + } + + .hover\:border-gray-10:hover { + border-color: @accent; + } + + .border-gray-300, .bg-gray-90 { + border-color: @overlay2; + } + + .border-gray-20 { + border-color: @overlay1; + } + + .border-link:hover { + border-color: @accent; + } + + .dark\:border-link-dark { + border-color: @accent; + } + + //backgrounds styling + + .bg-card-dark, + .bg-card { + background-color: @surface0; + } + + .bg-highlight { + background-color: @surface0; + } + + .bg-highlight-dark { + background-color: @surface0; + } + + .bg-github-highlight { + background-color: @surface0; + } + + .bg-link { + color: @surface0; + background-color: @accent; + } + + .bg-gradient-left, + .bg-gradient-left-dark { + background-image: conic-gradient( + from 90deg at -10% 100%, + @mantle 0deg, + @base 90deg, + @crust 1turn + ); + } + + .bg-gray-3, + .bg-gray-5 { + background-color: @crust; + } + + .bg-gray-40\/5, + .bg-gray-60\/5 { + background-color: @overlay1; + } + + .bg-gray-40\/10, + .bg-gray-60\/10 { + background-color: @overlay0; + } + .bg-gray-30, + .bg-gray-300, + .bg-gray-70, + .bg-gray-700 { + background-color: @surface0; + } + + .bg-gray-80, + .bg-gray-200, + .bg-gray-95 { + background-color: @mantle; + } + + .bg-black { + background-color: @base; + } + + #color-fragment-style(@divColor) { + background-color: fade(@divColor, 40%); + color: @text; + + p { + color: @text; + } + + button { + color: @base !important; + background-color: @divColor !important; + + svg { + color: @base !important; + } + } + + .text-primary { + color: @text; + } + + .text-link { + color: @accent; + } + + .bg-highlight { + color: @accent; + } + + .bg-link { + background-color: @accent; + color: @text; + } + } + + .bg-green-5, .bg-green-60, .bg-green-40 { + #color-fragment-style(@green); + } + + .bg-red-5, .bg-red-60 { + #color-fragment-style(@red); + } + + .bg-yellow-5, .bg-yellow-60, .bg-yellow-40 { + #color-fragment-style(@peach); + } + + .bg-purple-5, .bg-purple-60, .bg-purple-40 { + #color-fragment-style(@mauve); + } + + .bg-blue-10, .bg-blue-60, .bg-blue-40 { + #color-fragment-style(@blue); + } + + .bg-red-30 { + background-color: fade(@red, 10%); + } + + .bg-gradient-right, + .bg-gradient-right-dark { + background-image: conic-gradient( + from -90deg at 110% 100%, + @crust 0deg, + @base 90deg, + @mantle 1turn + ); + } + + .bg-white, + .bg-wash { + background-color: @base !important; + } + + .bg-secondary-button { + background-color: @surface1; + } + + // outline styling + + .outline-link { + outline-color: @accent; + } + + .focus\:outline-link:focus { + outline-color: @accent; + } + + // docsearch styling + + --docsearch-modal-background: @base !important; + --docsearch-hit-background: @mantle !important; + --docsearch-highlight-color: @accent !important; + --docsearch-primary-color: @accent !important; + --docsearch-container-background: rgba(127, 132, 156, 0.8) !important; + --docsearch-text-color: @text !important; + --docsearch-logo-color: @blue !important; + --docsearch-muted-color: @subtext0 !important; + --docsearch-searchbox-background: @accent !important; + --docsearch-searchbox-focus-background: @accent !important; + --docsearch-hit-color: @crust !important; + --docsearch-hit-active-color: @base !important; + --docsearch-footer-background: @overlay0 !important; + --docsearch-key-gradient: linear-gradient( + -225deg, + @base, + @crust + ) !important; + + .DocSearch-Form { + background-color: @mantle; + input { + color: @text; + } + :focus-visible { + outline-color: 2px solid @accent !important; + } + } + + .DocSearch-Hit { + .DocSearch-Hit-title { + color: @text; + } + + svg { + color: currentcolor !important; + } + + .DocSearch-Hit-Tree { + color: @base !important; + } + + &[aria-selected="false"] { + mark { + color: @accent !important; + } + .DocSearch-Hit-Tree { + color: @subtext0 !important; + } + } + } + + .DocSearch-Hit-source { + color: @text; + } + + .DocSearch-Cancel { + color: @accent; + } + + .DocSearch-Footer { + background-color: @base; + + [aria-label="Algolia"] { + .cls-1, + .cls-2 { + fill: @accent !important; + } + } + } + } +} diff --git a/styles/reddit/README.md b/styles/reddit/README.md index 1744e3f9e7..2e475169d1 100644 --- a/styles/reddit/README.md +++ b/styles/reddit/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## โค๏ธโ€๐Ÿฉน Unmaintained +This userstyle currently lacks maintainers, and may not work correctly. Please feel free to contribute for any issues you find! ## ๐Ÿ’– Past Maintainers - [jayylmao](https://github.com/jayylmao) diff --git a/styles/reddit/catppuccin.user.css b/styles/reddit/catppuccin.user.css deleted file mode 100644 index c1e93516e4..0000000000 --- a/styles/reddit/catppuccin.user.css +++ /dev/null @@ -1,1147 +0,0 @@ -/* ==UserStyle== -@name Reddit Catppuccin -@namespace github.com/catppuccin/userstyles/styles/reddit -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/reddit -@version 2.0.11 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/reddit/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Areddit -@description Soothing pastel theme for Reddit -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("reddit.com") { - :root:not(.theme-dark) .theme-rpl, - :root:not(.theme-dark).theme-rpl, - :root:not(.theme-dark) .theme-beta, - :root:not(.theme-dark).theme-beta, - .theme-light { - #catppuccin(@lightFlavor, @accentColor); - } - - :root:not(.theme-light) .theme-rpl, - :root:not(.theme-light).theme-rpl, - :root:not(.theme-light) .theme-beta, - :root:not(.theme-light).theme-beta, - .theme-dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - /* BETA */ - --color-pizzaRed: @red !important; - --color-global-brand-orangered: @peach !important; - --color-global-focus: @surface1 !important; - --color-interactive-content-disabled: @subtext0 !important; - --color-interactive-background-disabled: fade(@surface2, 70%) !important; - --color-interactive-pressed: @surface2 !important; - --color-neutral-content: @text !important; - --color-neutral-content-disabled: @subtext0 !important; - --color-neutral-content-weak: @subtext0 !important; - --color-neutral-content-strong: @text !important; - --color-global-white: @crust !important; - --color-neutral-background: @base !important; - --color-neutral-background-selected: @surface0 !important; - --color-neutral-background-weak: @mantle !important; - --color-neutral-background-medium: @base !important; - --color-neutral-background-strong: @crust !important; - --color-neutral-background-hover: @surface0 !important; - --color-neutral-border: @surface0 !important; - --color-neutral-border-medium: @surface0 !important; - --color-neutral-border-weak: @surface0 !important; - --color-neutral-border-strong: @surface2 !important; - --color-primary: @accent-color !important; - --color-primary-hover: lighten(@accent-color, 10) !important; - --color-primary-visited: @lavender !important; - --color-primary-background: @accent-color !important; - --color-primary-background-hover: darken(@accent-color, 5%) !important; - --color-primary-background-selected: darken(@accent-color, 5%) !important; - --color-primary-onBackground: @base !important; - --color-primary-onBackground-selected: @crust !important; - --color-secondary: @subtext0 !important; - --color-secondary-hover: @subtext1 !important; - --color-secondary-weak: @subtext0 !important; - --color-secondary-onBackground: @text !important; - --color-secondary-background: @mantle !important; - --color-secondary-background-hover: @surface1 !important; - --color-secondary-background-selected: @surface1 !important; - --color-secondary-plain: @subtext0 !important; - --color-secondary-plain-hover: @subtext1 !important; - --color-danger-background: @red !important; - --color-danger-background-disabled: fadeout(@red, 80) !important; - --color-danger-background-hover: fadeout(@red, 2) !important; - --color-danger-onBackground: @text !important; - --color-danger-content: @red !important; - --color-danger-content-default: @crust; - --color-danger-content-hover: darken(@red, 2) !important; - --color-success-content: @green !important; - --color-success-hover: darken(@green, 2) !important; - --color-success-onBackground: @crust; - --color-success-background: @green !important; - --color-success-background-hover: darken(@green, 2) !important; - --color-warning-content: @yellow !important; - --color-warning-content-hover: darken(@yellow, 2) !important; - --color-warning-onBackground: @base !important; - --color-warning-background: @yellow !important; - --color-warning-background-hover: darken(@yellow, 2) !important; - --color-upvote-content: @accent-color !important; - --color-upvote-disabled: @subtext0 !important; - --color-upvote-onBackground: @text !important; - --color-upvote-background: @base !important; - --color-upvote-background-hover: darken(@accent-color, 5%) !important; - --color-upvote-background-disabled: @base !important; - --color-downvote-content: @text !important; - --color-downvote-content-weak: @text !important; - --color-downvote-disabled: @subtext0 !important; - --color-downvote-onBackground: @text !important; - --color-downvote-background: @base !important; - --color-downvote-background-hover: darken(@blue, 5%) !important; - --color-downvote-background-disabled: @mantle !important; - --color-tone-1: @text !important; - --color-tone-2: @subtext0 !important; - --color-tone-3: @overlay2 !important; - --color-tone-4: @surface0 !important; - --color-tone-5: @surface1 !important; - --color-tone-6: @surface2 !important; - --color-tone-7: @base !important; - --color-avatar-gradient: @accent-color !important; - --color-transparent-background-hover: fadeout(@surface0, 70) !important; - --color-opacity-50: fadeout(@base, 50) !important; - --color-online: @accent-color !important; - --color-favorite: @accent-color !important; - --color-brand-background: @accent-color !important; - --color-brand-background-hover: darken(@accent-color, 5%) !important; - --color-global-orangered: @accent-color !important; - --color-action-upvote: @accent-color !important; - --color-action-downvote: @blue; - - --shreddit-color-wordmark: @accent-color; - #reddit-logo { - circle[fill="#FF4500"] { - fill: @accent-color !important; - } - path[fill="#FFF"] { - fill: @crust !important; - } - } - - /* normal stuff */ - - &, - div[class^="subredditvars"] { - --color-online: @green !important; - --newCommunityTheme-actionIcon: @subtext0 !important; - --newCommunityTheme-actionIconAlpha20: fadeout(@crust, 20) !important; - --newCommunityTheme-actionIconAlpha50: fadeout(@crust, 20) !important; - --newCommunityTheme-actionIconShaded80: @subtext0 !important; - --newCommunityTheme-actionIconTinted80: @subtext1 !important; - --newCommunityTheme-active: @accent-color !important; - --newCommunityTheme-activeAlpha10: fadeout(@crust, 20) !important; - --newCommunityTheme-activeAlpha20: fadeout(@crust, 20) !important; - --newCommunityTheme-activeAlpha50: fadeout(@crust, 20) !important; - --newCommunityTheme-activeLight60: @accent-color !important; - --newCommunityTheme-activeShaded80: @accent-color !important; - --newCommunityTheme-activeShaded90: @accent-color !important; - --newCommunityTheme-activeTinted05: @text !important; - --newCommunityTheme-banner-backgroundColor: @accent-color !important; - --newCommunityTheme-banner-iconColor: @accent-color !important; - --newCommunityTheme-body: @mantle !important; - --newCommunityTheme-bodyAlpha50: @surface0 !important; - --newCommunityTheme-bodyAlpha70: @surface1 !important; - --newCommunityTheme-bodyAlpha80: @surface2 !important; - --newCommunityTheme-bodyFade: @subtext0 !important; - --newCommunityTheme-bodyShaded80: @mantle !important; - --newCommunityTheme-bodyText: @text !important; - --newCommunityTheme-bodyTextAlpha03: @mantle !important; - --newCommunityTheme-bodyTextAlpha20: @surface1 !important; - --newCommunityTheme-bodyTextShaded20: @surface0 !important; - --newCommunityTheme-bodyTextTinted20: @subtext0 !important; - --newCommunityTheme-bodyTinted50: @overlay1 !important; - --newCommunityTheme-bodyTinted80: @overlay0 !important; - --newCommunityTheme-button: @text !important; - --newCommunityTheme-buttonAlpha05: fadeout(@crust, 20) !important; - --newCommunityTheme-buttonAlpha10: fadeout(@crust, 20) !important; - --newCommunityTheme-buttonAlpha20: fadeout(@crust, 20) !important; - --newCommunityTheme-buttonAlpha40: @subtext0 !important; - --newCommunityTheme-buttonAlpha50: @subtext1 !important; - --newCommunityTheme-buttonAlpha80: @subtext1 !important; - --newCommunityTheme-buttonShaded80: @overlay0 !important; - --newCommunityTheme-buttonTinted20: @accent-color !important; - --newCommunityTheme-buttonTinted50: @accent-color !important; - --newCommunityTheme-buttonTinted80: @accent-color !important; - --newCommunityTheme-canvas: @crust !important; - --newCommunityTheme-checkbox: @text !important; - --newCommunityTheme-errorText: @red !important; - --newCommunityTheme-field: @surface0 !important; - --newCommunityTheme-fieldFade: fadeout(@surface1, 30) !important; - --newCommunityTheme-flair: @accent-color !important; - --newCommunityTheme-highlight: @base !important; - --newCommunityTheme-inactive: @subtext0 !important; - --newCommunityTheme-lightText: @text !important; - --newCommunityTheme-lightTextAlpha75: @subtext1 !important; - --newCommunityTheme-line: fadeout(@surface1, 30) !important; - --newCommunityTheme-lineShaded80: fadeout(@surface1, 30) !important; - --newCommunityTheme-lineShaded90: fadeout(@surface1, 30) !important; - --newCommunityTheme-lineShadedNinety: fadeout(@surface1, 30) !important; - --newCommunityTheme-linkText: @accent-color !important; - --newCommunityTheme-linkTextAlpha80: @accent-color !important; - --newCommunityTheme-linkTextShaded80: @accent-color !important; - --newCommunityTheme-linkTextTinted80: @accent-color !important; - --newCommunityTheme-linkTextWithBody: @accent-color !important; - --newCommunityTheme-menu: @mantle !important; - --newCommunityTheme-menuActiveText: @text !important; - --newCommunityTheme-menuButtonBackground-active: @base !important; - --newCommunityTheme-menuButtonBackground-focus: @base !important; - --newCommunityTheme-menuButtonBackground-hover: @base !important; - --newCommunityTheme-menuInactiveText: @text !important; - --newCommunityTheme-metaText: @subtext0 !important; - --newCommunityTheme-metaTextAlpha50: @subtext0 !important; - --newCommunityTheme-metaTextShaded80: @subtext0 !important; - --newCommunityTheme-monospaceColor: @accent-color !important; - --newCommunityTheme-navBar-activeLink: @text !important; - --newCommunityTheme-navBar-activeSubmenuCaret: @text !important; - --newCommunityTheme-navBar-activeSubmenuLink: @text !important; - --newCommunityTheme-navBar-backgroundColor: @mantle !important; - --newCommunityTheme-navBar-hoverLink: @text !important; - --newCommunityTheme-navBar-inactiveLink: @text !important; - --newCommunityTheme-navBar-inactiveSubmenuCaret: @text !important; - --newCommunityTheme-navBar-inactiveSubmenuLink: @text !important; - --newCommunityTheme-navBar-submenuBackgroundColor: @mantle !important; - --newCommunityTheme-navIcon: @text !important; - - /* upvote/downvote focus */ - --newCommunityTheme-navIconFaded10: fadeout(@crust, 20) !important; - - --newCommunityTheme-nsfw: @red !important; - --newCommunityTheme-nsfwBlocking-bgcolor: @crust !important; - --newCommunityTheme-nsfwBlocking-color: @text !important; - --newCommunityTheme-nsfwBlocking-contentTitleBgColor: @base !important; - --newCommunityTheme-nsfwBlocking-mainCtaBgColor: @mantle !important; - --newCommunityTheme-pageHeader: @surface2 !important; - --newCommunityTheme-placeholder: @surface0 !important; - --newCommunityTheme-post: @mantle !important; - --newCommunityTheme-postError: @red !important; - --newCommunityTheme-postFlairText: @crust !important; - --newCommunityTheme-postIcon: @accent-color !important; - --newCommunityTheme-postLine: fadeout(@surface1, 30) !important; - --newCommunityTheme-postLineShaded80: fadeout(@surface1, 30) !important; - --newCommunityTheme-postLineShaded90: fadeout(@surface1, 30) !important; - --newCommunityTheme-postTinted20: @base !important; - --newCommunityTheme-postTransparent20: @base !important; - --newCommunityTheme-primaryButtonShadedEighty: @overlay1 !important; - --newCommunityTheme-primaryButtonTintedEighty: @overlay1 !important; - --newCommunityTheme-primaryButtonTintedFifty: @overlay0 !important; - --newCommunityTheme-primaryButtonTintedSixty: @overlay0 !important; - --newCommunityTheme-quarantine: @yellow !important; - --newCommunityTheme-report: @surface1 !important; - --newCommunityTheme-search-syntaxHighlightBackgroundColor: @accent-color !important; - --newCommunityTheme-search-syntaxHighlightColor: @base !important; - --newCommunityTheme-titleText: @text !important; - --newCommunityTheme-upsell-appleIcon: @subtext1 !important; - --newCommunityTheme-upsell-ssoButtonBorderColor: fadeout( - @surface1, - 30 - ) !important; - --newCommunityTheme-upsell-ssoButtonTextColor: @text !important; - --newCommunityTheme-voteText-base: @subtext0 !important; - --newCommunityTheme-voteText-downvote: @blue !important; - --newCommunityTheme-voteText-downvoteShaded80: @blue !important; - --newCommunityTheme-voteText-downvoteTinted80: @blue !important; - --newCommunityTheme-voteText-upvote: @red !important; - --newCommunityTheme-voteText-upvoteShaded80: @red !important; - --newCommunityTheme-voteText-upvoteTinted80: @red !important; - --newCommunityTheme-widgetColors-appleIcon: @overlay0 !important; - --newCommunityTheme-widgetColors-lineColor: fadeout( - @surface1, - 30 - ) !important; - - /* sidebar widgets */ - --newCommunityTheme-widgetColors-sidebarWidgetBackgroundColor: @mantle !important; - --newCommunityTheme-widgetColors-sidebarWidgetBorderColor: fadeout( - @surface1, - 30 - ) !important; - --newCommunityTheme-widgetColors-sidebarWidgetHeaderColor: @crust !important; - --newCommunityTheme-widgetColors-sidebarWidgetHeaderColorAlpha60: @mantle !important; - --newCommunityTheme-widgetColors-sidebarWidgetTextColor: @text !important; - --newCommunityTheme-widgetColors-sidebarWidgetTextColorShaded80: @subtext1 !important; - --newCommunityTheme-widgetColors-sidebarWidgetTitleColor: @text !important; - - --newRedditTheme-actionIcon: @subtext0 !important; - --newRedditTheme-actionIconAlpha20: fadeout(@crust, 20) !important; - --newRedditTheme-actionIconAlpha50: fadeout(@crust, 20) !important; - --newRedditTheme-actionIconShaded80: @subtext0 !important; - --newRedditTheme-actionIconTinted80: @subtext1 !important; - --newRedditTheme-active: @accent-color !important; - --newRedditTheme-activeAlpha10: fadeout(@crust, 20) !important; - --newRedditTheme-activeAlpha20: fadeout(@crust, 20) !important; - --newRedditTheme-activeAlpha50: fadeout(@crust, 20) !important; - --newRedditTheme-activeLight60: @accent-color !important; - --newRedditTheme-activeShaded80: @accent-color !important; - --newRedditTheme-activeShaded90: @accent-color !important; - --newRedditTheme-activeTinted05: @text !important; - --newRedditTheme-banner-backgroundColor: @accent-color !important; - --newRedditTheme-banner-iconColor: @accent-color !important; - --newRedditTheme-body: @mantle !important; - --newRedditTheme-bodyAlpha50: @surface0 !important; - --newRedditTheme-bodyAlpha70: @surface1 !important; - --newRedditTheme-bodyAlpha80: @surface2 !important; - --newRedditTheme-bodyFade: fadeout(@crust, 20) !important; - --newRedditTheme-bodyShaded80: @mantle !important; - --newRedditTheme-bodyText: @text !important; - --newRedditTheme-bodyTextAlpha03: fadeout(@crust, 20) !important; - --newRedditTheme-bodyTextAlpha20: @surface1 !important; - --newRedditTheme-bodyTextShaded20: @surface0 !important; - --newRedditTheme-bodyTextTinted20: @subtext1 !important; - --newRedditTheme-bodyTinted50: @overlay0 !important; - --newRedditTheme-bodyTinted80: @overlay1 !important; - --newRedditTheme-button: @text !important; - --newRedditTheme-buttonAlpha05: fadeout(@crust, 20) !important; - --newRedditTheme-buttonAlpha10: fadeout(@crust, 20) !important; - --newRedditTheme-buttonAlpha20: fadeout(@crust, 20) !important; - --newRedditTheme-buttonAlpha40: @subtext0 !important; - --newRedditTheme-buttonAlpha50: @subtext1 !important; - --newRedditTheme-buttonAlpha80: @subtext1 !important; - --newRedditTheme-buttonShaded80: @overlay0 !important; - --newRedditTheme-buttonTinted20: @accent-color !important; - --newRedditTheme-buttonTinted50: @accent-color !important; - --newRedditTheme-buttonTinted80: @accent-color !important; - --newRedditTheme-canvas: @crust !important; - --newRedditTheme-checkbox: @text !important; - --newRedditTheme-errorText: @red !important; - --newRedditTheme-field: @base !important; - --newRedditTheme-fieldFade: @mantle !important; - --newRedditTheme-flair: @accent-color !important; - - /* controls menu, link, and other similar highlights. very important */ - --newRedditTheme-highlight: @base !important; - - --newRedditTheme-inactive: @surface0 !important; - --newRedditTheme-lightText: @text !important; - --newRedditTheme-lightTextAlpha75: @subtext1 !important; - --newRedditTheme-line: fadeout(@surface1, 30) !important; - --newRedditTheme-lineShaded80: fadeout(@surface1, 30) !important; - --newRedditTheme-lineShaded90: fadeout(@surface1, 30) !important; - --newRedditTheme-lineShadedNinety: fadeout(@surface1, 30) !important; - - /* links */ - --newRedditTheme-linkText: @accent-color !important; - --newRedditTheme-linkTextAlpha80: @accent-color !important; - --newRedditTheme-linkTextShaded80: @accent-color !important; - --newRedditTheme-linkTextTinted80: @accent-color !important; - --newRedditTheme-linkTextWithBody: @accent-color !important; - - /* menus */ - --newRedditTheme-menu: @mantle !important; - --newRedditTheme-menuActiveText: @text !important; - --newRedditTheme-menuButtonBackground-active: @accent-color !important; - --newRedditTheme-menuButtonBackground-focus: @base !important; - --newRedditTheme-menuButtonBackground-hover: @base !important; - --newRedditTheme-menuInactiveText: @text !important; - - --newRedditTheme-metaText: @subtext0 !important; - --newRedditTheme-metaTextAlpha50: fadeout(@crust, 20) !important; - --newRedditTheme-metaTextShaded80: @subtext1 !important; - --newRedditTheme-monospaceColor: @accent-color !important; - --newRedditTheme-navBar-activeLink: @text !important; - --newRedditTheme-navBar-activeSubmenuCaret: @text !important; - --newRedditTheme-navBar-activeSubmenuLink: @text !important; - --newRedditTheme-navBar-backgroundColor: @mantle !important; - --newRedditTheme-navBar-hoverLink: @text !important; - --newRedditTheme-navBar-inactiveLink: @text !important; - --newRedditTheme-navBar-inactiveSubmenuCaret: @text !important; - --newRedditTheme-navBar-inactiveSubmenuLink: @text !important; - --newRedditTheme-navBar-submenuBackgroundColor: @mantle !important; - --newRedditTheme-navIcon: @text !important; - --newRedditTheme-navIconFaded10: fadeout(@crust, 20) !important; - --newRedditTheme-nsfw: @red !important; - --newRedditTheme-nsfwBlocking-bgcolor: @crust !important; - --newRedditTheme-nsfwBlocking-color: @text !important; - --newRedditTheme-nsfwBlocking-contentTitleBgColor: @base !important; - --newRedditTheme-nsfwBlocking-mainCtaBgColor: @mantle !important; - --newRedditTheme-pageHeader: @surface0 !important; - --newRedditTheme-placeholder: @surface1 !important; - --newRedditTheme-post: @mantle !important; - --newRedditTheme-postError: @red !important; - --newRedditTheme-postFlairText: @text !important; - --newRedditTheme-postIcon: @accent-color !important; - --newRedditTheme-postLine: fadeout(@surface1, 30) !important; - --newRedditTheme-postLineShaded80: fadeout(@surface1, 30) !important; - --newRedditTheme-postLineShaded90: fadeout(@surface1, 30) !important; - --newRedditTheme-postTinted20: @base !important; - --newRedditTheme-postTransparent20: fadeout(@crust, 20) !important; - --newRedditTheme-primaryButtonShadedEighty: @surface1 !important; - --newRedditTheme-primaryButtonTintedEighty: @surface2 !important; - --newRedditTheme-primaryButtonTintedFifty: @surface1 !important; - --newRedditTheme-primaryButtonTintedSixty: @surface1 !important; - --newRedditTheme-quarantine: @yellow !important; - --newRedditTheme-report: @base !important; - --newRedditTheme-search-syntaxHighlightBackgroundColor: @accent-color !important; - --newRedditTheme-search-syntaxHighlightColor: @base !important; - --newRedditTheme-titleText: @text !important; - --newRedditTheme-upsell-appleIcon: @overlay0 !important; - --newRedditTheme-upsell-ssoButtonBorderColor: @text !important; - --newRedditTheme-upsell-ssoButtonTextColor: @text !important; - --newRedditTheme-voteText-base: @subtext1 !important; - --newRedditTheme-voteText-downvote: @blue !important; - --newRedditTheme-voteText-downvoteShaded80: @blue !important; - --newRedditTheme-voteText-downvoteTinted80: @blue !important; - --newRedditTheme-voteText-upvote: @red !important; - --newRedditTheme-voteText-upvoteShaded80: @red !important; - --newRedditTheme-voteText-upvoteTinted80: @red !important; - --newRedditTheme-widgetColors-appleIcon: @overlay0 !important; - --newRedditTheme-widgetColors-lineColor: fadeout( - @surface1, - 30 - ) !important; - --newRedditTheme-widgetColors-sidebarWidgetBackgroundColor: @mantle !important; - --newRedditTheme-widgetColors-sidebarWidgetBorderColor: fadeout( - @surface1, - 30 - ) !important; - --newRedditTheme-widgetColors-sidebarWidgetHeaderColor: @crust !important; - --newRedditTheme-widgetColors-sidebarWidgetHeaderColorAlpha60: fadeout( - @crust, - 20 - ) !important; - --newRedditTheme-widgetColors-sidebarWidgetTextColor: @text !important; - --newRedditTheme-widgetColors-sidebarWidgetTextColorShaded80: @subtext1 !important; - --newRedditTheme-widgetColors-sidebarWidgetTitleColor: @text !important; - --tw-bg-opacity: @crust !important; - --vds-video-bg-color: @crust !important; - } - - /* reddit chat variables */ - :root { - --activity-button-chatFilterColor: @surface0 !important; - --activity-button-newChatFilter-activeBg: @accent-color !important; - --activity-button-newChatFilter-activeText: @base !important; - --activity-button-newChatFilter-defaultBorder: @surface1 !important; - --activity-button-newChatFilter-defaultText: @text !important; - --activity-button-primary: @accent-color !important; - --activity-button-secondary: @text !important; - --activity-buttonPrimary-color: @accent-color !important; - --activity-buttonSecondary-active: @accent-color !important; - --activity-checkbox-checked: @accent-color !important; - --activity-checkbox-checkmark: @text !important; - --activity-checkbox-unchecked: @base !important; - --activity-checkbox-uncheckedBorder: @surface1 !important; - --activity-icon-active: @accent-color !important; - --activity-icon-contrast: @surface1 !important; - --activity-icon-default: @subtext0 !important; - --activity-icon-disable: @surface2 !important; - --activity-icon-hover: @surface2 !important; - --activity-icon-nsfw-bg: @base !important; - --activity-icon-nsfw-text: @text !important; - --activity-icon-subIcon-backgroundColor: @text !important; - --activity-icon-toaster: @crust !important; - --activity-input-background: fadeout(@crust, 20) !important; - --activity-input-border: @surface1 !important; - --activity-input-channelRename: @subtext0 !important; - --activity-input-color: @subtext1 !important; - --activity-input-error: @red !important; - --activity-input-focusBg: @green !important; - --activity-input-focusColor: @text !important; - --activity-input-ownerBg: @surface0 !important; - --activity-link-hoverText: @red !important; - --activity-link-staticText: @accent-color !important; - --activity-link-staticUnderline: @accent-color !important; - --activity-minimizedPortal-backgroundColor-unreadFinal: @mantle !important; - --activity-minimizedPortal-backgroundColor-unreadInitial: @accent-color !important; - --activity-minimizedPortal-color-unreadFinal: @text !important; - --activity-minimizedPortal-color-unreadInitial: @text !important; - --activity-send-disable: @surface0 !important; - --activity-send-hover: @accent-color !important; - --activity-text-active: @accent-color !important; - --activity-text-fade: @subtext0 !important; - --activity-text-highlight: @text !important; - --activity-text-light: @subtext0 !important; - --activity-text-meta: @subtext0 !important; - --activity-text-regular: @text !important; - --activity-text-success: @green !important; - --activity-text-tutorial: @rosewater !important; - --activity-text-warning: @red !important; - --addReaction-backgroundColor: @surface0 !important; - --addReaction-iconFill: @surface1 !important; - --boxShadow: fadeout(@crust, 20) !important; - --bubble-border: fadeout(@surface1, 30) !important; - --bubble-channelsFilter-background: @crust !important; - --bubble-channelsFilter-selected: @overlay0 !important; - --bubble-color: @text !important; - --bubble-link-color: @accent-color !important; - --bubbleActions-hover: @surface0 !important; - --editName: @surface1 !important; - --layout-body: @mantle !important; - --layout-colsBorder: fadeout(@surface1, 30) !important; - --layout-controlsBorder: fadeout(@surface1, 30) !important; - --layout-dropdown-border: fadeout(@surface1, 30) !important; - --layout-header-counterBg: @red !important; - --layout-header-counterText: @text !important; - --layout-overlayBackground: fadeout(@crust, 20) !important; - --layout-overlayReportFlow: fadeout(@crust, 20) !important; - --layout-scrollbar: @text !important; - --layout-scrollbarHover: @accent-color !important; - --layout-timeStamp-tooltip-background: @surface0 !important; - --message-list-item-button: @surface1 !important; - --message-list-item-onlineIndicator: @green !important; - --message-list-item-ownerBg: @surface1 !important; - --message-list-item-richItem: @overlay0 !important; - --message-list-item-richItemBorder: fadeout(@surface1, 30) !important; - --message-list-item-white: @text !important; - --modal-buttonsBackground: @text !important; - --modal-primaryButtonWarning: @red !important; - --modal-secondaryButton: @text !important; - --newChat-inviteLink-borderColor: fadeout(@surface1, 30) !important; - --overlay-backgroundColor: @mantle !important; - --overlay-headerColor: @text !important; - --overlay-inputBackground: @crust !important; - --overlay-searchBarBackground: @mantle !important; - --prompt-tooltip-background: @accent-color !important; - --searchBar-backgroundColor: @mantle !important; - --settings-color: @subtext0 !important; - --settings-dropdownItemHoverBackground: @crust !important; - --settings-panelBackground: @crust !important; - --settings-panelItemHoverBackground: @surface0 !important; - --settings-panelItemSelectedBackground: @surface1 !important; - --sidebar-background: fadeout(@surface1, 30) !important; - --sidebar-basic-background-active: @accent-color !important; - --sidebar-basic-background-hover: @mantle !important; - --sidebar-footer-background: @crust !important; - --sidebar-item-active: @surface1 !important; - --sidebar-item-hover: @surface0 !important; - --sidebar-item-selected: @surface2 !important; - --sidebar-item-text-active: @text !important; - --sidebar-subreddit-background-active: @accent-color !important; - --sidebar-subreddit-background-hover: @surface1 !important; - --sidebar-text-divider: @surface1 !important; - --skeleton-field: @surface2 !important; - --skeleton-inactive: @surface0 !important; - --subreddit-iconBg: @accent-color !important; - --toast-error: @red !important; - --toast-pending: @crust !important; - --toast-success: @green !important; - --uploads-progress-background: @subtext0 !important; - --uploads-progress-bar: @accent-color !important; - --videoModal-button-background: @text !important; - --videoModal-button-color: @mantle !important; - } - - /* site background */ - div.ListingLayout-backgroundContainer::before { - background: @base !important; - } - - /* PROFILE MENU */ - - /* karma count */ - span#email-collection-tooltip-id > :nth-child(2) > :nth-child(2) > span { - color: @subtext0 !important; - } - - /* profile button karma icon */ - i.icon-karma_fill { - color: @red !important; - } - - /* menu headers */ - div[role="menu"] > div > div > span > span { - color: @subtext0 !important; - } - - /* switches, should also apply sitewide */ - button[role="switch"][aria-checked="false"] { - background: @surface0 !important; - } - - button[role="switch"] > div { - background: @text !important; - } - - /* online status */ - ._2dn5Ncenn0BSD4tCSmxQhA { - fill: @green !important; - } - - ._3SlBAJb2MbUHwgBZFH8eL7 { - fill: @base !important; - } - - /* PROFILE PAGE */ - - /* create avatar button */ - button._3F1tNW0P4Ff182mO_CefIg { - background: linear-gradient(90deg, @red, @peach) !important; - color: @base !important; - } - - button._3F1tNW0P4Ff182mO_CefIg > i { - color: @base !important; - } - - /* cake day and followers icon */ - i.icon-cake_fill, - i.icon-user_fill { - color: @accent-color !important; - } - - /* add social links button readability tweak */ - div._3hew1NnzwygOKDNQDKp6R4, - div._3hew1NnzwygOKDNQDKp6R4 > i, - li._3hew1NnzwygOKDNQDKp6R4 { - color: @base !important; - } - - /* profile moderation and user settings page */ - div._1VP69d9lk-Wk9zokOaylL { - --background: @base !important; - --canvas: @base !important; - } - - /* Beta Badge */ - span._2KFJx8Dhh1o1u0Xb8e7NuD { - color: @accent-color !important; - } - - /* Delete Account */ - button.EBd2MhBQlQeZ13YeP0K8a { - color: @accent-color !important; - } - - /* Delete Account Icon */ - svg._1Fa4RPHlhrfUZuNaXK2-eP > path { - fill: @accent-color !important; - } - - /* blocked, muted input */ - input._1Vnaj3fBuYrmHKEPQD_zWW { - background-color: @base !important; - } - - /* fixes profile posts not being themed */ - div.scrollerItem > div, - div[data-testid="post-container"], - div[style="background:#1A1A1B"], - div._2otRz3OtuWajw1RleFDJ5P { - background: @mantle !important; - } - - /* NFT AVATAR VIEWER */ - - /* modal background */ - div._productDetails_7kbcu_53 { - background: @mantle !important; - color: @text !important; - } - - /* Tag Color */ - .RESUserTagImage::after { - color: @accent-color; - } - - /* mint status */ - div._mintStatus_7kbcu_264 { - color: @accent-color !important; - } - - /* carousel background */ - div._carousel_7kbcu_45 { - background: linear-gradient(243.37deg, @base 16.42%, @blue 100%); - } - - /* nft card back */ - div._card_1ooes_1 { - background: @blue !important; - } - - ol._container_1t62i_1 { - border-color: @base !important; - } - - ol._container_1t62i_1 > li { - border-color: @base !important; - } - - ol._container_1t62i_1 > li > div { - color: @base !important; - } - - div.MuiMobileStepper-dot { - background: @surface0 !important; - } - - div.MuiMobileStepper-dotActive { - background: @accent-color !important; - } - - div._scrollContainer_7kbcu_104 > div > h3, - div._cardAuthor_7kbcu_79 { - color: @subtext0 !important; - } - - div._container_oikih_1 { - background: @crust !important; - border-color: @surface1 !important; - } - - /* external links */ - a._pill_7kbcu_280 { - background: @crust !important; - color: @text !important; - } - - /* shop for avatars button */ - button._shopForMoreButton_7kbcu_125 { - background: linear-gradient(90deg, @red, @peach) !important; - color: @base !important; - } - - /* AVATAR CREATOR */ - div._wrapper_1upjl_7 { - background: @base !important; - color: @text !important; - } - - /* SITE HEADER */ - - /* reddit logo */ - a[aria-label="Home"] > svg > g > circle { - fill: @accent-color !important; - } - - a[aria-label="Home"] > svg:first-child > g > path { - fill: @base !important; - } - - a[aria-label="Home"] > svg:nth-child(2) > g > path { - fill: @text !important; - } - - /* Post title from notification */ - h1._eYtD2XCVieq6emjKBH3m { - color: @text !important; - } - - /* notification icon */ - button[aria-label="Open notifications inbox"] > div > span { - background: @accent-color !important; - color: @mantle !important; - } - - /* advertise button */ - #change-username-tooltip-id > span._2I12Htze2UzJmmfnrgYJOn > a { - background: @surface0 !important; - color: @text !important; - } - - #change-username-tooltip-id > span._2I12Htze2UzJmmfnrgYJOn > a > i { - color: @text !important; - } - - /* reddit now notification */ - a[href="/now"] > div { - background: @accent-color !important; - } - - /* search scope pill text */ - div[data-testid="search-scope-pill-text"] { - color: @text !important; - } - - /* search popup title */ - div[class*="_2SdHzo12ISmrC8H86TgSCp"][class*="_1QVrieUoti9cxiQSRw314E"][class*="uWdXen_41bh0iwLrgzFkc"] { - --posttitletextcolor: @text !important; - } - - /* safe search toggle */ - button#safe-search-toggle[aria-checked="true"] { - background: @accent-color !important; - } - - /* NAVIGATION SIDEBAR */ - - /* close icon */ - i.icon-close { - color: @subtext0 !important; - } - - /* item color */ - a[role="menuitem"] { - color: @text !important; - } - - /* navigation sidebar header color */ - div[role="menu"] > div[role="heading"] { - color: @subtext0 !important; - } - - a[role="menuitem"]:hover { - background: @surface0 !important; - } - - /* favorites */ - i.icon-star_fill { - color: @accent-color !important; - } - - i.icon-star { - color: @subtext0 !important; - } - - /* RIGHT FRONTPAGE SIDEBAR */ - - /* reddit premium icon */ - i.icon-premium_fill { - color: @accent-color !important; - } - - /* reddit premium try now button */ - button._10BQ7pjWbeYP63SAPNS8Ts.q_unSaY23rpdd3lDvGZ- { - background: @accent-color !important; - color: @base !important; - } - - /* recent posts thumbnail borders */ - div._3fWuhJ6bVet7XJT5A0mZM2 > div > div > div { - border-color: @subtext0 !important; - } - - /* POSTS */ - - /* post background for card style */ - div[data-adclicklocation="background"] { - background: @base !important; - } - - /* post options (save, comment, etc.) */ - div._3-miAEojrCvx_4FQ8x3P-s, - i.icon-comment, - i.icon-share, - i.icon-save, - i.icon-expand, - i.icon-collapse, - i.icon-text_post, - i.icon-image_post, - i.icon-media_gallery, - i.icon-video_post, - i.icon-gif_post, - i.icon-embed, - i.icon-external_link, - i.icon-poll_post { - color: @subtext0 !important; - } - - /* post title color */ - div[data-adclicklocation="title"] > div > a > div > h3, - div[data-adclicklocation="title"] - > div:first-child - > div:first-child - > h1:first-child { - color: @text !important; - } - - /* - * post op color and - * post date color - */ - div[data-adclicklocation="top_bar"] > span, - a[data-testid="post_author_link"] { - color: @subtext0 !important; - } - - /* nsfw flair */ - span._1wzhGvvafQFOWAyA157okr { - border-color: @red !important; - color: @red !important; - } - - /* pinned post icon */ - i.icon-pin_fill { - color: @green !important; - } - - /* give award icon */ - i.icon-award { - color: @subtext0 !important; - } - - /* locked post icon */ - i.icon-archived_fill, - i.icon-lock_fill { - color: @yellow !important; - } - - /* post button divider */ - div[data-click-id="body"] > div:nth-child(3) > div:nth-child(3) { - border-color: @surface1 !important; - } - - /* UPVOTES/DOWNVOTES */ - - /* upvote/downvote background */ - div.Post, - div[data-click-id="media"] { - background: @mantle !important; - fill: @mantle !important; - } - - /* inactive vote text color */ - div[id^="vote-arrows"] > div { - color: @subtext0 !important; - } - - /* active upvote color */ - i.icon-upvote_fill { - color: @red !important; - } - - button[aria-label="upvote"][aria-pressed="false"] > span:hover > i { - color: @red !important; - } - - /* active upvote text color */ - button[aria-label="upvote"][aria-pressed="true"] ~ div { - color: @red !important; - } - - /* hover background for both upvotes and downvotes */ - button[aria-label="upvote"][aria-label="downvote"] > span:hover { - background: @surface0 !important; - } - - /* active downvote color */ - .icon-downvote_fill { - color: @blue !important; - } - - /* active downvote text color */ - button[aria-label="downvote"][aria-pressed="true"] ~ div { - color: @blue !important; - } - - button[aria-label="downvote"][aria-pressed="false"] > span:hover > i { - color: @blue !important; - } - - /* REPORT MODAL */ - - a.o1ov2mzLxTFAFP-O4Uv8I { - color: @accent-color !important; - } - - button._1lDGFVGU9k2mi-4kjU95Rp { - color: @base !important; - } - - /* SUBREDDIT PAGES */ - a[role="button"][target="_blank"] { - background: @text !important; - color: @base !important; - } - - /* radio buttons (flair selector, etc.) */ - div[role="radio"]:hover, - div[role="radio"]:focus { - background: @accent-color !important; - } - - div[role="radio"] > svg, - div[role="radio"] > svg:active { - fill: @text !important; - } - - /* checkboxes */ - button[role="checkbox"] { - fill: @accent-color !important; - } - - /* SUBREDDIT RIGHT SIDEBAR (some styles carry over from the homepage right sidebar section) */ - - /* header background */ - ._ZhON3a3vplThB8NFwuJn { - background: @crust !important; - color: @text !important; - } - - /* subreddit image background */ - img[alt="Subreddit Icon"][role="presentation"] { - background: @accent-color !important; - } - - /* border between uela */ - ._1KrMye71CT332tKKKUWAj6:not(:last-of-type) { - border-bottom-color: @surface0; - } - - /* follower color */ - .bg-neutral-background { - color: @text !important; - } - - /* default subreddit icon */ - i.icon-community_fill { - color: @accent-color !important; - } - - /* online users */ - div._21RLQh5PvUhC6vOKoFeHUP::before { - color: @green !important; - } - - /* POST VIEWER */ - - /* spoiler tags */ - ._2v4IIjPhKL0PDaWaWtjJ1E { - background: @surface0 !important; - } - - /* mod comment tag */ - span[id^="CommentTopMeta--Mod"] { - color: @green !important; - } - - /* op comment tag */ - span[id^="CommentTopMeta--OP"] { - color: @blue !important; - } - - /* post overlay if you have "open in new tab" disabled */ - div#overlayScrollContainer > div { - background: @crust !important; - } - - /* fixes comment section background not working when "open in new tab is disabled" */ - div._2M2wOqmeoPVvcSsJ6Po9-V._3287nL7j7epK9JmDC3N1VR { - background: @mantle !important; - } - - /* shade applied to background when clicking on a post with "open in new tab" disabled */ - div._2DJXORCrmcNpPTSq0LqL6i, - div._1DK52RbaamLOWw5UPaht_S { - background: fadeout(@crust, 20) !important; - } - - /* gold award gradient */ - div.TmlaIdEplCzZ0F1aRGYQh[role="presentation"] { - background: linear-gradient( - 188deg, - #f9e2af1f 1.7%, - #f9e2af00 46%, - rgba(0, 0, 0, 0) - ) !important; - } - - /* image gallery next/previous buttons */ - a[title="Next"] > i, - a[title="Previous"] > i { - background: @surface0 !important; - } - - /* image gallery image count */ - div._61i6grM3um1yuw4GrN97P { - background: fadeout(@crust, 20) !important; - color: @text !important; - } - - /* comment search bar */ - input#comment_search-bar { - background: @base !important; - } - - /* tab bar below banner */ - ._1gVVmSnHZpkUgVShsn7-ua { - background: @mantle !important; - } - - /* MULTIREDDITS/CUSTOM FEEDS */ - - /* delete custom feed button */ - .bX6SqXfzfxpv4GQbuIYVZ { - color: @red !important; - } - - /* TOOLTIPS */ - div.HQ2VJViRjokXpRbJzPvvc { - background: @mantle !important; - color: @text !important; - } - - div.HQ2VJViRjokXpRbJzPvvc::after { - border-top-color: @mantle !important; - } - - /* Recap Reddit Logo */ - .snoo-cls-1, - .snoo-cls-2, - .snoo-cls-3, - .snoo-cls-6, - .snoo-cls-8, - .snoo-cls-9 { - fill: @base; - } - - .snoo-cls-4, - .snoo-cls-5, - .snoo-cls-7, - .snoo-cls-10, - .snoo-cls-11 { - fill: @accent-color; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/reddit/catppuccin.user.less b/styles/reddit/catppuccin.user.less new file mode 100644 index 0000000000..ce88940e32 --- /dev/null +++ b/styles/reddit/catppuccin.user.less @@ -0,0 +1,168 @@ +/* ==UserStyle== +@name Reddit Catppuccin +@namespace github.com/catppuccin/userstyles/styles/reddit +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/reddit +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/reddit/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Areddit +@description Soothing pastel theme for Reddit +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("reddit.com") { + :root:not(.theme-dark) .theme-rpl, + :root:not(.theme-dark).theme-rpl, + :root:not(.theme-dark) .theme-beta, + :root:not(.theme-dark).theme-beta, + .theme-light { + #catppuccin(@lightFlavor); + } + + :root:not(.theme-light) .theme-rpl, + :root:not(.theme-light).theme-rpl, + :root:not(.theme-light) .theme-beta, + :root:not(.theme-light).theme-beta, + .theme-dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --color-pizzaRed: @red !important; + --color-global-brand-orangered: @accent !important; + --color-global-focus: @surface1 !important; + --color-interactive-content-disabled: @subtext0 !important; + --color-interactive-background-disabled: fade(@surface2, 70%) !important; + --color-interactive-pressed: @surface2 !important; + --color-neutral-content: @text !important; + --color-neutral-content-disabled: @subtext0 !important; + --color-neutral-content-weak: @subtext0 !important; + --color-neutral-content-strong: @text !important; + --color-global-white: @crust !important; + --color-neutral-background: @base !important; + --color-neutral-background-selected: @surface0 !important; + --color-neutral-background-weak: @mantle !important; + --color-neutral-background-medium: @base !important; + --color-neutral-background-strong: @crust !important; + --color-neutral-background-hover: @surface0 !important; + --color-neutral-border: @surface0 !important; + --color-neutral-border-medium: @surface0 !important; + --color-neutral-border-weak: @surface0 !important; + --color-neutral-border-strong: @surface2 !important; + --color-primary: @accent !important; + --color-primary-hover: lighten(@accent, 10%) !important; + --color-primary-visited: @lavender !important; + --color-primary-background: @accent !important; + --color-primary-background-hover: darken(@accent, 5%) !important; + --color-primary-background-selected: darken(@accent, 5%) !important; + --color-primary-onBackground: @base !important; + --color-primary-onBackground-selected: @crust !important; + --color-secondary: @subtext0 !important; + --color-secondary-hover: @subtext1 !important; + --color-secondary-weak: @subtext0 !important; + --color-secondary-onBackground: @text !important; + --color-secondary-background: @mantle !important; + --color-secondary-background-hover: @surface1 !important; + --color-secondary-background-selected: @surface1 !important; + --color-secondary-plain: @subtext0 !important; + --color-secondary-plain-hover: @subtext1 !important; + --color-secondary-plain-weak: @subtext0 !important; + --color-danger-background: @red !important; + --color-danger-background-disabled: fade(@red, 20%) !important; + --color-danger-background-hover: fade(@red, 98%) !important; + --color-danger-onBackground: @text !important; + --color-danger-content: @red !important; + --color-danger-content-default: @crust; + --color-danger-content-hover: darken(@red, 2%) !important; + --color-success-content: @green !important; + --color-success-hover: darken(@green, 2%) !important; + --color-success-onBackground: @crust; + --color-success-background: @green !important; + --color-success-background-hover: darken(@green, 2%) !important; + --color-warning-content: @yellow !important; + --color-warning-content-hover: darken(@yellow, 2%) !important; + --color-warning-onBackground: @base !important; + --color-warning-background: @yellow !important; + --color-warning-background-hover: darken(@yellow, 2%) !important; + --color-upvote-content: @accent !important; + --color-upvote-disabled: @subtext0 !important; + --color-upvote-onBackground: @text !important; + --color-upvote-background: @base !important; + --color-upvote-background-hover: darken(@accent, 5%) !important; + --color-upvote-background-disabled: @base !important; + --color-downvote-content: @text !important; + --color-downvote-content-weak: @text !important; + --color-downvote-disabled: @subtext0 !important; + --color-downvote-onBackground: @text !important; + --color-downvote-background: @base !important; + --color-downvote-background-hover: darken(@blue, 5%) !important; + --color-downvote-background-disabled: @mantle !important; + --color-tone-1: @text !important; + --color-tone-2: @subtext0 !important; + --color-tone-3: @overlay2 !important; + --color-tone-4: @surface0 !important; + --color-tone-5: @surface1 !important; + --color-tone-6: @surface2 !important; + --color-tone-7: @base !important; + --color-avatar-gradient: @accent !important; + --color-transparent-background-hover: fade(@surface0, 30%) !important; + --color-opacity-50: fade(@base, 50%) !important; + --color-online: @accent !important; + --color-favorite: @accent !important; + --color-brand-background: @accent !important; + --color-brand-background-hover: darken(@accent, 5%) !important; + --color-brand-onBackground: @crust !important; + --color-global-orangered: @accent !important; + --color-action-upvote: @accent !important; + --color-action-downvote: @blue; + --color-banner-error-text: @base !important; + + --shreddit-color-wordmark: @accent; + #reddit-logo { + circle[fill="#FF4500"] { + fill: @accent !important; + } + path[fill="#FFF"] { + fill: @crust !important; + } + } + + /* Trending news carousel on https://www.reddit.com/r/popular/. */ + shreddit-gallery-carousel { + // Headline + .text-primary-onBackground { + color: @text; + } + + // r/... *and more* + .text-coolgray-350 { + color: @subtext1; + } + } + + /* Community themes - post header/metadata background and text. */ + #pdp-credit-bar { + --color-neutral-background: @base; + --color-neutral-content: @text; + --color-neutral-content-weak: @subtext0; + --color-primary-hover: lighten(@accent, 10%); + } + + reddit-header-large reddit-search-large::before, + reddit-header-large reddit-search-large::after { + background: + linear-gradient(@base, @base) padding-box, + linear-gradient(90deg, @accent, @accent) border-box; + } + } +} diff --git a/styles/reddit/preview.webp b/styles/reddit/preview.webp deleted file mode 100644 index 9636f0b282..0000000000 --- a/styles/reddit/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:585afc42f5d4cfedbb4099561dd94236c9bbb0f74109840979d96771e2b49246 -size 106238 diff --git a/styles/regex101/README.md b/styles/regex101/README.md new file mode 100644 index 0000000000..a49f53e219 --- /dev/null +++ b/styles/regex101/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for regex101 + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/regex101/catppuccin.user.less b/styles/regex101/catppuccin.user.less new file mode 100644 index 0000000000..2588787202 --- /dev/null +++ b/styles/regex101/catppuccin.user.less @@ -0,0 +1,164 @@ +/* ==UserStyle== +@name regex101 Catppuccin +@namespace github.com/catppuccin/userstyles/styles/regex101 +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/regex101 +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/regex101/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aregex101 +@description Soothing pastel theme for regex101 +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("regex101.com") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + + :root { + &[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + &[data-theme="light"] { + #catppuccin(@lightFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --primary-color: @crust; + --primary-contrast-color: @accent; + + --app-color: @text; + --app-color-metadata: @subtext0; + --app-contrast-color: @subtext1; + + --link-color: @accent; + + --highlight-bg: @green; + --spinner-bg: @overlay0; + --bg-0: @mantle; + --bg-1: @base; + --content-bg: @surface0; + + --content-border-color: @surface1; + --sub-content-bg: @surface1; + + --info-color: @subtext0; + --success-color: @green; + --warning-color: @yellow; + --danger-color: @red; + + --misc-button-icon-color: @subtext1; + --misc-button-bg: @surface0; + --misc-button-hover-bg: @surface1; + --misc-button-active-bg: @surface2; + --misc-button-active-color: @base; + --misc-button-highlight-bg: fade(@green, 40%); + + --editor-active-bg: @overlay2; + --library-active-bg: @yellow; + --account-active-bg: @green; + --quiz-active-bg: @teal; + --settings-active-bg: @pink; + + #hsl-variables(--button-bg, @surface0); + #hsl-variables(--button-ok-bg, @mantle); + #hsl-variables(--button-danger-bg, fade(@red, 30%)); + + --button-hover-l: lightness(@surface1); + --backdrop-bg: fade(@overlay0, 30%); + + --input-bg: @base; + --input-disabled-bg: @mantle; + --input-border-color: @surface0; + --input-focused-border-color: @surface0; + + --label-color: @subtext1; + --tooltip-color: @crust; + --tooltip-bg: @subtext0; + --version-btn-bg: fade(@green, 30%); + --match-indicator-no-match: fade(@blue, 30%); + --match-indicator-match-bg: fade(@green, 30%); + --match-indicator-error-bg: fade(@red, 30%); + + --debugger-backtrack-bg: fade(@red, 30%); + --debugger-regex-bg: fade(@green, 30%); + --debugger-slider-bg: @surface2; + + --header-discord-color: @lavender; + --header-twitter-color: @text; + --header-donate-color: @yellow; + --header-contact-color: @green; + --header-feedback-color: @maroon; + --header-wiki-color: @teal; + --header-whatsnew-color: @yellow; + --header-sponsor-color: @pink; + --header-paypal-color: @blue; + --header-info-color: @sky; + --header-social-color: @green; + --header-stripe-color: @blue; + + --starred-library-entry-bg: fade(@yellow, 10%); + --cm-whitespace-color: @overlay1; + --cm-selected-bg: fade(@accent, 30%); + --cm-inactive-selected-bg: fade(@accent, 30%); + + @match-group-colors: @blue, @green, @yellow, @mauve, @pink, @red, @green; + each( + @match-group-colors, + { + @i: @index - 1; + --match-group-@{i}: @value; + --match-group-@{i}-alt: darken(@value, 10%); + } + ); + + --match-highlight-color: fade(@yellow, 90%); + + --explanation-keyword-color: @green; + --explanation-token-bg: fade(@yellow, 80%); + --explanation-token-color: @base; + --explanation-plain-text-bg: fade(@surface2, 80%); + --explanation-flag-color: @mauve; + + --token-quote-color: @mauve; + --token-quote-bg: none; + --token-escaped-string-color: var(--app-color); + --token-escaped-string-bg: fade(@overlay1, 30%); + #accent-token(meta, @blue); + #accent-token(char-class, @rosewater); + #accent-token(char-class-meta, @flamingo); + #accent-token(subpattern-reference, @mauve); + #accent-token(group-0, @green); + #accent-token(group-1, @yellow); + #accent-token(group-2, @peach); + #accent-token(group-3, @maroon); + #accent-token(comment, transparent); + #accent-token(error, @red); + + #accent-token(@id, @color) { + --token-@{id}-bg: @color; + --token-@{id}-color: @base; + } + + #hsl-variables(@variable, @color) { + @{variable}-h: hue(@color); + @{variable}-s: saturation(@color); + @{variable}-l: lightness(@color); + } + + // Canvas is pulling Catppuccin colours from CSS variables, just needs fading for contrast + canvas { + filter: opacity(0.3); + } + } +} diff --git a/styles/rentry.co/README.md b/styles/rentry.co/README.md new file mode 100644 index 0000000000..45f4c14516 --- /dev/null +++ b/styles/rentry.co/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Rentry.co + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [thismoon](https://github.com/thismoon) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/rentry.co/catppuccin.user.less b/styles/rentry.co/catppuccin.user.less new file mode 100644 index 0000000000..4b56d8c391 --- /dev/null +++ b/styles/rentry.co/catppuccin.user.less @@ -0,0 +1,389 @@ +/* ==UserStyle== +@name Rentry.co Catppuccin +@namespace github.com/catppuccin/userstyles/styles/rentry.co +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/rentry.co +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/rentry.co/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Arentry.co +@description Soothing pastel theme for Rentry.co +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("rentry.org"), domain("rentry.co") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + .dark-mode { + #catppuccin(@darkFlavor); + #darkModeBtn::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + :root:not(.dark-mode) { + #catppuccin(@lightFlavor); + #darkModeBtn::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + body { + background: @crust; + color: @text; + } + /* Editor and preview */ + .cm-s-default, + .markdownx-preview, + .entry-text, + .tab-content { + background: @base !important; + color: @text !important; + } + + /* Tab navigation */ + .nav-link { + background: @mantle; + color: @overlay0 !important; + + &.active { + background: @base !important; + color: @text !important; + } + } + .form-control, + textarea { + background: @base !important; + color: @text !important; + } + .input-success { + box-shadow: inset 4px 0 @green !important; + } + .input-error { + &, + + .CodeMirror-wrap { + box-shadow: @red 4px 0 inset !important; + } + } + .input-warning { + box-shadow: @yellow 4px 0 inset !important; + } + .btn { + background: @base !important; + color: @text !important; + &:hover { + background: @surface0 !important; + color: @text !important; + } + } + .btn-success { + &, + &.btn, + &:hover { + color: @green !important; + } + &#submitButton { + background: @base !important; + &:hover { + background: @surface0 !important; + } + } + } + .btn-danger { + &, + &.btn, + &:hover { + color: @red !important; + } + } + .clipboard { + color: @text; + background: none; + } + #progressBar { + background-color: @blue !important; + } + .full-contrast:not(.active) path { + fill: @overlay2 !important; + } + .full-contrast.active path { + fill: @peach !important; + } + .edit-code { + background: @mantle; + color: @text !important; + } + .cb-tooltiptext { + color: @text !important; + background: @surface0 !important; + } + .cb-tooltiptext-bottom::after { + border-color: transparent transparent @surface0; + } + .headerlink { + color: @overlay1 !important; + } + #submitButton { + background: @mantle !important; + } + // claim-guide page + .color-change { + &[style="color:grey"] { + color: @overlay2 !important; + } + &[style="color:#039205"] { + color: @green !important; + } + } + // delete modal + .modal-content { + background: @crust; + color: @text; + } + .modal-body { + color: @overlay2; + } + .modal-header { + color: @text !important; + } + .modal-header, + .modal-footer { + border-color: @surface1 !important; + } + #deleteButton { + color: @red !important; + } + // footer + a { + color: @blue; + + &:hover { + color: @sky !important; + } + } + .text-muted { + color: @overlay2 !important; + } + .text-primary { + color: @blue !important; + } + .text-success { + color: @green !important; + } + .text-warning, + .text-warning-darker { + color: @yellow !important; + } + .text-danger { + color: @red !important; + } + // editor + .CodeMirror-line::selection, + .CodeMirror-line > span::selection, + .CodeMirror-line > span > span::selection { + background-color: fade(@overlay2, 25%); + } + .cm-s-default { + .cm-formatting-admonition { + color: @yellow; + } + .cm-mark { + color: @yellow; + } + .cm-link { + color: @lavender; + } + .cm-url { + color: @blue; + } + .cm-formatting-toc { + color: @mauve; + } + .cm-variable-2 { + color: @green; + } + .cm-keyword { + color: @pink; + } + .cm-meta { + color: @subtext0; + } + .cm-comment { + color: @pink; + } + .cm-hr { + color: @surface2; + } + .cm-tag { + color: @blue; + } + .cm-header { + color: @text; + } + .cm-quote { + color: @green; + border-color: @green; + } + } + blockquote { + color: @green; + border-color: @green; + } + mark { + background: fade(@yellow, 25%); + color: @text; + } + .spoiler { + color: @text; + background: @text; + } + .spoiler:hover { + background: none; + } + code { + color: @red !important; + background: fade(@red, 10%) !important; + } + hr { + border-top-color: @surface1 !important; + } + .admonition { + &.info, + &.hint, + &.tip { + color: @blue; + background: fade(@blue, 25%); + > .admonition-title::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + &.note, + &.important { + color: @green; + background-color: fade(@green, 25%); + &, + .admonition.greentext { + > .admonition-title::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + } + &.greentext { + color: @green; + background-color: fade(@yellow, 25%); + } + &.warning, + &.caution, + &.attention { + color: @yellow; + background-color: fade(@yellow, 25%); + > .admonition-title::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + &.danger, + &.error { + color: @red; + background-color: fade(@red, 25%); + > .admonition-title::before { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + .admonition-title::before, + &.warning > .admonition-title::before, + &.danger > .admonition-title::before { + filter: none !important; + } + } + // code + .highlighttable { + border-left-color: @surface0 !important; + } + .linenodiv > pre > .normal > a:not(:hover), + .linenodiv > pre > a:not(:hover) { + color: @overlay2 !important; + } + .entry-text pre, + .markdownx-preview pre, + code { + color: @red !important; + } + .highlight { + pre { + color: @text !important; + } + border-color: @surface0 !important; + } + /* tables */ + // help tab/page table + .mtable > tbody > tr:nth-child(even) { + background-color: @mantle !important; + } + // markdown tables + .ntable th { + background-color: @surface1 !important; + border-color: @surface2 !important; + color: @text; + } + .ntable tr:nth-child(even) { + background-color: @surface0 !important; + } + } +} + +@-moz-document regexp("https?://rentry\\.(co|org)/.+/(raw|exists)"), + url-prefix("https://rentry.co/static/"), + domain("export3.rentry.co") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + + // TODO: Can we use defaults? Currently doesn't have input/textarea placeholder styling. + color-scheme: if(@flavor = latte, light, dark); + + ::selection { + background-color: fade(@accent, 30%); + } + + body { + color: @text !important; + background: @base !important; + } + } +} diff --git a/styles/scalar/README.md b/styles/scalar/README.md new file mode 100644 index 0000000000..7af3057250 --- /dev/null +++ b/styles/scalar/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Scalar + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [incognitotgt](https://github.com/incognitotgt) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/scalar/catppuccin.user.less b/styles/scalar/catppuccin.user.less new file mode 100644 index 0000000000..967643af30 --- /dev/null +++ b/styles/scalar/catppuccin.user.less @@ -0,0 +1,85 @@ +/* ==UserStyle== +@name Scalar Catppuccin +@namespace github.com/catppuccin/userstyles/styles/scalar +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/scalar +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/scalar/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ascalar +@description Soothing pastel theme for Scalar +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("scalar.com") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); + code.hljs { + background: none !important; + } + + .light-mode { + #catppuccin(@lightFlavor); + } + + .dark-mode { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --scalar-color-1: @text; + --scalar-color-2: @subtext1; + --scalar-color-3: @subtext0; + --scalar-color-accent: @accent; + --scalar-background-1: @base; + --scalar-background-2: @surface0; + --scalar-background-3: @surface1; + --scalar-background-accent: fade(@accent, 12%); + --scalar-border-color: @surface1; + --scalar-color-green: @green; + --scalar-color-red: @red; + --scalar-color-yellow: @yellow; + --scalar-color-blue: @blue; + --scalar-color-orange: @peach; + --scalar-color-purple: @mauve; + --scalar-selection-1: fade(@accent, 30%); + --scalar-button-1: @accent; + --scalar-button-1-hover: darken(@accent, 5%); + --scalar-button-1-color: @base; + + background-color: @base; + + .sidebar { + --scalar-sidebar-background-1: @mantle; + --scalar-sidebar-item-hover-background: @surface0; + --scalar-sidebar-item-active-background: fade(@accent, 10%); + --scalar-sidebar-color-active: @accent; + } + + .scalar-code-block, .t-editor__code { + background-color: @mantle; + } + + .brightness-lifted { + filter: none; // remove elevated filter on dropdown modal backgrounds + } + + .text-white { + color: @base; // danger (delete) button text + } + + // https://scalar.com/ + .logo { + filter: @text-filter; + } + } +} diff --git a/styles/searchix/README.md b/styles/searchix/README.md new file mode 100644 index 0000000000..cfbe22219f --- /dev/null +++ b/styles/searchix/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Searchix + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [koibtw](https://github.com/koibtw) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/searchix/catppuccin.user.less b/styles/searchix/catppuccin.user.less new file mode 100644 index 0000000000..10978d9674 --- /dev/null +++ b/styles/searchix/catppuccin.user.less @@ -0,0 +1,50 @@ +/* ==UserStyle== +@name Searchix Catppuccin +@namespace github.com/catppuccin/userstyles/styles/searchix +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/searchix +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/searchix/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asearchix +@description Soothing pastel theme for Searchix +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("searchix.ovh") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --bg: @base; + --accent-bg: @mantle; + --text: @text; + --text-light: @subtext0; + --accent: @accent; + --accent-hover: @accent; + --accent-error: fade(@red, 20%); + --border: @overlay0; + --code: @lavender; + --preformatted: @text; + --disabled: @crust; + + dialog { + color: var(--text); + } + } +} diff --git a/styles/searxng/README.md b/styles/searxng/README.md index 8e68504bf3..f57051ef06 100644 --- a/styles/searxng/README.md +++ b/styles/searxng/README.md @@ -10,18 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainers -- [Sekki](https://github.com/Sekki21956) -- [Ryan Cao](https://github.com/ryanccn) +- [Sekki21956](https://github.com/Sekki21956) +- [ryanccn](https://github.com/ryanccn)   diff --git a/styles/searxng/catppuccin.user.css b/styles/searxng/catppuccin.user.less similarity index 52% rename from styles/searxng/catppuccin.user.css rename to styles/searxng/catppuccin.user.less index ba1ab91ecd..be7f01fb17 100644 --- a/styles/searxng/catppuccin.user.css +++ b/styles/searxng/catppuccin.user.less @@ -2,8 +2,8 @@ @name SearXNG Catppuccin @namespace github.com/catppuccin/userstyles/styles/searxng @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/searxng -@version 0.3.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/searxng/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/searxng/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asearxng @description Soothing pastel theme for SearXNG @author Catppuccin @@ -17,75 +17,35 @@ @var checkbox additions "Additional Tweaks" 0 ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + /* Domains picked from https://searx.space/. */ -@-moz-document domain("https://search.bus-hit.me/"), domain("https://search.inetol.net/") -{ - @media (prefers-color-scheme: light) { - :root.theme-auto { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document domain("search.bus-hit.me"), domain("search.inetol.net") { + :root.theme-auto { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - - @media (prefers-color-scheme: dark) { - :root.theme-auto { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } :root.theme-dark { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root.theme-light { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --color-base-font: @text; --color-base-background: @base; --color-base-background-mobile: @base; - --color-url-font: @accent-color; - --color-url-visited-font: @accent-color; + --color-url-font: @blue; + --color-url-visited-font: @lavender; --color-header-background: @mantle; --color-header-border: @mantle; --color-footer-background: @mantle; @@ -96,15 +56,15 @@ --color-backtotop-font: @subtext1; --color-backtotop-border: @surface0; --color-backtotop-background: @surface0; - --color-btn-background: @accent-color; + --color-btn-background: @accent; --color-btn-font: @base; - --color-show-btn-background: @accent-color; + --color-show-btn-background: @accent; --color-show-btn-font: @base; --color-search-border: @surface0; --color-search-shadow: 0 2px 8px @crust; --color-search-background: @surface0; --color-search-font: @text; - --color-search-background-hover: @accent-color; + --color-search-background-hover: @accent; --color-error: @red; --color-error-background: @surface0; --color-warning: @yellow; @@ -112,7 +72,7 @@ --color-success: @green; --color-success-background: @surface0; --color-categories-item-selected-font: @text; - --color-categories-item-border-selected: @accent-color; + --color-categories-item-border-selected: @accent; --color-autocomplete-font: @subtext1; --color-autocomplete-border: @surface0; --color-autocomplete-shadow: 0 2px 8px @crust; @@ -124,11 +84,11 @@ --color-result-border: @base; --color-result-url-font: @subtext1; --color-result-vim-selected: @surface0; - --color-result-vim-arrow: @accent-color; + --color-result-vim-arrow: @accent; --color-result-description-highlight-font: @text; - --color-result-link-font: @accent-color; - --color-result-link-font-highlight: @accent-color; - --color-result-link-visited-font: @accent-color; + --color-result-link-font: @blue; + --color-result-link-font-highlight: @blue; + --color-result-link-visited-font: @lavender; --color-result-publishdate-font: @surface2; --color-result-engines-font: @surface2; --color-result-search-url-border: @surface2; @@ -137,7 +97,7 @@ --color-result-detail-label-font: @subtext0; --color-result-detail-background: @base; --color-result-detail-hr: @base; - --color-result-detail-link: @accent-color; + --color-result-detail-link: @blue; --color-result-detail-loader-border: rgba(255, 255, 255, 0.2); --color-result-detail-loader-borderleft: @crust; --color-result-image-span-font: @text; @@ -166,7 +126,7 @@ --color-toolkit-checkbox-onoff-off-mark-color: @mantle; --color-toolkit-checkbox-label-background: @base; --color-toolkit-checkbox-label-border: @mantle; - --color-toolkit-checkbox-input-border: @accent-color; + --color-toolkit-checkbox-input-border: @accent; --color-toolkit-engine-tooltip-border: @surface0; --color-toolkit-engine-tooltip-background: @surface0; --color-toolkit-loader-border: rgba(255, 255, 255, 0.2); @@ -175,13 +135,17 @@ --color-doc-code-background: @mantle; #search_logo svg :not([fill="none"]) { - fill: @accent-color; + fill: @accent; } #search_logo svg :not([stroke="none"]) { - stroke: @accent-color; + stroke: @accent; + } + + .index .title { + filter: @accent-filter; } - & when(@additions) { + & when (@additions = 1) { article.result { background-color: var(--color-result-background); border-radius: 0.75em; @@ -194,13 +158,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/searxng/preview.webp b/styles/searxng/preview.webp deleted file mode 100644 index 04b3afeac1..0000000000 --- a/styles/searxng/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6aec05055ae2eba05f78a53e08c35d37d9c7af5f0cfb5f29e7a69aa4bb847949 -size 68342 diff --git a/styles/seventv/README.md b/styles/seventv/README.md new file mode 100644 index 0000000000..3593a6cd13 --- /dev/null +++ b/styles/seventv/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for 7TV + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [mxgic1337](https://github.com/mxgic1337) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/seventv/catppuccin.user.less b/styles/seventv/catppuccin.user.less new file mode 100644 index 0000000000..aa3b274061 --- /dev/null +++ b/styles/seventv/catppuccin.user.less @@ -0,0 +1,514 @@ +/* ==UserStyle== +@name 7TV Catppuccin +@namespace github.com/catppuccin/userstyles/styles/seventv +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/seventv +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/seventv/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aseventv +@description Soothing pastel theme for 7TV +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("7tv.app") { + .light-theme { + #catppuccin(@lightFlavor); + } + .dark-theme { + #catppuccin(@darkFlavor); + } + + .system-theme { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + background-color: @base; + + --secondary: @surface0; + --secondary-text: @text; + --secondary-hover: @surface0; + --secondary-active: @surface0; + --secondary-disabled: @crust; + --secondary-border: transparent; + --primary: @accent; + --primary-text: @crust; + --primary-hover: darken(@accent, 5%); + --primary-active: darken(@accent, 5%); + --primary-disabled: @subtext0; + --primary-border: transparent; + --bg-dark: @crust; + --bg-medium: @mantle; + --bg-light: @base; + --text: @text; + --text-light: @subtext0; + --layout-border: transparent; + --border-active: @base; + --store: @mauve; + --preview: @mantle; + --danger: @peach; + --approve: @green; + --rename: @sapphire; + --staff: @red; + --staff-bg: fade(@red, 20%); + --admin-merge: @mauve; + --admin-unlist: @peach; + + .flag { + &[style*="#57ab5a"] { + color: @green !important; + background-color: fade(@green, 20%) !important; + } + /* Emote is in selected emote set */ + &[style*="#529bf5"] { + color: @accent !important; + background-color: fade(@accent, 20%) !important; + } + /* Emote is unlisted */ + &[style*="#eb3d26"] { + color: @red !important; + &[style*="background-color"] { + background-color: fade(@red, 20%) !important; + } + } + /* Emote is trending */ + &[style*="#e0823d"] { + color: @peach !important; + &[style*="background-color"] { + background-color: fade(@peach, 20%) !important; + } + } + /* Emote is overlaying */ + &[style*="#fc8dc7"] { + color: @pink !important; + &[style*="background-color"] { + background-color: fade(@pink, 20%) !important; + } + } + /* Personal emote set */ + &[style*="#b083f0"] { + color: @mauve !important; + } + } + + .badge { + color: @base; + } + + .emote, + .emote-set { + /* Emote is in selected emote set */ + &[style*="--highlight-active: #529bf5"] { + --highlight: fade(@accent, 80%) !important; + --highlight-active: @accent !important; + &.emote-set .name { + color: @accent !important; + } + } + + /* Emote is unlisted */ + &[style*="--highlight-active: #eb3d26"] { + --highlight: fade(@red, 80%) !important; + --highlight-active: @red !important; + } + + /* Emote is trending */ + &[style*="--highlight-active: #e0823d"] { + --highlight: fade(@peach, 80%) !important; + --highlight-active: @peach !important; + } + + /* Emote is overlaying */ + &[style*="--highlight-active: #fc8dc7"] { + --highlight: fade(@pink, 80%) !important; + --highlight-active: @pink !important; + } + + /* Emote set is a personal emote set */ + &.emote-set[style*="--highlight-active: #b083f0"] { + --highlight: fade(@mauve, 80%) !important; + --highlight-active: @mauve !important; + &.emote-set .name { + color: @mauve !important; + } + } + + /* Emote set is a special emote set */ + &.emote-set[style*="--highlight-active: #fcc200"] { + --highlight: fade(@yellow, 80%) !important; + --highlight-active: @yellow !important; + &.emote-set .name, + &.emote-set .flag { + color: @yellow !important; + } + } + } + + img.image, + .profile-picture, + .profile-name .name, + .user, + .user-link, + .username .name, + .role > span, + .side-bar .name, + .roles > span { + /* Admin */ + &[style*="255, 70, 70"] { + &, + span, + img { + color: @red !important; + border-color: @red !important; + } + } + + /* Moderator */ + &[style*="50, 168, 82"] { + &, + span, + img { + color: @green !important; + border-color: @green !important; + } + } + + &[style*="23, 235, 182"], + &[style*="177, 235, 52"], + &[style*="68, 194, 135"] { + &, + span { + color: @teal !important; + border-color: @teal !important; + } + } + /* Event coordinator */ + &[style*="182, 56, 181"] { + &, + span, + img { + color: @pink !important; + border-color: @pink !important; + } + } + + /* Verified */ + &[style*="145, 70, 255"] { + &, + span, + img { + color: @mauve !important; + border-color: @mauve !important; + } + } + /* Subscriber */ + &[style*="255, 170, 0"] { + &, + span, + img { + color: @yellow !important; + border-color: @yellow !important; + } + } + } + + .hero { + svg { + color: @text !important; + } + + color: @text; + .for-all { + -webkit-text-stroke-color: @text !important; + } + + &::before { + background: + radial-gradient( + 180% 80% at 0% 100%, + @text 0%, + @blue 25%, + fade(@mauve, 90%) 56%, + fade(@mauve, 50%) 79%, + transparent 100% + ), + @crust; + } + } + + /* Sub progress bar */ + + .progress-circle { + #progress { + stroke: @accent; + } + } + + .subgrid .badge { + color: @subtext0 !important; + } + + /* Subscribe gradients */ + .gradient { + color: @text !important; + + &.g1 { + background: + radial-gradient( + 150% 180% at 50% 180%, + @peach, + @yellow 1%, + @yellow 25%, + @mantle 75% + ), + var(--secondary) !important; + } + + &.g2 { + background: + radial-gradient( + 150% 180% at 50% 180%, + @text, + @red 1%, + @red 25%, + @mantle 75% + ), + var(--secondary) !important; + } + + &.g3 { + background: + radial-gradient( + 150% 180% at 50% 180%, + @peach, + @pink 1%, + @mauve 25%, + @mantle 75% + ), + var(--secondary) !important; + } + + &.g5 { + background: + radial-gradient( + 150% 180% at 50% 180%, + @peach, + @sapphire 1%, + @sapphire 25%, + @mantle 75% + ), + var(--secondary) !important; + } + } + + /* Home page glow */ + .weird-smiley::before, + .feature .background { + background-image: radial-gradient( + circle at bottom, + fade(@mauve, 20%), + fade(@sapphire, 20%) + ) !important; + } + + .banner { + color: @base; + + &[style="--gradient-color: #9227cf"] { + --gradient-color: @mauve !important; + } + &[style="--gradient-color: #27cfb1"] { + --gradient-color: @teal !important; + } + &[style="--gradient-color: #ff11bc"] { + --gradient-color: @red !important; + } + + &::before { + background: + radial-gradient( + 100% 100% at 50% 0%, + @text 0%, + var(--gradient-color) 33%, + @mauve 64%, + fade(@mauve, 50%) 80%, + @mantle 100% + ), + var(--bg-medium) !important; + } + } + + /* Sub badge progress bar */ + + progress[value].bar { + &::-webkit-progress-bar, + &::-moz-progress-bar { + background: @accent !important; + } + } + } +} +@-moz-document domain("twitch.tv") { + .tw-root--theme-dark { + #catppuccin(@darkFlavor); + } + .tw-root--theme-light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + --seventv-text-color-normal: @text; + --seventv-text-color-secondary: @subtext0; + + --seventv-border-transparent-1: @surface0; + --seventv-background-shade-1: @base; + --seventv-background-shade-2: @mantle; + --seventv-background-shade-3: @crust; + --seventv-background-transparent-1: @base; + --seventv-background-transparent-2: @mantle; + --seventv-background-transparent-3: @mantle; + --seventv-highlight-neutral-1: @surface0; + --seventv-input-background: @mantle; + --seventv-input-border: @surface0; + --seventv-subscriber-color: @yellow; + + --seventv-highlight-color: @accent; + --seventv-highlight-dim-color: fade(@accent, 20%); + + --seventv-primary: @accent; + --seventv-accent: @green; + --seventv-warning: @peach; + --seventv-muted: @subtext0; + + .seventv-transparent { + --seventv-border-transparent-1: fade(@surface0, 77%); + --seventv-background-transparent-1: fade(@base, 77%); + --seventv-background-transparent-2: fade(@mantle, 59%); + --seventv-background-transparent-3: fade(@mantle, 71%); + } + + .seventv-announce-message-container { + .announce-header { + background-color: @crust; + } + .announce-message { + background-color: @base; + } + } + + .grabbable-inner, .grabbable-outer { + --color-border-input: @subtext0; + } + + .seventv-user-message { + /* First time chatter */ + &[style*="--seventv-highlight-color: #c832c8"] { + --seventv-highlight-color: @mauve !important; + --seventv-highlight-dim-color: fade(@mauve, 10%) !important; + } + /* Mention */ + &[style*="--seventv-highlight-color: #e13232"] { + --seventv-highlight-color: @red !important; + --seventv-highlight-dim-color: fade(@red, 10%) !important; + } + /* Blocked */ + &[style*="--seventv-highlight-color: #9488855A"] { + --seventv-highlight-color: @surface0 !important; + } + /* Raider */ + &[style*="--seventv-highlight-color: #6dd126"] { + --seventv-highlight-color: @green !important; + --seventv-highlight-dim-color: fade(@green, 10%) !important; + } + /* Returning chatter */ + &[style*="--seventv-highlight-color: #3296e6"] { + --seventv-highlight-color: @blue !important; + --seventv-highlight-dim-color: fade(@blue, 10%) !important; + } + } + + .seventv-chat-message-container:hover .seventv-chat-message-background { + background-color: @surface0; + } + + .seventv-sub-message-container, .seventv-reward-message-container { + background-color: @base; + } + + .seventv-settings-category { + .seventv-settings-category-dropdown .seventv-settings-subcategory { + &:hover { + background-color: @base !important; + } + &.intersect { + background-color: @surface0 !important; + } + } + + .settings-category-header { + &:hover, &:focus-within { + background-color: @base; + } + } + } + + .seventv-settings-category[in-view="true"] > .settings-category-header { + background-color: @surface0; + } + + .paint-tool-home { + h6[style="color: red;"] { + color: @peach !important; + } + } + + section[timeline-id="LIVE"] { + label, div[selector="date-boundary"] { + color: @red; + border-color: @red; + } + } + + .seventv-emote-container[zero-width="true"] { + border-color: @yellow; + } + + .scope-labels { + .label-global { + color: @green; + } + .label-sub-feature { + color: @yellow; + } + } + + [style*="rgb(255, 255, 255)"] .seventv-chat-user-username span { + color: @text !important; + } + + .seventv-chat-mod-buttons { + color: @subtext0; + + svg:hover { + color: @text; + } + } + } +} diff --git a/styles/shinigami-eyes/README.md b/styles/shinigami-eyes/README.md index 818d5dab77..297366887b 100644 --- a/styles/shinigami-eyes/README.md +++ b/styles/shinigami-eyes/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [jh-devv](https://github.com/jh-devv) +- [sofiedotcafe](https://github.com/sofiedotcafe)   diff --git a/styles/shinigami-eyes/catppuccin.user.css b/styles/shinigami-eyes/catppuccin.user.less similarity index 50% rename from styles/shinigami-eyes/catppuccin.user.css rename to styles/shinigami-eyes/catppuccin.user.less index d9b38d88cd..f4b56d79f4 100644 --- a/styles/shinigami-eyes/catppuccin.user.css +++ b/styles/shinigami-eyes/catppuccin.user.less @@ -2,8 +2,8 @@ @name Shinigami Eyes Catppuccin @namespace github.com/catppuccin/userstyles/styles/shinigami-eyes @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/shinigami-eyes -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/shinigami-eyes/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/shinigami-eyes/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ashinigami-eyes @description Soothing pastel theme for Shinigami Eyes @author Catppuccin @@ -15,6 +15,8 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + /* These are the domains for the sites that Shinigami Eyes works with. The list can be found at https://github.com/shinigami-eyes/shinigami-eyes/blob/b66e9ad41fa4daef31886b139d8af6f852efcaaa/extension/manifest.json#L15-L96. @@ -93,45 +95,17 @@ The list can be found at https://github.com/shinigami-eyes/shinigami-eyes/blob/b domain("google.no"), domain("google.pt"), domain("google.se") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); body { --ShinigamiEyesTFriendly: @green !important; @@ -149,13 +123,3 @@ The list can be found at https://github.com/shinigami-eyes/shinigami-eyes/blob/b } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/shinigami-eyes/preview.webp b/styles/shinigami-eyes/preview.webp deleted file mode 100644 index 29ae6a314d..0000000000 --- a/styles/shinigami-eyes/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e56b660a8b4de5267ff907fce695b94ced66d46d1321a39466a2e3e70e4a3d70 -size 91364 diff --git a/styles/skiff/catppuccin.user.css b/styles/skiff/catppuccin.user.css deleted file mode 100644 index 3be6364575..0000000000 --- a/styles/skiff/catppuccin.user.css +++ /dev/null @@ -1,239 +0,0 @@ -/* ==UserStyle== -@name Skiff Catppuccin -@namespace github.com/catppuccin/userstyles/styles/skiff -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/skiff -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/skiff/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Askiff -@description Soothing pastel theme for Skiff -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("app.skiff.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - html, - body { - /* main background colors */ - --bg-main-container: @mantle !important; - --bg-l3-solid: @base !important; - --bg-l2-solid: @base !important; - --bg-sidepanel: @crust !important; - --bg-l1-solid: @crust !important; - - /* Text fields and popups */ - --bg-field-default: @mantle !important; - - /* Text */ - --text-primary: @text !important; - --text-secondary: @subtext1 !important; - --text-disabled: @subtext0 !important; - --text-tertiary: @subtext0 !important; - --text-link: @accent-color !important; - --text-destructive: @red !important; - --text-inverse: @crust !important; - - --accent-green-primary: @green !important; - } - - /* Link color when hovering over hotlinked text */ - .eWCUQ { - color: @accent-color; - } - - /* Unread dot */ - .bguZwu { - background: @accent-color; - } - - /* Change account/service dropdown and the tutorial popup, always dark mode regardless of setting */ - & when not (@lookup = latte) { - /* Change account/service dropdown */ - .fLWrAr { - background: @mantle; - } - .gWUKFc { - background: @base; - } - - /* tutorial popup */ - html, - body { - --bg-emphasis: @crust !important; - } - /* Pay with crypto header */ - .cEYYtP { - background: @mantle !important; - } - } - & when (@lookup = latte) { - /* Change account/service dropdown */ - .fLWrAr { - background: @catppuccin[@mocha][@mantle]; - } - .gWUKFc { - background: @catppuccin[@mocha][@mantle]; - } - /* tutorial popup */ - html, - body { - --bg-emphasis: @catppuccin[@mocha][@crust] !important; - } - } - - /* Various dropdowns */ - .optionMenu { - background: @crust !important; - } - - /* Text in dropdowns */ - .imrrcE, - .kvGqVe { - color: @text; - } - .dkQatM { - color: @subtext0; - } - - /* Search menu */ - .bFaRKt { - background: @mantle !important; - } - .enSdmg, - .cGshPA, - .epvcfe { - color: @subtext0; - caret-color: @accent-color; - } - .enSdmg:focus, - .cGshPA:focus, - .epvcfe:focus { - color: @text; - } - - /* Mail, folder, and tag colors */ - .dSuCgH { - border-color: @red !important; - } - .haItIx, - .eKPGmM, - .eihkWB { - background: @red; - } - .eaRVlP { - border-color: @peach !important; - } - .JtHzx, - .dKGpJJ, - .NfxrE { - background: @peach; - } - .hUzTMU { - border-color: @pink !important; - } - .gvwSHu, - .iJVhTi, - .gbLRlL { - background: @pink; - } - .eQGCyt { - border-color: @yellow !important; - } - .BJLiU, - .bdmXVU, - .cldAOh { - background: @yellow; - } - .jquNQm { - border-color: @green !important; - } - .fBWSzj, - .bmuMTf, - .dzrHbG { - background: @green; - } - .kmInNw { - border-color: @sapphire !important; - } - .dZaPlW, - .kHHBZC, - .ePjgmv { - background: @sapphire; - } - .gqLdmg { - border-color: @blue !important; - } - .dtLBu, - .gZiRxy, - .hccJrv { - background: @blue; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/skiff/preview.webp b/styles/skiff/preview.webp deleted file mode 100644 index dc2c05102b..0000000000 --- a/styles/skiff/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa805f894ed5ff908e4226279a5aad556487588d872a24e673b31f3ed54f36e7 -size 88452 diff --git a/styles/snapchat-web/README.md b/styles/snapchat-web/README.md index b1cf65d737..507e72b4c2 100644 --- a/styles/snapchat-web/README.md +++ b/styles/snapchat-web/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [Meow](https://github.com/itzTheMeow) +- [itzTheMeow](https://github.com/itzTheMeow)   diff --git a/styles/snapchat-web/catppuccin.user.css b/styles/snapchat-web/catppuccin.user.css deleted file mode 100644 index 004d292217..0000000000 --- a/styles/snapchat-web/catppuccin.user.css +++ /dev/null @@ -1,173 +0,0 @@ -/* ==UserStyle== -@name Snapchat Web Catppuccin -@namespace github.com/catppuccin/userstyles/styles/snapchat-web -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/snapchat-web -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/snapchat-web/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asnapchat-web -@description Soothing pastel theme for Snapchat Web -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('web.snapchat.com') { - :root[theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - :root[theme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - /* Snapchat applies the variables (overrides?) to specific elements so we need to apply to every element (with high specificity) to override those. */ - &, - body > main#root * { - --sigMain: @base; - --sigSurface: @mantle; - --sigSurfaceRGB: red(@mantle) green(@mantle) blue(@mantle); - --sigAboveSurface: @crust; - --sigSurfaceDown: @base; - --sigSubscreen: @crust; - --sigTextField: @crust; - --sigDivider: @surface0; - --sigDividerLight: @surface0; - --sigColorBackgroundBorder: @surface0; - --sigBackgroundPrimary: @base; - --sigBackgroundSecondary: @mantle; - --sigBackgroundSecondaryHover: darken(@mantle, 5%); - --sigBackgroundTertiary: @crust; - --sigBackgroundMessageHover: @surface1; - --sigBackgroundMessageSaved: @surface0; - --sigBackgroundMessageSavedHover: @surface2; - --sigOverlay: fade(@overlay0, 0.4); - --sigOverlayHover: fade(@overlay0, 0.35); - --sigBrandSecondary: @accent-color; - - --sigTextPrimary: @text; - --sigButtonOnPrimary: @crust; - --sigTextSecondary: @subtext0; - --sigButtonOnSecondary: @subtext0; - --sigTextTertiary: @subtext1; - --sigButtonOnTertiary: @subtext1; - --sigTextNegative: @red; - --sigButtonOnSuccess: @base; - --sigButtonOnError: @base; - --sigButtonOnNegative: @base; - --sigButtonOnChatSurfaceCalling: @base; - --sigTextPlayer: @crust; - --sigButtonGreyHover: darken(@surface0, 5%); - --sigButtonGreyActive: darken(@surface0, 8%); - - --sigButtonPrimary: @accent-color; - --sigButtonPrimaryHover: darken(@accent-color, 5%); - --sigButtonPrimaryActive: darken(@accent-color, 8%); - --sigButtonSecondary: @surface0; - --sigButtonSecondaryHover: @surface1; - --sigButtonSecondaryActive: @surface2; - --sigButtonNegative: @red; - --sigButtonError: @red; - --sigButtonErrorHover: darken(@red, 5%); - --sigButtonSuccess: @green; - --sigButtonSuccessHover: darken(@green, 5%); - --sigIconCalling: @green; - --sigIconCallingHover: darken(@green, 5%); - --sigChatSurfaceCalling: @green; - --sigChatSurfaceCallingDisabled: darken(@green, 20%); - --sigChatSurfaceCallingHover: darken(@green, 5%); - - --sigChat: @blue; - --sigChatIcon: @blue; - --sigSnapWithoutSound: @red; - --sigSnapWithSound: @mauve; - } - - // new chat button - button[title="New Chat"], - // checkbox to choose camera - [id*="downshift-"] a, - // checkbox in new chat popup - [aria-label="Unselect chosen user"] { - path[fill="#fff"] { - fill: @crust; - } - // replaces blue fill - path[fill="#51B7FF"] { - fill: @accent-color; - } - } - - // new group button - form > div > div > div[role="searchbox"] button { - color: @crust; - path { - fill: @crust; - } - } - - // story reply text - li button[type="button"].replyText { - background-color: rgba(30, 30, 30, 0.8); - } - - // buttons when in call - [data-projection-id] button { - --sigColorAlwaysWhite: @surface0; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/snapchat-web/catppuccin.user.less b/styles/snapchat-web/catppuccin.user.less new file mode 100644 index 0000000000..51973eb5c5 --- /dev/null +++ b/styles/snapchat-web/catppuccin.user.less @@ -0,0 +1,133 @@ +/* ==UserStyle== +@name Snapchat Web Catppuccin +@namespace github.com/catppuccin/userstyles/styles/snapchat-web +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/snapchat-web +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/snapchat-web/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asnapchat-web +@description Soothing pastel theme for Snapchat Web +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document url-prefix("https://www.snapchat.com/web") { + :root[theme="dark"] { + #catppuccin(@darkFlavor); + } + :root[theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + /* Snapchat applies the variables (overrides?) to specific elements so we need to apply to every element (with high specificity) to override those. */ + &, + body > main#root * { + --sigMain: @base; + --sigSurface: @mantle; + --sigSurfaceRGB: red(@mantle), green(@mantle), blue(@mantle); + --sigAboveSurface: @crust; + --sigSurfaceDown: @base; + --sigSubscreen: @crust; + --sigTextField: @crust; + --sigDivider: @surface0; + --sigDividerLight: @surface0; + --sigColorBackgroundBorder: @surface0; + --sigBackgroundPrimary: @base; + --sigBackgroundSecondary: @mantle; + --sigBackgroundSecondaryHover: darken(@mantle, 5%); + --sigBackgroundTertiary: @crust; + --sigBackgroundMessageHover: @surface1; + --sigBackgroundMessageSaved: @surface0; + --sigBackgroundMessageSavedHover: @surface2; + --sigOverlay: fade(@surface1, 40%); + --sigOverlayHover: fade(@surface1, 35%); + --sigBrandSecondary: @accent; + --sigObject: rgba(255, 255, 255, 0.05); + + --sigTextPrimary: @text; + --sigButtonOnPrimary: @crust; + --sigTextSecondary: @subtext0; + --sigButtonOnSecondary: @subtext0; + --sigTextTertiary: @subtext1; + --sigButtonOnTertiary: @subtext1; + --sigTextNegative: @red; + --sigButtonOnSuccess: @base; + --sigButtonOnError: @base; + --sigButtonOnNegative: @base; + --sigButtonOnChatSurfaceCalling: @base; + --sigTextPlayer: @crust; + --sigButtonGreyHover: darken(@surface0, 5%); + --sigButtonGreyActive: darken(@surface0, 8%); + + --sigButtonPrimary: @accent; + --sigButtonPrimaryHover: darken(@accent, 5%); + --sigButtonPrimaryActive: darken(@accent, 8%); + --sigButtonSecondary: @surface0; + --sigButtonSecondaryHover: @surface1; + --sigButtonSecondaryActive: @surface2; + --sigButtonNegative: @red; + --sigButtonError: @red; + --sigButtonErrorHover: darken(@red, 5%); + --sigButtonSuccess: @green; + --sigButtonSuccessHover: darken(@green, 5%); + --sigIconCalling: @green; + --sigIconCallingHover: darken(@green, 5%); + --sigChatSurfaceCalling: @green; + --sigChatSurfaceCallingDisabled: darken(@green, 20%); + --sigChatSurfaceCallingHover: darken(@green, 5%); + + --sigChat: @blue; + --sigChatIcon: @blue; + --sigSnapWithoutSound: @red; + --sigSnapWithSound: @mauve; + } + + // new chat button + button[title="New Chat"], + // checkbox to choose camera + [id*="downshift-"] a, + // checkbox in new chat popup + [aria-label="Unselect chosen user"] { + path[fill="#fff"] { + fill: @crust; + } + // replaces blue fill + path[fill="#51B7FF"] { + fill: @accent; + } + } + + // new group button + form > div > div > div[role="searchbox"] button { + color: @crust; + path { + fill: @crust; + } + } + + // story reply text + li button[type="button"].replyText { + background-color: rgba(30, 30, 30, 0.8); + } + + // buttons when in call + [data-projection-id] button { + --sigColorAlwaysWhite: @surface0; + } + + // replay button on stories + img[role="presentation"][src^="blob:"] + div > svg > path[fill="#fff"] { + fill: @text; + } + } +} diff --git a/styles/snapchat-web/preview.webp b/styles/snapchat-web/preview.webp deleted file mode 100644 index ea3d733005..0000000000 --- a/styles/snapchat-web/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef02978328a00292f95ecf9933b519d920f940b0c8df9eba9ae3f59a6b03c6c4 -size 115714 diff --git a/styles/spotify-web/README.md b/styles/spotify-web/README.md index cbe2a06c1b..c10f8a8441 100644 --- a/styles/spotify-web/README.md +++ b/styles/spotify-web/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/spotify-web/catppuccin.user.css b/styles/spotify-web/catppuccin.user.less similarity index 73% rename from styles/spotify-web/catppuccin.user.css rename to styles/spotify-web/catppuccin.user.less index 23aa07397c..dc40f0edf3 100644 --- a/styles/spotify-web/catppuccin.user.css +++ b/styles/spotify-web/catppuccin.user.less @@ -2,8 +2,8 @@ @name Spotify Web Catppuccin @namespace github.com/catppuccin/userstyles/styles/spotify-web @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/spotify-web -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/spotify-web/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/spotify-web/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aspotify-web @description Soothing pastel theme for Spotify Web @author Catppuccin @@ -14,55 +14,21 @@ @var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('open.spotify.com') { - @media (prefers-color-scheme: light) { - #catppuccin(@lightFlavor, @accentColor); - } - @media (prefers-color-scheme: dark) { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup =latte, light, dark); - ::selection { - background-color: fade(@accent-color, 30%); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; +@-moz-document domain("open.spotify.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); .encore-dark-theme, .encore-dark-theme .encore-base-set, @@ -83,14 +49,14 @@ --background-unsafe-for-small-text-press: @base; --text-base: @text; --text-subdued: @subtext1; - --text-bright-accent: @accent-color; + --text-bright-accent: @accent; --text-negative: @red; --text-warning: @yellow; - --text-positive: @accent-color; + --text-positive: @accent; --text-announcement: @sapphire; --essential-base: @text; --essential-subdued: @subtext1; - --essential-bright-accent: @accent-color; + --essential-bright-accent: @accent; --essential-negative: @red; --essential-warning: @yellow; --essential-positive: @green; @@ -104,19 +70,19 @@ --background-press: @surface1; } .encore-dark-theme .encore-bright-accent-set { - --background-base: @accent-color; - --background-highlight: @accent-color; - --background-press: @accent-color; - --background-elevated-base: @accent-color; - --background-elevated-highlight: @accent-color; - --background-elevated-press: @accent-color; - --background-tinted-base: @accent-color; - --background-tinted-highlight: @accent-color; - --background-tinted-press: @accent-color; - --background-unsafe-for-small-text-base: @accent-color; - --background-unsafe-for-small-text-highlight: @accent-color; - --background-unsafe-for-small-text-press: @accent-color; - --decorative-subdued: darken(@accent-color, 10%); + --background-base: @accent; + --background-highlight: @accent; + --background-press: @accent; + --background-elevated-base: @accent; + --background-elevated-highlight: @accent; + --background-elevated-press: @accent; + --background-tinted-base: @accent; + --background-tinted-highlight: @accent; + --background-tinted-press: @accent; + --background-unsafe-for-small-text-base: @accent; + --background-unsafe-for-small-text-highlight: @accent; + --background-unsafe-for-small-text-press: @accent; + --decorative-subdued: darken(@accent, 10%); } .encore-dark-theme .encore-over-media-set { --background-base: @mantle; @@ -132,7 +98,7 @@ --background-tinted-highlight: @mantle; --background-tinted-press: @mantle; } - & when (@lookup =latte) { + & when (@flavor = latte) { .T1xI1RTSFU7Wu94UuvE6 * { background: @surface0 !important; } @@ -166,6 +132,12 @@ .pHrwZOFBdT8FNXnmcPPI { background: @crust !important; } + + /* some borders on the playlist details */ + .ePPpO_NuGDUxVRTw7y6W { + border-color: @surface0; + } + // Some animated bar icon .uWvwXlS0Da1bWsRX6KOw, .n5XwsUqagSoVk8oMiw1x { @@ -185,7 +157,7 @@ } .mjZrvVI3CxfHJXu7y0Lg, .coBkWVskipFo8KxLKief .T1xI1RTSFU7Wu94UuvE6 { - background-color: @accent-color !important; + background-color: @accent !important; } .ListRowTitle__LineClamp-sc-1xe2if1-0.lmgIvZ *, .EaTxqhHk6J4ecKHwpY5m *, @@ -348,13 +320,13 @@ background-color: @crust; } .S4OmZ_IZexmZ5dasPqW5 { - background-color: @accent-color !important; + background-color: @accent !important; } .T1xI1RTSFU7Wu94UuvE6[style*="background-color:"] { - background-color: @accent-color !important; + background-color: @accent !important; } .fIvMht6B9HdROywMNJZ4.hIFR8WDm_54EEIa1gwpC { - background-color: @accent-color !important; + background-color: @accent !important; } // Explicit icon .kpGMQq1KFz620g_BD_dS { @@ -430,7 +402,7 @@ color: @text !important; } #onetrust-pc-sdk .ot-accordion-layout.ot-cat-item { - border-color: @accent-color !important; + border-color: @accent !important; border-radius: 8px; } #onetrust-consent-sdk @@ -444,8 +416,8 @@ [aria-expanded], .ot-link-btn ) { - background-color: @accent-color !important; - border-color: @accent-color !important; + background-color: @accent !important; + border-color: @accent !important; } // Vendors List #onetrust-consent-sdk #onetrust-pc-sdk .ot-sel-all-hdr span { @@ -453,21 +425,21 @@ } #onetrust-pc-sdk input[type="text"] { background-color: @mantle !important; - border-color: @accent-color !important; + border-color: @accent !important; } #onetrust-pc-sdk .ot-pc-header, #onetrust-pc-sdk ul li { - border-bottom-color: @accent-color !important; - border-top-color: @accent-color !important; + border-bottom-color: @accent !important; + border-top-color: @accent !important; } #ot-ven-lst { - border-top-color: @accent-color !important; + border-top-color: @accent !important; } .ot-pc-footer { - border-top-color: @accent-color !important; + border-top-color: @accent !important; } #onetrust-pc-sdk li > button { - border-top-color: @accent-color !important; + border-top-color: @accent !important; } #onetrust-consent-sdk #onetrust-pc-sdk #ot-sel-blk { background-color: @base !important; @@ -506,19 +478,19 @@ .TywOcKZEqNynWecCiATc { --bg-color: @surface1; --fg-color: @text; - --is-active-fg-color: @accent-color; + --is-active-fg-color: @accent; } a { - color: @accent-color; + color: @accent; } .Ng3dPPA2_1CFYkzPukjM { background: @blue; } .KAZD28usA1vPz5GVpm63.EHxL6K_6WWDlTCZP6x5w::after { - background-color: @accent-color; + background-color: @accent; } .tippy-box[data-theme~="activation"] { - background-color: @accent-color; + background-color: @accent; color: @crust; .c0KyMkxeMCWQGE7cR8s_ *, .TextForLabel-sc-1jqya9m-0.kIsEKW { @@ -538,7 +510,7 @@ background: @surface0; } input:checked ~ .Js64TOfWtHksI6TQ6knT { - background: @accent-color !important; + background: @accent !important; } .bXJ77rNIJ18Y0GfegQdr + label > :first-child { background: @text !important; @@ -573,7 +545,7 @@ .OF_3F0SQCsBtL1jSTlTA::after, .tP0mccyU1WAa7I9PevC1 svg, .tP0mccyU1WAa7I9PevC1::after { - color: @accent-color !important; + color: @accent !important; } // Full Screen Song Window .npv-up-next { @@ -605,13 +577,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/spotify-web/preview.webp b/styles/spotify-web/preview.webp deleted file mode 100644 index cb6129501f..0000000000 --- a/styles/spotify-web/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f882e1fb4dc7f315b98cc5cf524a9c27ddd3d5191609674fd3c72ceac4ef323 -size 334504 diff --git a/styles/stack-overflow/README.md b/styles/stack-overflow/README.md index 00603a6716..6ca4770d56 100644 --- a/styles/stack-overflow/README.md +++ b/styles/stack-overflow/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/stack-overflow/catppuccin.user.css b/styles/stack-overflow/catppuccin.user.less similarity index 55% rename from styles/stack-overflow/catppuccin.user.css rename to styles/stack-overflow/catppuccin.user.less index 1e771f3949..5c2860a54e 100644 --- a/styles/stack-overflow/catppuccin.user.css +++ b/styles/stack-overflow/catppuccin.user.less @@ -2,8 +2,8 @@ @name Stack Overflow Catppuccin @namespace github.com/catppuccin/userstyles/styles/stack-overflow @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/stack-overflow -@version 0.1.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/stack-overflow/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/stack-overflow/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astack-overflow @description Soothing pastel theme for Stack Overflow @author Catppuccin @@ -15,9 +15,16 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('stackoverflow.com'), domain('stackexchange.com'), domain('serverfault.com'), -domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), domain('stackapps.com') { - @import url("https://unpkg.com/@catppuccin/highlightjs@0.2.2/css/catppuccin.variables.important.css"); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("stackoverflow.com"), + domain("stackexchange.com"), + domain("serverfault.com"), + domain("superuser.com"), + domain("mathoverflow.net"), + domain("askubuntu.com"), + domain("stackapps.com") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); code.hljs { background: none !important; } @@ -25,95 +32,29 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do body:not(.theme-highcontrast, .theme-dark).unified-theme { &, .themed { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } } body:not(.theme-highcontrast).unified-theme.theme-dark { &, .themed { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } } - @media (prefers-color-scheme: light) { - body:not(.theme-highcontrast).unified-theme.theme-system { - #catppuccin(@lightFlavor, @accentColor); + body:not(.theme-highcontrast).unified-theme.theme-system { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - body:not(.theme-highcontrast).unified-theme.theme-system { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); &, * { @@ -127,41 +68,45 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do --theme-topbar-item-color: @text; --theme-topbar-item-color-hover: @text; --theme-topbar-item-background-hover: @surface0; - --theme-button-primary-background-color: @accent-color; - --theme-button-primary-hover-background-color: darken(@accent-color, 5%); + --theme-button-primary-background-color: @accent; + --theme-button-primary-hover-background-color: darken(@accent, 5%); --theme-button-primary-active-background-color: @text; - --theme-link-color: @accent-color; - --theme-link-color-hover: darken(@accent-color, 5%); + --theme-link-color: @blue; + --theme-link-color-hover: @sky; + --theme-link-color-visited: @lavender; --theme-footer-title-color: @text; --theme-footer-text-color: @subtext0; --theme-footer-link-color: @subtext0; --theme-footer-link-color-hover: @subtext1; --theme-footer-background-color: @mantle; - --theme-header-background-color: @mantle; - --theme-tag-background-color: @accent-color; - --theme-tag-border-color: @accent-color; + --theme-header-background-color: transparent; + --theme-tag-background-color: @accent; + --theme-tag-border-color: @accent; --theme-tag-color: @mantle; - --theme-tag-hover-background-color: darken(@accent-color, 5%); - --theme-tag-hover-border-color: darken(@accent-color, 5%); + --theme-tag-hover-background-color: darken(@accent, 5%); + --theme-tag-hover-border-color: darken(@accent, 5%); --theme-tag-hover-color: @mantle; - --theme-post-title-color: @accent-color; - --theme-post-title-color-hover: darken(@accent-color, 5%); + --theme-post-title-color: @text; + --theme-post-title-color-hover: @subtext1; + --theme-post-title-color-visited: @lavender; --highlight-bg: @mantle; - --theme-primary: @accent-color; - --theme-primary-100: fade(@accent-color, 20%); - --theme-primary-200: fade(@accent-color, 30%); - --theme-primary-500: fade(@accent-color, 90%); - --theme-primary-600: @accent-color; - - --translucent-secondary: fade(@accent-color, 10%); - --theme-secondary-100: fade(@accent-color, 20%); - --theme-secondary-200: fade(@accent-color, 30%); - --theme-secondary-300: fade(@accent-color, 40%); - --theme-secondary-400: fade(@accent-color, 50%); - --theme-secondary-500: fade(@accent-color, 60%); - --theme-secondary-600: fade(@accent-color, 70%); + --theme-primary: @accent; + --theme-primary-100: fade(@accent, 20%); + --theme-primary-200: fade(@accent, 30%); + --theme-primary-300: fade(@accent, 40%); + --theme-primary-400: @accent; + --theme-primary-500: fade(@accent, 90%); + --theme-primary-600: @accent; + + --translucent-secondary: fade(@accent, 10%); + --theme-secondary-100: fade(@accent, 20%); + --theme-secondary-200: fade(@accent, 30%); + --theme-secondary-300: fade(@accent, 40%); + --theme-secondary-400: fade(@accent, 50%); + --theme-secondary-500: fade(@accent, 60%); + --theme-secondary-600: fade(@accent, 70%); --white: @mantle; --black: @text; @@ -200,6 +145,7 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do --yellow-100: fade(@yellow, 20%); --yellow-200: fade(@yellow, 30%); + --yellow-300: @yellow; --yellow-400: fade(@yellow, 70%); --yellow-500: fade(@yellow, 90%); @@ -289,9 +235,7 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do .s-prose kbd { border-top-color: transparent; - box-shadow: - 0 1px 1px @crust, - inset 0 1px 0 0 @overlay2; + box-shadow: 0 1px 1px @crust, inset 0 1px 0 0 @overlay2; } .s-pagination .s-pagination--item { @@ -306,7 +250,7 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do .s-notice { &, .s-notice--btn { - color: @mantle !important; + color: @text !important; } } @@ -326,14 +270,14 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do #onetrust-accept-btn-handler, #onetrust-reject-all-handler { - background-color: @accent-color; + background-color: @accent; color: @crust; } #onetrust-button-group button#onetrust-pc-btn-handler { background-color: @crust !important; - border-color: @accent-color !important; - color: @accent-color !important; + border-color: @accent !important; + color: @accent !important; } #onetrust-policy-title, @@ -395,17 +339,17 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do } button:not( - #clear-filters-handler, - .ot-close-icon, - #filter-btn-handler, - .ot-remove-objection-handler, - .ot-obj-leg-btn-handler, - [aria-expanded], - .ot-link-btn - ), + #clear-filters-handler, + .ot-close-icon, + #filter-btn-handler, + .ot-remove-objection-handler, + .ot-obj-leg-btn-handler, + [aria-expanded], + .ot-link-btn + ), .ot-leg-btn-container .ot-active-leg-btn { - background-color: @accent-color !important; - border-color: @accent-color; + background-color: @accent !important; + border-color: @accent; color: @mantle; } } @@ -459,29 +403,51 @@ domain('superuser.com'), domain('mathoverflow.net'), domain('askubuntu.com'), do } [alt="Ask Ubuntu"] { @svg: escape( - '' + '' ); content: url("data:image/svg+xml,@{svg}"); } + &:has([alt="Ask Ubuntu"]) { + background-image: none; + + .site-header { + background: @accent; + } + } + [alt="Stack Apps"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} + [alt="Unix & Linux"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &:has([alt="Unix & Linux"]) { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + [alt="Cryptography"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &:has([alt="Cryptography"]) { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; + .site-header { + background-image: none; + } + } + } } - -// vim:ft=less diff --git a/styles/stack-overflow/preview.webp b/styles/stack-overflow/preview.webp deleted file mode 100644 index 26618c4233..0000000000 --- a/styles/stack-overflow/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6021f336ac2efaaa14738aaca4908a7902125f7cd37aae09d7f927acb2282194 -size 233104 diff --git a/styles/startpage/README.md b/styles/startpage/README.md index 8c728b0205..45a7c9ff24 100644 --- a/styles/startpage/README.md +++ b/styles/startpage/README.md @@ -10,20 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [WalkQuackBack](https://github.com/WalkQuackBack) ## ๐Ÿ’– Past Maintainer -- [Bart Libert](https://github.com/bartlibert) +- [bartlibert](https://github.com/bartlibert)   diff --git a/styles/startpage/catppuccin.user.css b/styles/startpage/catppuccin.user.css deleted file mode 100644 index 211edcccac..0000000000 --- a/styles/startpage/catppuccin.user.css +++ /dev/null @@ -1,189 +0,0 @@ -/* ==UserStyle== -@name Startpage Catppuccin -@namespace github.com/catppuccin/userstyles/styles/startpage -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/startpage -@version 0.2.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/startpage/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astartpage -@description Soothing pastel theme for Startpage -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("startpage.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &, - body { - --sx-accent: @accent-color; - --sx-background: @base; - --sx-border: @surface0; - --sx-tabLinkHover: @teal; - --sx-foreground: @text; - --sx-foregroundAlt: @subtext1; - --sx-foregroundEmphasis: lighten(@text, 10%); - --sx-popupBackground: @surface0; - --sx-popupForeground: @text; - --sx-popupForegroundEm: @text; - --sx-popupUrl: @blue; - --sx-buttonHighlight: @accent-color; - --sx-loadingBars: @mantle; - --sx-darkIcons: @crust; - --sx-arrowButtonBackground: @text; - --sx-arrowButtonForeground: @text; - } - - .css-nguon6 button { - color: @accent-color; - border-color: @accent-color; - } - - .css-fg9wif, - .header, - .wp-qi-sb__result, - .linkHover, - .footer__container { - background: @mantle !important; - } - - body { - color: @text; - } - - body, - .layout-web, - .layout-web__body, - .ex-qi-kp:not(.ex-qi-kp--light, .ex-qi-kp--night, .ex-qi-kp--air) - .sx-kp-infobox-wrap - .sx-infobox - tr:not(.sx-heading-row) - > *, - .w-gl { - background: @base !important; - } - - .wp-qi-sb__result { - border-color: @mantle !important; - } - - .wp-qi-sb__top-square-img { - border-bottom-color: @mantle !important; - } - - /* fonts */ - .w-gl__result-title, - .inline-nav-menu__link, - .wp-qi-sb__title { - color: @text !important; - } - - .w-gl__result, - .search-filter-time__dropdown, - .search-filter-region__dropdown, - .search-filter-family__field-label, - .wp-qi-sb__extract { - color: @subtext1 !important; - } - - .w-gl__result-url { - color: @accent-color !important; - } - - .wp-qi-sb__expand-text, - .inline-nav-menu__link__active, - .inline-nav-menu__link:hover { - color: @green !important; - } - - .inline-nav-menu__link__active, - .inline-nav-menu__link__post-link:hover { - border-bottom-color: @green !important; - } - - .pagination .num--active { - background: @flamingo !important; - border-color: @flamingo !important; - } - - .pagination__num:hover, - .pagination__next-prev-button:hover { - background: @blue !important; - border-color: @blue !important; - } - - header { - background-color: @mantle !important; - } - - .w-gl__result-title:visited { - color: @lavender !important; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/startpage/catppuccin.user.less b/styles/startpage/catppuccin.user.less new file mode 100644 index 0000000000..30f819541c --- /dev/null +++ b/styles/startpage/catppuccin.user.less @@ -0,0 +1,140 @@ +/* ==UserStyle== +@name Startpage Catppuccin +@namespace github.com/catppuccin/userstyles/styles/startpage +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/startpage +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/startpage/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astartpage +@description Soothing pastel theme for Startpage +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("startpage.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + &, + body { + --sx-accent: @accent; + --sx-background: @base; + --sx-border: @surface0; + --sx-tabLinkHover: @teal; + --sx-foreground: @text; + --sx-foregroundAlt: @subtext1; + --sx-foregroundEmphasis: lighten(@text, 10%); + --sx-popupBackground: @surface0; + --sx-popupForeground: @text; + --sx-popupForegroundEm: @text; + --sx-popupUrl: @blue; + --sx-buttonHighlight: @accent; + --sx-loadingBars: @mantle; + --sx-darkIcons: @crust; + --sx-arrowButtonBackground: @text; + --sx-arrowButtonForeground: @text; + } + + .css-nguon6 button { + color: @accent; + border-color: @accent; + } + + .css-fg9wif, + .header, + .wp-qi-sb__result, + .linkHover, + .footer__container { + background: @mantle !important; + } + + body { + color: @text; + } + + body, + .layout-web, + .layout-web__body, + .ex-qi-kp:not(.ex-qi-kp--light, .ex-qi-kp--night, .ex-qi-kp--air) + .sx-kp-infobox-wrap + .sx-infobox + tr:not(.sx-heading-row) + > *, + .w-gl { + background: @base !important; + } + + .wp-qi-sb__result { + border-color: @mantle !important; + } + + .wp-qi-sb__top-square-img { + border-bottom-color: @mantle !important; + } + + /* fonts */ + .w-gl__result-title, + .inline-nav-menu__link, + .wp-qi-sb__title { + color: @text !important; + } + + .w-gl__result, + .search-filter-time__dropdown, + .search-filter-region__dropdown, + .search-filter-family__field-label, + .wp-qi-sb__extract { + color: @subtext1 !important; + } + + .w-gl__result-url { + color: @accent !important; + } + + .wp-qi-sb__expand-text, + .inline-nav-menu__link__active, + .inline-nav-menu__link:hover { + color: @green !important; + } + + .inline-nav-menu__link__active, + .inline-nav-menu__link__post-link:hover { + border-bottom-color: @green !important; + } + + .pagination .num--active { + background: @flamingo !important; + border-color: @flamingo !important; + } + + .pagination__num:hover, + .pagination__next-prev-button:hover { + background: @blue !important; + border-color: @blue !important; + } + + header { + background-color: @mantle !important; + } + + .w-gl__result-title:visited { + color: @lavender !important; + } + } +} diff --git a/styles/startpage/preview.webp b/styles/startpage/preview.webp deleted file mode 100644 index 8bb2e351bd..0000000000 --- a/styles/startpage/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7263e6b53b0417e15fe2a1f0a1a41c218260f4b467bdfec3d8d23801669eeb1 -size 90494 diff --git a/styles/status.cafe/README.md b/styles/status.cafe/README.md new file mode 100644 index 0000000000..9409bdaa0f --- /dev/null +++ b/styles/status.cafe/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for status.cafe + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [bunfluff](https://github.com/bunfluff) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/status.cafe/catppuccin.user.less b/styles/status.cafe/catppuccin.user.less new file mode 100644 index 0000000000..d4f3d7772e --- /dev/null +++ b/styles/status.cafe/catppuccin.user.less @@ -0,0 +1,128 @@ +/* ==UserStyle== +@name status.cafe Catppuccin +@namespace github.com/catppuccin/userstyles/styles/status.cafe +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/status.cafe +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/status.cafe/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astatus.cafe +@description Soothing pastel theme for status.cafe +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document regexp("https://status\\.cafe/(?!users).*"), + domain("forum.status.cafe") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + background-color: @base; + + body { + background-color: @base; + color: @text; + } + + textarea { + background-color: @mantle; + color: @text; + border-color: @surface1; + border-style: solid; + border-width: 1px; + border-radius: 2px; + padding: 3px; + } + + input { + background-color: @mantle; + color: @text; + border-color: @surface1; + border-style: solid; + border-width: 1px; + border-radius: 4px; + padding: 2px 5px; + :hover { + background-color: darken(@mantle, 2%); + } + + :active { + background-color: @crust; + border-color: @surface0; + } + } + + textarea:hover, + input:hover { + border-color: darken(@surface1, 5%); + } + + .flash { + background-color: @green; + } + + a:not(.flash a) { + color: @accent; + } + + a:visited:not(.flash a) { + color: darken(@accent, 5%); + } + + table, + th, + td { + border-color: @surface1 !important; + } + + thead { + background-color: @surface1; + color: @text; + } + + .forum { + background-color: @yellow; + a { + color: darken(@blue, 10%) !important; + } + } + + tbody, + .topic > tbody > tr:nth-child(2n) { + background-color: @mantle; + } + + hr { + background-color: @surface1; + } + + .signature { + border-top-color: @surface0; + } + + & when (@flavor = latte) { + a:visited:not(.flash a) { + color: darken(@accent, 10%); + } + input:active { + background-color: @surface0; + border-color: @surface2; + } + } + } +} diff --git a/styles/stylus/README.md b/styles/stylus/README.md index fedd028db6..779e7ea7cb 100644 --- a/styles/stylus/README.md +++ b/styles/stylus/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [GitMuslim](https://github.com/GitMuslim) +- [uncenter](https://github.com/uncenter)   diff --git a/styles/stylus/catppuccin.user.css b/styles/stylus/catppuccin.user.css deleted file mode 100644 index 07627d338b..0000000000 --- a/styles/stylus/catppuccin.user.css +++ /dev/null @@ -1,257 +0,0 @@ -/* ==UserStyle== -@name Stylus Catppuccin -@namespace github.com/catppuccin/userstyles/styles/stylus -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/stylus -@version 1.2.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/stylus/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astylus -@description Soothing pastel theme for Stylus -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document url-prefix("moz-extension://"), url-prefix(chrome-extension://) -{ - [data-ui-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - [data-ui-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &:root { - --bg: @base; - --fg: @text; - --c30: @subtext1; - --c40: @overlay0; - --c45: @surface2; - --c50: @subtext0; - --c60: @subtext0; - --c65: @surface2; - --c75: @overlay1; - --c80: @surface1; - --c85: @surface0; - --c90: @base; - --c95: @mantle; - --c97: @mantle; - --c98: @base; - --c99: @base; - --c100: @base; - --red1: @red; - --accent-1: @accent-color; - --accent-2: @accent-color; - --accent-3: fade(@accent-color, 25%); - .slider { - --color-on: fade(@accent-color, 25%); - --color-off: @surface2; - } - } - - .active #filters-stats, - .dirty #save-button, - .dirty #save-button + button { - background-color: @accent-color; - border-color: @accent-color; - color: @base; - } - #header-resizer { - color: @surface1; - } - #message-box-title::before { - @fade_color: fade(@accent-color, 67%); - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - [src="moz-extension://8fc71d5e-96b2-44a4-8d6f-ead6ff4d3c56/images/icon/16.png"], img[src="/images/icon/128.png"] - { - @fade_color: fade(@accent-color, 67%); - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - #message-box.danger #message-box-title::before { - @fade_color: fade(@red, 67%); - @svg: escape( - '' - ); - background: url("data:image/svg+xml,@{svg}") !important; - } - #message-box.danger #message-box-close-icon i { - color: var(--c40); - &:hover { - color: var(--bg); - } - } - #filters label:hover, - #filters .filter-selection:hover { - background-color: @surface0; - } - .oldUI .disabled h2::after, - .entry.usercss .style-name-link::after { - background-color: fade(@accent-color, 25%); - } - .CodeMirror-linenumber { - color: @subtext0; - } - .cm-s-default .cm-string { - color: @peach; - } - .cm-s-default .cm-qualifier { - color: @peach; - } - .installed .configure-usercss i { - color: @accent-color; - } - .cm-s-default .cm-variable-2 { - color: @sapphire; - } - .cm-s-default .cm-keyword { - color: @mauve; - } - .cm-s-default .cm-atom, - .cm-s-default .cm-number { - color: @green; - } - .cm-s-default .cm-def { - color: @sapphire; - } - .cm-s-default .cm-tag { - color: @sapphire; - } - .cm-s-default .cm-builtin { - color: @subtext1; - } - .cm-s-default .cm-variable-3 { - color: @subtext1; - } - .cm-s-default .cm-comment { - color: @subtext0; - } - .cm-s-default .cm-operator { - color: @yellow; - } - div.CodeMirror span.CodeMirror-matchingbracket { - color: @green; - } - button:disabled, - select:disabled, - option:disabled, - select[disabled] > option { - color: @subtext0; - } - .applies-to input, - .applies-to select { - background: @base; - border-color: @surface0; - color: @subtext0; - } - button { - color: @text !important; - background: @mantle !important; - border-color: @surface0; - &:hover { - border-color: @text; - } - } - #save-button[disabled] { - background: @surface0 !important; - } - #message-box-title { - color: @text; - } - .svg-icon:hover { - fill: @overlay1; - } - .svg-icon { - fill: @overlay0; - } - .onoffswitch input:checked + span { - background-color: fade(@accent-color, 25%); - } - .onoffswitch input:checked + span::before { - background-color: @accent-color; - } - #options-title { - color: @base; - } - #message-box.danger #message-box-title { - background-color: @red; - color: @base; - } - h2 { - color: @accent-color !important; - } - .installed .configure-usercss svg { - fill: @accent-color !important; - } - .installed .configure-usercss:hover svg { - fill: @accent-color !important; - } - .cm-s-default .cm-variable { - color: @text; - } - .CodeMirror-activeline-background { - background: @mantle; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/stylus/catppuccin.user.less b/styles/stylus/catppuccin.user.less new file mode 100644 index 0000000000..7325ece2c5 --- /dev/null +++ b/styles/stylus/catppuccin.user.less @@ -0,0 +1,272 @@ +/* ==UserStyle== +@name Stylus Catppuccin +@namespace github.com/catppuccin/userstyles/styles/stylus +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/stylus +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/stylus/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Astylus +@description Soothing pastel theme for Stylus +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document url-prefix("moz-extension://"), + url-prefix("chrome-extension://") { + :root { + &[data-ui-theme="light"] { + #catppuccin(@lightFlavor); + } + &[data-ui-theme="dark"] { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --bg: @base; + --fg: @text; + --c30: @subtext1; + --c40: @overlay0; + --c45: @surface2; + --c50: @subtext0; + --c60: @subtext0; + --c65: @surface2; + --c75: @overlay1; + --c80: @surface1; + --c85: @surface0; + --c90: @base; + --c95: @mantle; + --c97: @mantle; + --c98: @base; + --c99: @base; + --c100: @base; + --red1: @red; + --accent-1: @accent; + --accent-2: @accent; + --accent-3: fade(@accent, 25%); + + .slider { + --color-on: fade(@accent, 25%); + --color-off: @surface2; + } + + :focus { + --focus-color1: @accent !important; + --focus-color2: fade(@accent, 25%) !important; + } + + .active #filters-stats, + .dirty #save-button, + .dirty #save-button + button { + background-color: @accent; + border-color: @accent; + color: @base; + } + #header-resizer { + color: @surface1; + } + #message-box-title::before { + @fade_color: fade(@accent, 67%); + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + [src="moz-extension://8fc71d5e-96b2-44a4-8d6f-ead6ff4d3c56/images/icon/16.png"], + img[src="/images/icon/128.png"] { + @fade_color: fade(@accent, 67%); + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + #message-box.danger { + #message-box-title { + background-color: @red; + color: @base; + + &::before { + @fade_color: fade(@red, 67%); + @svg: escape( + '' + ); + background: url("data:image/svg+xml,@{svg}") !important; + } + } + + #message-box-close-icon i { + color: var(--c40); + &:hover { + color: var(--bg); + } + } + } + + #filters label:hover, + #filters .filter-selection:hover { + background-color: @surface0; + } + .oldUI .disabled h2::after, + .entry.usercss .style-name-link::after { + background-color: fade(@accent, 25%); + } + + /* Syntax highlighting */ + .CodeMirror-activeline-background { + background: @mantle; + } + .CodeMirror-linenumber { + color: @subtext0; + } + div.CodeMirror span.CodeMirror-matchingbracket { + color: @green; + } + .cm-s-default { + .cm-string { + color: @green; + } + .cm-qualifier { + color: @yellow; + } + .cm-variable-2 { + color: @mauve; + } + .cm-keyword { + color: @mauve; + } + .cm-atom { + color: @red; + } + .cm-number { + color: @peach; + } + .cm-def { + color: @mauve; + } + .cm-tag { + color: @blue; + } + .cm-builtin { + color: @red; + } + .cm-variable-3 { + color: @teal; + } + .cm-comment { + color: @overlay2; + } + .cm-operator { + color: @yellow; + } + .cm-variable { + color: @blue; + } + .cm-property { + color: @blue; + } + } + button:disabled, + select:disabled, + option:disabled, + select[disabled] > option { + color: @subtext0; + } + .applies-to input, + .applies-to select { + background: @base; + border-color: @surface0; + color: @subtext0; + } + button { + color: @text !important; + background: @mantle !important; + border-color: @surface0; + &:hover { + border-color: @text; + } + } + #save-button[disabled] { + background: @surface0 !important; + } + #message-box-title { + color: @text; + } + .svg-icon { + fill: @overlay0; + + &:hover { + fill: @overlay1; + } + } + .onoffswitch input:checked + span { + background-color: fade(@accent, 25%); + + &::before { + background-color: @accent; + } + } + #options-title { + color: @base; + } + h2 { + color: @accent !important; + } + .installed .configure-usercss { + i { + color: @accent; + } + + svg, + &:hover svg { + fill: @accent !important; + } + } + #live-reload-install-hint { + color: @teal; + } + #menu.delete { + header { + background: fade(@red, 25%); + } + + > div, + [data-cmd="delete"] { + border-color: @red; + } + } + .entry.odd { + background-color: fade(@surface0, 25%); + } + .updater-icons > :not(.check-update)::after { + border-color: @yellow; + background: @base; + } + .split-btn-menu { + border-color: @accent; + + > :hover { + background: fade(@accent, 25%); + } + } + #help-popup .title { + background: @mantle; + } + #toc li:hover { + background: fade(@accent, 20%); + } + input:invalid { + background: fade(@red, 10%); + color: @red; + } + } +} diff --git a/styles/stylus/preview.webp b/styles/stylus/preview.webp deleted file mode 100644 index a7cd135e49..0000000000 --- a/styles/stylus/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecf52462aa06d9d4d10c1bb2df40dd729b3dc540dcc907528f309285004e8b7e -size 34868 diff --git a/styles/substack/README.md b/styles/substack/README.md index d21901d48c..5c6ddd9f96 100644 --- a/styles/substack/README.md +++ b/styles/substack/README.md @@ -10,20 +10,19 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿšง Looking for Maintainers ๐Ÿšง -- If you are interested in maintaining this userstyle, please raise a **Pull Request** and add yourself into the `current-maintainers` array in the `userstyles.yml` file. +## ๐Ÿ’ Current Maintainer +- [uncenter](https://github.com/uncenter) ## ๐Ÿ’– Past Maintainer -- [winston](https://github.com/nekowinston) +- [nekowinston](https://github.com/nekowinston)   diff --git a/styles/substack/catppuccin.user.css b/styles/substack/catppuccin.user.css deleted file mode 100644 index af90adc8f2..0000000000 --- a/styles/substack/catppuccin.user.css +++ /dev/null @@ -1,197 +0,0 @@ -/* ==UserStyle== -@name Substack Catppuccin -@namespace github.com/catppuccin/userstyles/styles/substack -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/substack -@version 0.1.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/substack/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asubstack -@description Soothing pastel theme for Substack -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("substack.com") { - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - background-color: @base !important; - - &, - .dark-mode { - --color-primary: @text; - --color-secondary: @subtext0; - --color-bg-primary: @base; - --color-bg-primary-rgb: #rgbify(@base) []; - --web_bg_color: @base; - --color-bg-primary-hover: mix(@surface0, @base, 50%); - --color-bg-secondary: @mantle; - --color-bg-tertiary: @crust; - --color-dark-bg-tertiary: @crust; - --color-dark-primary: @text; - --color-bg-elevated: @surface0; - --color-bg-elevated-hover: mix(@surface1, @surface0, 50%); - --color-accent-themed: @accent-color; - --color-bg-secondary-opacity: @surface0; - --color-bg-secondary-themed: @surface0; - --color-accent-inverse-themed: @crust; - --color-light-bg-primary: @crust; - --color-accent-primary: @accent-color; - --color-accent-substack: @accent-color; - --color-accent-blue: @blue; - --color-accent-red: @red; - --color-accent-purple: @mauve; - --color-accent-facebook: @blue; - --color-accent-error: @red; - --color-detail: @surface1; - --color-dark-bg-primary: @mantle; - - // subdomains - --print_on_web_bg_color: @text; - --color-secondary-themed: @subtext0; - --print_secondary_on_web_bg_color: @subtext0; - --background_pop: @peach; - --print_pop: @peach; - --print_on_pop: @crust; - --print_secondary: @subtext0; - --color-tertiary: @crust; - --background_contrast_1: @crust; - --background_contrast_2: mix(@crust, @mantle, 50%); - --background_contrast_3: @mantle; - --background_contrast_4: mix(@mantle, @base, 33%); - --background_contrast_5: mix(@mantle, @base, 66%); - --color_theme_bg_contrast_1: unset; - --color_theme_bg_contrast_2: mix(@surface0, @surface1, 50%); - --color_theme_bg_contrast_3: @surface1; - --color_theme_bg_contrast_4: mix(@surface1, @surface2, 50%); - --color_theme_bg_contrast_5: @surface2; - --input_background: @surface0; - - // used for podcast play controls - --color_theme_bg_pop_rgb: #rgbify(@accent-color) []; - --color_theme_print_on_pop: @crust; - } - - // brand colors in SVGs - // Substack orange - *[stroke="#ff6719"], - *[stroke="#FF6719"] { - stroke: @peach !important; - } - *[fill="#ff6719"], - *[fill="#FF6719"] { - fill: @peach !important; - } - - .footer-wrap .footer .footer-substack-cta { - background-color: @base; - } - - .reader-nav-top.pinned { - background-color: rgba(#rgbify(@base) [], 85%); - backdrop-filter: var(--glass); - } - - // toggle switches - .tailwind-preflight button span { - background-color: @base !important; - } - - // restack quote popup - div[class*="frontend-components-selection_popover-module"] { - * { - color: @text !important; - background: @base !important; - border-color: @surface0 !important; - stroke: @text !important; - } - } - - // top navbar user button - .button.user-indicator { - background: var(--color-bg-secondary-themed) !important; - } - - // comment boxes - .comment-input-wrap form.comment-input .comment-input-right textarea { - overflow-y: auto !important; - } - - ::-webkit-scrollbar { - background: @mantle; - width: 0.25rem; - } - ::-webkit-scrollbar-thumb { - background: @accent-color; - border-radius: 9999px; - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/substack/catppuccin.user.less b/styles/substack/catppuccin.user.less new file mode 100644 index 0000000000..50578776b7 --- /dev/null +++ b/styles/substack/catppuccin.user.less @@ -0,0 +1,261 @@ +/* ==UserStyle== +@name Substack Catppuccin +@namespace github.com/catppuccin/userstyles/styles/substack +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/substack +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/substack/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asubstack +@description Soothing pastel theme for Substack +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("substack.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + color: @text; + background-color: @base !important; + + &, + .dark-mode, + .dark-theme, + [class*="_pubTheme_"] { + --color-bg-primary: @base; + --color-bg-primary-rgb: #lib.rgbify(@base)[]; + --color-bg-primary-raw: #lib.rgbify(@base)[]; + --color-bg-primary-hover: @surface0; + --color-bg-secondary: @surface0; + --color-bg-tertiary: @surface1; + --color-bg-elevated-primary: @mantle; + --color-bg-elevated-secondary: @crust; + --color-fg-primary: @text; + --color-fg-secondary: @subtext1; + --color-fg-tertiary: @subtext0; + --color-utility-detail: @surface1; + --color-utility-white: @text; + --color-detail-themed: @surface1; + --color-accent-themed: @accent; + + --color-accent-fg-red: @red; + --color-accent-bg-red: fade(@red, 20%); + --color-semantic-error-bg-primary: @red; + --color-semantic-error-utility-contrast: @crust; + + --color-accent-fg-orange: @accent; + --color-accent-bg-orange: fade(@accent, 20%); + + --color-accent-fg-green: @green; + --color-accent-bg-green: fade(@green, 20%); + + --color-accent-fg-cyan: @blue; + --color-accent-bg-cyan: fade(@blue, 20%); + + /* Buttons */ + --color-button-primary-bg: @accent; + --color-button-primary-bg-hover: darken(@accent, 5%); + --color-button-primary-fg: @crust; + + --color-button-secondary-bg: @surface0; + --color-button-secondary-bg-hover: @surface1; + --color-button-secondary-fg: @text; + + --color-button-tertiary-bg-hover: @surface1; + --color-button-tertiary-fg: @text; + + --color-button-mono-bg: @text; + --color-button-mono-bg-hover: @subtext1; + --color-button-mono-fg: @crust; + + --color-button-disabled-fg: @subtext0; + + /* Tooltips & Toasts */ + --color-bg-tooltip: @mantle; + --material-thick: @mantle; + + --print_pop: @accent; + --print_secondary: @subtext1; + --background_pop: @accent; + --print_on_pop: @crust; + --color_theme_bg_pop: @accent; + --color_theme_bg_pop_darken: darken(@accent, 5%); + --color_theme_print_on_pop: @crust; + --border_subtle: @surface1; + --background_contrast_1: @mantle; + --background_contrast_2: @surface2; + --color_theme_bg_contrast_1: @surface1; + --color_theme_bg_contrast_2: @overlay0; + --color_theme_bg_contrast_4: @subtext0; + + --color-chat-other-fg-secondary: @subtext1; + + --color-semantic-select-fg-primary: @accent; + --color-semantic-select-utility-detail: fade(@accent, 20%); + --color-semantic-highlight-fg-primary: @accent; + + /* Weird variables issue fixes */ + --color-light-bg-primary: @mantle; /* Was text, changing to mantle for (select text) -> Share -> Download button color. Might break things */ + --color-light-bg-secondary: @surface0; /* substack.com homepage sections */ + --color-dark-bg-primary: @mantle; + --color-dark-bg-secondary: @base; + --color-dark-bg-tertiary: @surface0; + + /* Publications with different variables */ + --color-primary-themed: @text; + --color-secondary-themed: @subtext1; + + --color-bg-secondary-themed: @surface0; + + --web_bg_color: @mantle; + --print_on_web_bg_color: @text; + --print_secondary_on_web_bg_color: @subtext1; + + /* Share button */ + --material-dark-regular: @mantle; + /* Copy (heading link) to clipboard notification */ + --material-dark-thick: @crust; + /* Button hover, faded to 0.1 */ + --color-primitive-white-rgb: #lib.rgbify(@text)[]; + + /* Various full screen modals for singing up, subscribing etc */ + --cover_print_primary: @text; + --cover_print_secondary: @subtext1; + --cover_print_tertiary: @subtext0; + --cover_bg_color: @base; + --cover_input_background: @mantle; + } + + /* Substack logos */ + [fill="#ff6719" i] { + fill: @accent !important; + } + /* Inverted logo colors */ + [fill="#FFFFFF" i] { + fill: @crust !important; + } + + /* Footer */ + .footer-wrap { + &, + .footer { + background-color: @mantle; + } + + .home-footer { + &, + a, + .footer-info .footer-info-col h3 { + color: @text; + } + } + } + .subscribe-footer .button.primary { + border-color: @crust; + } + + /* Signup, onboarding, and profile */ + + .homepage-nav .homepage-nav-bar .homepage-nav-wrap.grey { + background-color: @base; + } + .signup-page { + background-color: @base; + + .signup-box-wrap .error { + color: @red; + } + } + + .onboarding-profile-page { + .accept-tos * { + color: @subtext1; + } + + .skip-button { + color: @text; + } + } + + .profile-page .set-up-profile-button { + color: @crust; + } + .edit-profile-page .publication-section .all-toggle { + color: @subtext1; + } + + /* Misc inputs */ + button[role="switch"], + input[type="radio"] + span { + --color-utility-white: @surface0; + } + + input[type="text"], + input[type="date"], + select { + background-color: @mantle; + color: @text; + } + + .themed-select > div { + background-color: @mantle; + border-color: @surface0; + + * { + color: @text; + } + } + + [aria-label="File Picker"] { + background-color: @base; + } + + /* Dashboard */ + + /* Icons */ + [stroke="#888888"], + [stroke="#555555"] { + stroke: @subtext1 !important; + } + + /* Import posts */ + .signup-page > .container .signup-box { + background-color: @base; + } + + /* Stats */ + .subscriber-stats-page { + .heading .options .header-option .header-button { + background-color: @surface0; + } + + table { + td, + th { + background-color: @base; + } + } + } + + /* Editor */ + .tw-bg-pub-accent { + background-color: @accent !important; + } + } +} diff --git a/styles/substack/preview.webp b/styles/substack/preview.webp deleted file mode 100644 index 6c4cafae26..0000000000 --- a/styles/substack/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:938ff1118859e61e4034c4a3dd753d0a52d12b5e627ffa6caf0d1695c3c64837 -size 447708 diff --git a/styles/syncthing/README.md b/styles/syncthing/README.md index 903c8eb9e6..998738807d 100644 --- a/styles/syncthing/README.md +++ b/styles/syncthing/README.md @@ -10,18 +10,15 @@

- -

- -

- +

## Usage -> [!NOTE] -> This theme is designed to be used with the default WebGUI and default theme provided by Syncthing. This does not theme syncthing.net. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> This theme is designed to be used with the default WebGUI and default theme provided by Syncthing. This does not theme syncthing.net. ## ๐Ÿ’ Current Maintainer - [BlankParticle](https://github.com/BlankParticle) diff --git a/styles/syncthing/catppuccin.user.css b/styles/syncthing/catppuccin.user.less similarity index 58% rename from styles/syncthing/catppuccin.user.css rename to styles/syncthing/catppuccin.user.less index 2c0db42509..6b9af92986 100644 --- a/styles/syncthing/catppuccin.user.css +++ b/styles/syncthing/catppuccin.user.less @@ -2,8 +2,8 @@ @name Syncthing Catppuccin @namespace github.com/catppuccin/userstyles/styles/syncthing @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/syncthing -@version 0.1.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/syncthing/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/syncthing/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Asyncthing @description Soothing pastel theme for Syncthing @author Catppuccin @@ -17,73 +17,34 @@ @var text urls "URL(s) for Syncthing" "127\.0\.0\.1\:8384,0\.0\.0\.0\:8384,localhost\:8384" ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + /* `replace( ," ", "", "g")` is here to remove extra spaces (if any) */ -@-moz-document regexp(replace(replace(%("https?://(%s)/.*", @urls), ",", "|", "g"), " ", "", "g")) -{ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document regexp( + replace(replace(%("https?://(%s)/.*", @urls), ",", "|", "g"), " ", "", "g") + ) { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } .light-theme { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - .dark-theme { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); body { color: @text !important; @@ -91,12 +52,12 @@ } a { - color: @accent-color; + color: @accent; } .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a { - color: @accent-color !important; + color: @accent !important; } /* navbar */ @@ -143,7 +104,7 @@ .dropdown-menu > .active > a { color: @base !important; - background-color: @accent-color !important; + background-color: @accent !important; } /* main panel */ @@ -158,7 +119,7 @@ .panel-default > .panel-heading { color: @text !important; border-color: @surface0 !important; - background-color: @base !important; + background-color: @surface0 !important; } .panel-footer { @@ -197,14 +158,14 @@ } .btn-primary { - background-color: @accent-color !important; + background-color: @accent !important; color: @base; } .btn-primary:hover, .btn-primary:focus, .btn-primary.focus { - background-color: fade(@accent-color, 90%) !important; + background-color: fade(@accent, 90%) !important; } .btn-warning { @@ -293,7 +254,7 @@ /* progress bars */ .progress-bar { - background-color: @accent-color !important; + background-color: @accent !important; } .progress-bar-success { @@ -314,7 +275,7 @@ /* text */ .text-primary { - color: @accent-color !important; + color: @accent !important; } .text-success { @@ -334,13 +295,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/syncthing/preview.webp b/styles/syncthing/preview.webp deleted file mode 100644 index de143392e7..0000000000 --- a/styles/syncthing/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e937c2654b8a8408b9659bff3a0577712a014adfb015d893b808850076765be0 -size 79300 diff --git a/styles/tabnews/README.md b/styles/tabnews/README.md index bcf8f1b067..20839faf74 100644 --- a/styles/tabnews/README.md +++ b/styles/tabnews/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/tabnews/catppuccin.user.css b/styles/tabnews/catppuccin.user.less similarity index 56% rename from styles/tabnews/catppuccin.user.css rename to styles/tabnews/catppuccin.user.less index ca1633e24e..a111407ea7 100644 --- a/styles/tabnews/catppuccin.user.css +++ b/styles/tabnews/catppuccin.user.less @@ -2,8 +2,8 @@ @name TabNews Catppuccin @namespace github.com/catppuccin/userstyles/styles/tabnews @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/tabnews -@version 0.0.4 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tabnews/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tabnews/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atabnews @description Soothing pastel theme for TabNews @author Catppuccin @@ -15,75 +15,39 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('tabnews.com.br') { +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("tabnews.com.br") { :root:has(div[data-color-mode="dark"]) { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root:has(div[data-color-mode="light"]) { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); --bgColor-default: @base; --bgColor-emphasis: @crust; --fgColor-default: @text; --bgColor-neutral-emphasis: @subtext0; - --bgColor-accent-emphasis: @accent-color; - --fgColor-accent: @accent-color; + --bgColor-accent-emphasis: @accent; + --fgColor-accent: @accent; --fgColor-onEmphasis: @text; - --color-accent-fg: @accent-color; + --color-accent-fg: @accent; --fgColor-muted: @overlay0; --borderColor-default: @surface0; --button-default-bgColor-rest: @base; --button-default-bgColor-hover: @crust; --button-default-fgColor-rest: @text; --button-default-fgColor-hover: @text; - --button-primary-bgColor-rest: @accent-color; - --button-primary-bgColor-disabled: fadeout(@accent-color, 15%); + --button-primary-bgColor-rest: @accent; + --button-primary-bgColor-disabled: fade(@accent, 85%); --button-primary-fgColor-disabled: @text; --button-primary-fgColor-rest: @surface0; - --button-primary-bgColor-hover: darken(@accent-color, 5%); + --button-primary-bgColor-hover: darken(@accent, 5%); --button-primary-fgColor-hover: @surface0; --button-default-bgColor-active: @base; --controlKnob-bgColor-rest: @crust; @@ -120,7 +84,7 @@ --color-prettylights-syntax-markup-list: @text; #nprogress .bar { - background: @accent-color; + background: @accent; } /* Style the button to change theme when light theme is on */ @@ -145,7 +109,7 @@ } path.recharts-rectangle { - fill: @accent-color; + fill: @accent; } path.recharts-rectangle.recharts-tooltip-cursor { @@ -157,7 +121,7 @@ } li.recharts-tooltip-item { - color: @accent-color !important; + color: @accent !important; } div[overflow="hidden"] { @@ -215,7 +179,7 @@ .gsc-refinementhInactive { color: @text; background: @base; - border-color: @accent-color; + border-color: @accent; } .gsc-option-menu-container { @@ -250,7 +214,7 @@ border-color: transparent; background: @base; .gsc-url-top > * { - color: @accent-color; + color: @accent; } } @@ -268,13 +232,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/tabnews/preview.webp b/styles/tabnews/preview.webp deleted file mode 100644 index 46e524e0a9..0000000000 --- a/styles/tabnews/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a6512681e0a42d9250c64a7a257a26f67086e0bab168e9ccdf74a0f42919df24 -size 452574 diff --git a/styles/tldraw/README.md b/styles/tldraw/README.md index be2dec59cc..477381ff86 100644 --- a/styles/tldraw/README.md +++ b/styles/tldraw/README.md @@ -10,24 +10,23 @@

- -

- -

- +

## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + > [!NOTE] > This theme only changes how the colors appear on the tldraw canvas. Exported graphics **will not be Catppuccin-themed**. +## ๐Ÿ’ Current Maintainer +- [NekoDrone](https://github.com/NekoDrone) - -## ๐Ÿ’ Current Maintainers +## ๐Ÿ’– Past Maintainers - [GenShibe](https://github.com/GenShibe) - [uncenter](https://github.com/uncenter) -  

diff --git a/styles/tldraw/catppuccin.user.css b/styles/tldraw/catppuccin.user.css deleted file mode 100644 index c07c4d735d..0000000000 --- a/styles/tldraw/catppuccin.user.css +++ /dev/null @@ -1,432 +0,0 @@ -/* ==UserStyle== -@name tldraw Catppuccin -@namespace github.com/catppuccin/userstyles/styles/tldraw -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/tldraw -@version 0.0.2 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tldraw/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atldraw -@description Soothing pastel theme for tldraw -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('tldraw.com') { - .tl-theme__dark { - #catppuccin(@darkFlavor, @accentColor); - } - .tl-theme__light { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-accent: @accent-color !important; - --color-background: @base !important; - --color-brush-fill: @surface0 !important; - --color-brush-stroke: @surface2 !important; - --color-grid: @overlay0 !important; - --color-low: @surface0 !important; - --color-low-border: @overlay2 !important; - --color-culled: @subtext1 !important; - --color-muted-none: fade(@surface0, 70%); - --color-muted-0: @surface0; - --color-muted-1: @surface1; - --color-muted-2: @surface2 !important; - --color-hint: @surface2 !important; - --color-overlay: fade(@base, 50%) !important; - --color-divider: @surface1 !important; - --color-panel-contrast: @surface2 !important; - --color-panel-overlay: fade(@overlay0, 80%); - --color-panel: @surface0 !important; - --color-focus: @sky !important; - --color-selected: @accent-color !important; - --color-selected-contrast: @crust !important; - --color-selection-fill: fade(@blue, 50%); - --color-selection-stroke: @sapphire !important; - --color-text-0: @text !important; - --color-text-1: @text !important; - --color-text-3: @subtext1 !important; - --color-text-shadow: @subtext0 !important; - --color-primary: @blue !important; - --color-warn: @maroon !important; - --color-text: @text !important; - --color-laser: @red !important; - - --shadow-1-1: fade(@crust, 16%); - --shadow-1-2: fade(@crust, 22%); - --shadow-2-1: fade(@crust, 66%); - --shadow-2-2: fade(@crust, 33%); - --shadow-3-1: fade(@crust, 50%); - - --shadow-1: 0px 1px 2px var(--shadow-1-1), 0px 1px 3px var(--shadow-1-2); - --shadow-2: 0px 1px 3px var(--shadow-2-1), 0px 2px 6px var(--shadow-2-2), - inset 0px 0px 0px 1px var(--color-panel-contrast); - --shadow-3: 0px 1px 3px var(--shadow-3-1), 0px 2px 12px var(--shadow-3-1), - inset 0px 0px 0px 1px var(--color-panel-contrast); - - .tlui-menu__submenu__trigger[data-state="open"]:not(:hover)::after { - border-radius: var(--radius-1); - background: linear-gradient( - 90deg, - @surface0 0%, - var(--color-muted-2) 100% - ); - } - .tlui-menu-zone *[data-state="open"]::after { - background: linear-gradient( - 180deg, - @surface0 0%, - var(--color-muted-2) 100% - ); - } - .tlui-people-menu__avatar { - background-color: @green !important; - } - - --color-black: @text; - --color-gray: if(@lookup = latte, @subtext0, @subtext0); - --color-red: @red; - --color-light-red: lighten(@red, 5%); - --color-orange: @peach; - --color-yellow: @yellow; - --color-green: darken(@green, 5%); - --color-light-green: lighten(@green, 5%); - --color-blue: @blue; - --color-light-blue: @sky; - --color-violet: darken(@mauve, 10%); - --color-light-violet: @mauve; - - [title="Color โ€” Black"] { - color: var(--color-black) !important; - } - [title="Color โ€” Grey"] { - color: var(--color-gray) !important; - } - [title="Color โ€” Red"] { - color: var(--color-red) !important; - } - [title="Color โ€” Light red"] { - color: var(--color-light-red) !important; - } - [title="Color โ€” Orange"] { - color: var(--color-orange) !important; - } - [title="Color โ€” Yellow"] { - color: var(--color-yellow) !important; - } - [title="Color โ€” Green"] { - color: var(--color-green) !important; - } - [title="Color โ€” Light green"] { - color: var(--color-light-green) !important; - } - [title="Color โ€” Blue"] { - color: var(--color-blue) !important; - } - [title="Color โ€” Light blue"] { - color: var(--color-light-blue) !important; - } - [title="Color โ€” Violet"] { - color: var(--color-violet) !important; - } - [title="Color โ€” Light violet"] { - color: var(--color-light-violet) !important; - } - .tl-svg-container { - [fill="#e1e1e1"], - [fill="#1d1d1d"], - [fill="#494949"], - [fill="#989898"] { - fill: var(--color-black) !important; - } - [fill="#010403"] { - fill: @crust !important; - } - [fill="#9398b0"], - [fill="#adb5bd"], - [fill="#bcc3c9"], - [fill="#7c8187"] { - fill: var(--color-gray) !important; - } - [fill="#e03131"], - [fill="#e55959"], - [fill="#8f3734"] { - fill: var(--color-red) !important; - } - [fill="#ff8787"], - [fill="#fe9e9e"], - [fill="#a56767"] { - fill: var(--color-light-red) !important; - } - [fill="#f76707"], - [fill="#f78438"], - [fill="#9f552d"] { - fill: var(--color-orange) !important; - } - [fill="#ffc034"], - [fill="#ffc078"], - [fill="#fecb92"] { - fill: var(--color-yellow) !important; - } - [fill="#099268"], - [fill="#39a785"], - [fill="#366a53"] { - fill: var(--color-green) !important; - } - [fill="#40c057"], - [fill="#65cb78"], - [fill="#4e874e"] { - fill: var(--color-light-green) !important; - } - [fill="#4263eb"], - [fill="#6681ee"], - [fill="#3a4b9e"] { - fill: var(--color-blue) !important; - } - [fill="#4dabf7"], - [fill="#6fbbf8"], - [fill="#4d7aa9"] { - fill: var(--color-light-blue) !important; - } - [fill="#ae3ec9"], - [fill="#bd63d3"], - [fill="#763a8b"] { - fill: var(--color-violet) !important; - } - [fill="#e599f7"], - [fill="#e9acf8"], - [fill="#9770a9"] { - fill: var(--color-light-violet) !important; - } - [stroke="#e1e1e1"], - [stroke="#1d1d1d"] { - stroke: var(--color-black) !important; - } - [stroke="#9398b0"], - [stroke="#adb5bd"] { - stroke: var(--color-gray) !important; - } - [stroke="#e03131"] { - stroke: var(--color-red) !important; - } - [stroke="#ff8787"] { - stroke: var(--color-light-red) !important; - } - [stroke="#f76707"] { - stroke: var(--color-orange) !important; - } - [stroke="#ffc034"], - [stroke="#ffc078"] { - stroke: var(--color-yellow) !important; - } - [stroke="#099268"] { - stroke: var(--color-green) !important; - } - [stroke="#40c057"] { - stroke: var(--color-light-green) !important; - } - [stroke="#4263eb"] { - stroke: var(--color-blue) !important; - } - [stroke="#4dabf7"] { - stroke: var(--color-light-blue) !important; - } - [stroke="#ae3ec9"] { - stroke: var(--color-violet) !important; - } - [stroke="#e599f7"] { - stroke: var(--color-light-violet) !important; - } - [stroke="color(display-p3 0.8078 0.7225 0.0312)"], - [stroke="color(display-p3 0.972 0.8705 0.05)"] { - stroke: var(--color-yellow) !important; - } - [stroke="color(display-p3 0.6299 0.7012 0.7856)"], - [stroke="color(display-p3 0.8163 0.9023 0.9416)"] { - stroke: var(--color-text-3) !important; - } - [stroke="color(display-p3 0.7024 0.0403 0.753)"], - [stroke="color(display-p3 0.9676 0.5652 0.9999)"] { - stroke: var(--color-light-violet) !important; - } - [stroke="color(display-p3 0.5651 0.0079 0.8986)"], - [stroke="color(display-p3 0.7469 0.5089 0.9995)"] { - stroke: var(--color-violet) !important; - } - [stroke="color(display-p3 0.0032 0.4655 0.7991)"], - [stroke="color(display-p3 0.308 0.6632 0.9996)"] { - stroke: var(--color-blue) !important; - } - [stroke="color(display-p3 0.0023 0.7259 0.7735)"], - [stroke="color(display-p3 0.1512 0.9414 0.9996)"] { - stroke: var(--color-light-blue) !important; - } - [stroke="color(display-p3 0.7699 0.4937 0.0085)"], - [stroke="color(display-p3 0.9988 0.6905 0.266)"] { - stroke: var(--color-orange) !important; - } - [stroke="color(display-p3 0.0085 0.582 0.4604)"], - [stroke="color(display-p3 0.2536 0.984 0.7981)"] { - stroke: var(--color-green) !important; - } - [stroke="color(display-p3 0.2711 0.6172 0.0195)"], - [stroke="color(display-p3 0.563 0.9495 0.3857)"] { - stroke: var(--color-light-green) !important; - } - [stroke="color(display-p3 0.7849 0.0585 0.3589)"], - [stroke="color(display-p3 0.9988 0.5301 0.6397)"] { - stroke: var(--color-light-red) !important; - } - [stroke="color(display-p3 0.7978 0.0509 0.2035)"], - [stroke="color(display-p3 0.9992 0.4376 0.45)"] { - stroke: var(--color-red) !important; - } - } - - [data-testid="mobile-styles.button"] { - &[style*="color: rgb(229, 153, 247);"] { - color: var(--color-light-violet) !important; - } - &[style*="color: rgb(147, 152, 176);"], - &[style*="color: rgb(173, 181, 189);"] { - color: var(--color-gray) !important; - } - &[style*="color: rgb(224, 49, 49);"] { - color: var(--color-red) !important; - } - &[style*="color: rgb(247, 103, 7);"] { - color: var(--color-orange) !important; - } - &[style*="color: rgb(255, 192, 52);"], - &[style*="color: rgb(255, 192, 120);"] { - color: var(--color-yellow) !important; - } - &[style*="color: rgb(9, 146, 104);"] { - color: var(--color-green) !important; - } - &[style*="color: rgb(64, 192, 87);"] { - color: var(--color-light-green) !important; - } - &[style*="color: rgb(66, 99, 235);"] { - color: var(--color-blue) !important; - } - &[style*="color: rgb(77, 171, 247);"] { - color: var(--color-light-blue) !important; - } - &[style*="color: rgb(174, 62, 201);"] { - color: var(--color-violet) !important; - } - &[style*="color: rgb(255, 135, 135);"] { - color: var(--color-light-red) !important; - } - } - - div:has(.tl-text.tl-text-content) { - &[style*="color: rgb(225, 225, 225);"], - &[style*="color: rgb(29, 29, 29);"] { - color: var(--color-black) !important; - } - &[style*="color: rgb(147, 152, 176);"], - &[style*="color: rgb(173, 181, 189);"] { - color: var(--color-gray) !important; - background-color: var(--color-gray) !important; - } - &[style*="color: rgb(224, 49, 49);"] { - color: var(--color-red) !important; - background-color: var(--color-red) !important; - } - &[style*="color: rgb(255, 135, 135);"] { - color: var(--color-light-red) !important; - background-color: var(--color-light-red) !important; - } - &[style*="color: rgb(247, 103, 7);"] { - color: var(--color-orange) !important; - background-color: var(--color-orange) !important; - } - &[style*="color: rgb(255, 192, 52);"], - &[style*="color: rgb(255, 192, 120);"] { - color: var(--color-yellow) !important; - background-color: var(--color-yellow) !important; - } - &[style*="color: rgb(9, 146, 104);"] { - color: var(--color-green) !important; - background-color: var(--color-green) !important; - } - &[style*="color: rgb(64, 192, 87);"] { - color: var(--color-light-green) !important; - background-color: var(--color-light-green) !important; - } - &[style*="color: rgb(66, 99, 235);"] { - color: var(--color-blue) !important; - background-color: var(--color-blue) !important; - } - &[style*="color: rgb(77, 171, 247);"] { - color: var(--color-light-blue) !important; - background-color: var(--color-light-blue) !important; - } - &[style*="color: rgb(174, 62, 201);"] { - color: var(--color-violet) !important; - background-color: var(--color-violet) !important; - } - &[style*="color: rgb(229, 153, 247);"] { - color: var(--color-light-violet) !important; - background-color: var(--color-light-violet) !important; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/tldraw/catppuccin.user.less b/styles/tldraw/catppuccin.user.less new file mode 100644 index 0000000000..1237701c33 --- /dev/null +++ b/styles/tldraw/catppuccin.user.less @@ -0,0 +1,477 @@ +/* ==UserStyle== +@name tldraw Catppuccin +@namespace github.com/catppuccin/userstyles/styles/tldraw +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/tldraw +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tldraw/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atldraw +@description Soothing pastel theme for tldraw +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("tldraw.com") { + .tl-theme__dark { + #catppuccin(@darkFlavor); + } + + .tl-theme__light { + #catppuccin(@lightFlavor); + } + + :root:has(.tl-container.tl-theme__dark) .cl-modalContent { + #catppuccin(@darkFlavor); + } + + :root:has(.tl-container.tl-theme__light) .cl-modalContent { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --tl-color-background: @mantle; + --tl-color-low: @base; + --tl-color-low-border: @base; + --tl-color-panel: @surface0; + --tl-color-panel-contrast: @surface1; + --tl-color-primary: @accent; + --tl-color-success: @green; + --tl-color-info: @sky; + --tl-color-warning: @peach; + --tl-color-danger: @maroon; + --tl-color-laser: @red; + --tl-color-selected: @accent; + --tl-color-text: @text; + --tl-color-text-1: @text; + --tl-color-text-2: @subtext1; + --tl-color-text-3: @subtext0; + --tl-color-selected-contrast: @crust; + --tl-color-snap: @red; + --tl-color-selection-stroke: @accent; + --tl-color-divider: @surface1; + --tl-color-grid: @overlay1; + --tla-color-primary: @accent; + --tla-color-primary-hover: fade(@accent, 80%); + --tla-color-sidebar: @surface0; + --tla-color-cta: @accent; + --tla-color-cta-hover: fade(@accent, 80%); + --tla-color-text-1: @text; + --tla-color-text-2: @subtext1; + --tla-color-text-3: @subtext0; + --tla-color-contrast: @crust; + + @violet: darken(@mauve, 20%); + @dark-green: darken(@green, 15%); + @dark-red: darken(@red, 10%); + + button.tla-primary-button > span.i18n-msg { + color: var(--tla-color-contrast); + } + + /* colours on canvas */ + div.tl-shape { + svg.tl-svg-container { + /* pencil draw shape fills */ + path[fill="#f2f2f2"], + path[fill="#1d1d1d"] { + fill: @text; + } + + path[fill="#9398b0"], + path[fill="#9fa8b2"] { + fill: @overlay2; + } + + path[fill="#e599f7"], + path[fill="#e085f4"] { + fill: @mauve; + } + + path[fill="#ae3ec9"] { + fill: @violet; + } + + path[fill="#4f72fc"], + path[fill="#4465e9"] { + fill: @blue; + } + + path[fill="#4dabf7"], + path[fill="#4ba1f1"] { + fill: @sky; + } + + path[fill="#ffc034"], + path[fill="#f1ac4b"] { + fill: @yellow; + } + + path[fill="#f76707"], + path[fill="#e16919"] { + fill: @peach; + } + + path[fill="#099268"] { + fill: @dark-green; + } + + path[fill="#40c057"], + path[fill="#4cb05e"] { + fill: @green; + } + + path[fill="#ff8787"], + path[fill="#f87777"] { + fill: @red; + } + + path[fill="#e03131"] { + fill: @dark-red; + } + + /* shape outlines (path), arrow strokes (g) */ + path[stroke="#f2f2f2"], + path[stroke="#1d1d1d"], + g[stroke="#f2f2f2"], + g[stroke="#1d1d1d"] { + stroke: @text; + } + + path[stroke="#9398b0"], + path[stroke="#9fa8b2"], + g[stroke="#9398b0"], + g[stroke="#9fa8b2"] { + stroke: @overlay2; + } + + path[stroke="#e599f7"], + path[stroke="#e085f4"], + g[stroke="#e599f7"], + g[stroke="#e085f4"] { + stroke: @mauve; + } + + path[stroke="#ae3ec9"], + g[stroke="#ae3ec9"] { + stroke: @violet; + } + + path[stroke="#4f72fc"], + path[stroke="#4465e9"], + g[stroke="#4f72fc"], + g[stroke="#4465e9"] { + stroke: @blue; + } + + path[stroke="#4dabf7"], + path[stroke="#4ba1f1"], + g[stroke="#4dabf7"], + g[stroke="#4ba1f1"] { + stroke: @sky; + } + + path[stroke="#ffc034"], + path[stroke="#f1ac4b"], + g[stroke="#ffc034"], + g[stroke="#f1ac4b"] { + stroke: @yellow; + } + + path[stroke="#f76707"], + path[stroke="#e16919"], + g[stroke="#f76707"], + g[stroke="#e16919"] { + stroke: @peach; + } + + path[stroke="#099268"], + g[stroke="#099268"] { + stroke: @dark-green; + } + + path[stroke="#40c057"], + path[stroke="#4cb05e"], + g[stroke="#40c057"], + g[stroke="#4cb05e"] { + stroke: @green; + } + + path[stroke="#ff8787"], + path[stroke="#f87777"], + g[stroke="#ff8787"], + g[stroke="#f87777"] { + stroke: @red; + } + + path[stroke="#e03131"], + g[stroke="#e03131"] { + stroke: @dark-red; + } + + /* shape fill - solid */ + path[fill="#2c3036"], + path[fill="#e8e8e8"] { + fill: fade(@text, 20%); + } + + path[fill="#33373c"], + path[fill="#eceef0"] { + fill: fade(@overlay2, 20%); + } + + path[fill="#383442"], + path[fill="#f5eafa"] { + fill: fade(@mauve, 20%); + } + + path[fill="#342938"], + path[fill="#ecdcf2"] { + fill: fade(@violet, 20%); + } + + path[fill="#262d40"], + path[fill="#dce1f8"] { + fill: fade(@blue, 20%); + } + + path[fill="#2a3642"], + path[fill="#ddedfa"] { + fill: fade(@sky, 20%); + } + + path[fill="#3b352b"], + path[fill="#f9f0e6"] { + fill: fade(@yellow, 20%); + } + + path[fill="#3b2e27"], + path[fill="#f8e2d4"] { + fill: fade(@peach, 20%); + } + + path[fill="#253231"], + path[fill="#d3e9e3"] { + fill: fade(@dark-green, 20%); + } + + path[fill="#2a3830"], + path[fill="#dbf0e0"] { + fill: fade(@green, 20%); + } + + path[fill="#3c2b2b"], + path[fill="#f4dadb"] { + fill: fade(@red, 20%); + } + + path[fill="#382726"] { + fill: fade(@dark-red, 20%); + } + } + + /* sticky notes */ + div.tl-note__container { + &[style*="background-color: rgb(44, 44, 44);"] { + background-color: @surface0 !important; + } + + &[style*="background-color: rgb(86, 89, 95);"], + &[style*="background-color: rgb(192, 202, 211)"] { + background-color: @overlay2 !important; + } + + &[style*="background-color: rgb(118, 47, 142);"], + &[style*="background-color: rgb(223, 176, 249)"] { + background-color: fade(@mauve, 40%) !important; + } + + &[style*="background-color: rgb(95, 28, 112);"], + &[style*="background-color: rgb(219, 145, 253)"] { + background-color: fade(@violet, 40%) !important; + } + + &[style*="background-color: rgb(42, 63, 152);"], + &[style*="background-color: rgb(138, 163, 255)"] { + background-color: fade(@blue, 40%) !important; + } + + &[style*="background-color: rgb(31, 84, 149);"], + &[style*="background-color: rgb(155, 196, 253)"] { + background-color: fade(@sky, 40%) !important; + } + + /* in light mode, the 'white' coloured sticky note is yellow, so we override it here */ + &[style*="background-color: rgb(138, 94, 28);"], + &[style*="background-color: rgb(254, 212, 154)"], + &[style*="background-color: rgb(252, 225, 156)"] { + background-color: fade(@yellow, 40%) !important; + } + + &[style*="background-color: rgb(124, 57, 5);"], + &[style*="background-color: rgb(250, 164, 117)"] { + background-color: fade(@peach, 40%) !important; + } + + &[style*="background-color: rgb(1, 68, 41);"], + &[style*="background-color: rgb(111, 200, 150)"] { + background-color: fade(@dark-green, 60%) !important; + } + + &[style*="background-color: rgb(33, 88, 29);"], + &[style*="background-color: rgb(152, 208, 138)"] { + background-color: fade(@green, 40%) !important; + } + + &[style*="background-color: rgb(122, 51, 51);"], + &[style*="background-color: rgb(247, 165, 161)"] { + background-color: fade(@red, 40%) !important; + } + + &[style*="background-color: rgb(126, 32, 31);"], + &[style*="background-color: rgb(252, 130, 130)"] { + background-color: fade(@dark-red, 40%) !important; + } + } + } + + /* canvas text */ + div.tl-text-content__wrapper { + &[style*="color: rgb(242, 242, 242)"], + &[style*="color: rgb(29, 29, 29)"] { + color: @text !important; + } + + &[style*="color: rgb(147, 152, 176)"], + &[style*="color: rgb(159, 168, 178)"] { + color: @overlay2 !important; + } + + &[style*="color: rgb(229, 153, 247)"], + &[style*="color: rgb(224, 133, 244)"] { + color: @mauve !important; + } + + &[style*="color: rgb(174, 62, 201)"] { + color: @violet !important; + } + + &[style*="color: rgb(79, 114, 252)"], + &[style*="color: rgb(68, 101, 233)"] { + color: @blue !important; + } + + &[style*="color: rgb(77, 171, 247)"], + &[style*="color: rgb(75, 161, 241)"] { + color: @sky !important; + } + + &[style*="color: rgb(255, 192, 52)"], + &[style*="color: rgb(241, 172, 75)"] { + color: @yellow !important; + } + + &[style*="color: rgb(247, 103, 7)"], + &[style*="color: rgb(225, 105, 25)"] { + color: @peach !important; + } + + &[style*="color: rgb(9, 146, 104)"] { + color: @dark-green !important; + } + + &[style*="color: rgb(64, 192, 87)"], + &[style*="color: rgb(76, 176, 94)"] { + color: @green !important; + } + + &[style*="color: rgb(255, 135, 135)"], + &[style*="color: rgb(248, 119, 119)"] { + color: @red !important; + } + + &[style*="color: rgb(224, 49, 49)"] { + color: @dark-red !important; + } + } + + /* colour selection button fills */ + + [data-id="black"] { + color: @text !important; + } + + [data-id="grey"] { + color: @overlay2 !important; + } + + [data-id="light-violet"] { + color: @mauve !important; + } + + [data-id="violet"] { + color: @violet !important; + } + + [data-id="blue"] { + color: @blue !important; + } + + [data-id="light-blue"] { + color: @sky !important; + } + + [data-id="yellow"] { + color: @yellow !important; + } + + [data-id="orange"] { + color: @peach !important; + } + + [data-id="green"] { + color: @dark-green !important; + } + + [data-id="light-green"] { + color: @green !important; + } + + [data-id="light-red"] { + color: @red !important; + } + + [data-id="red"] { + color: @dark-red !important; + } + + /* clerk components */ + --clerk-color-background: @mantle; + --clerk-color-primary: @text; + --clerk-color-primary-foreground: @crust; + --clerk-color-foreground: @subtext1; + --clerk-color-neutral: @text; + --clerk-color-input: @base; + --clerk-color-input-foreground: @text; + --clerk-color-border: @text; + + .cl-socialButtonsBlockButton:hover { + background-color: @surface0; + } + + .cl-logoImage { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } +} diff --git a/styles/tldraw/preview.webp b/styles/tldraw/preview.webp deleted file mode 100644 index 5411c55913..0000000000 --- a/styles/tldraw/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59693077f30fe4c46cfebebda7af1bf77a6c2a427f782632620280b52e8ce63d -size 73878 diff --git a/styles/trinket/README.md b/styles/trinket/README.md index a1873a0748..a42c25b7f6 100644 --- a/styles/trinket/README.md +++ b/styles/trinket/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/trinket/catppuccin.user.css b/styles/trinket/catppuccin.user.less similarity index 74% rename from styles/trinket/catppuccin.user.css rename to styles/trinket/catppuccin.user.less index 2e052550b1..a453a260af 100644 --- a/styles/trinket/catppuccin.user.css +++ b/styles/trinket/catppuccin.user.less @@ -2,8 +2,8 @@ @name Trinket Catppuccin @namespace github.com/catppuccin/userstyles/styles/trinket @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/trinket -@version 0.0.3 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/trinket/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/trinket/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atrinket @description Soothing pastel theme for Trinket @author Catppuccin @@ -15,170 +15,24 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('trinket.io') { - #catppuccin(@lookup, @accent) { - @import url("https://unpkg.com/@catppuccin/highlightjs@0.1.2/css/catppuccin.variables.css"); - - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - #rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); - } - - --ctp-rosewater: #rgbify(@rosewater) []; - --ctp-flamingo: #rgbify(@flamingo) []; - --ctp-pink: #rgbify(@pink) []; - --ctp-mauve: #rgbify(@mauve) []; - --ctp-red: #rgbify(@red) []; - --ctp-maroon: #rgbify(@maroon) []; - --ctp-peach: #rgbify(@peach) []; - --ctp-yellow: #rgbify(@yellow) []; - --ctp-green: #rgbify(@green) []; - --ctp-teal: #rgbify(@teal) []; - --ctp-sky: #rgbify(@sky) []; - --ctp-sapphire: #rgbify(@sapphire) []; - --ctp-blue: #rgbify(@blue) []; - --ctp-lavender: #rgbify(@lavender) []; - --ctp-text: #rgbify(@text) []; - --ctp-subtext1: #rgbify(@subtext1) []; - --ctp-subtext0: #rgbify(@subtext0) []; - --ctp-overlay2: #rgbify(@overlay2) []; - --ctp-overlay1: #rgbify(@overlay1) []; - --ctp-overlay0: #rgbify(@overlay0) []; - --ctp-surface2: #rgbify(@surface2) []; - --ctp-surface1: #rgbify(@surface1) []; - --ctp-surface0: #rgbify(@surface0) []; - --ctp-base: #rgbify(@base) []; - --ctp-mantle: #rgbify(@mantle) []; - --ctp-crust: #rgbify(@crust) []; - - // This is here because the specificity in the default css for - // trinket overrides these colors, so `!important` is needed. - code.hljs { - color: @text !important; - - .hljs-keyword, - .hljs-variable, - .hljs-variable.language_, - .hljs-name, - .hljs-selector-attr { - color: @mauve !important; - } - - .hljs-built_in, - .hljs-doctag, - .hljs-emphasis, - .hljs-strong, - .hljs-diff-deletion { - color: @red !important; - } - - .hljs-type, - .hljs-title.class_, - .hljs-attribute, - .hljs-selector-tag { - color: @yellow !important; - } - - .hljs-literal, - .hljs-number, - .hljs-variable.constant_, - .hljs-meta { - color: @peach !important; - } - - .hljs-operator, - .hljs-property, - .hljs-selector-class, - .hljs-selector-pseudo, - .hljs-formula, - .hljs-bullet, - .hljs-punctuation { - color: @teal !important; - } - - .hljs-punctuation { - color: @subtext1 !important; - } - - .hljs-regexp { - color: @pink !important; - } - - .hljs-string, - .hljs-char.escape_, - .hljs-code, - .hljs-diff-addition, - .hljs-quote, - .hljs-value { - color: @green !important; - } - - .hljs-subst, - .hljs-tag { - color: @subtext0 !important; - } - - .hljs-symbol, - .hljs-template-tag, - .hljs-template-variable { - color: @flamingo !important; - } - - .hljs-title, - .hljs-title.function_, - .hljs-section, - .hljs-attr, - .hljs-selector-id { - color: @blue !important; - } - - .hljs-link { - color: @sapphire !important; - } - - .hljs-comment { - color: @surface2 !important; - } +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; - .hljs-params { - color: @text !important; - } - - .hljs-diff-deletion { - background-color: fade(@red, 0.15); - } +@-moz-document domain("trinket.io") { + @import url("https://unpkg.com/@catppuccin/highlightjs@1.0.0/css/catppuccin-variables.important.css"); - .hljs-diff-addition { - background-color: fade(@green, 0.15); - } + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); .ace_editor { background-color: @crust; @@ -186,7 +40,7 @@ .ace_gutter { background: @mantle; - color: @subtext0; + color: @overlay1; } .ace_print-margin { background: @mantle; @@ -208,7 +62,7 @@ color: @text; } .ace_marker-layer .ace_selection { - background: fade(@accent-color, 30%); + background: fade(@accent, 30%); } .ace_fold { background-color: @surface0; @@ -247,7 +101,7 @@ color: @green; } .ace_comment { - color: @surface2; + color: @overlay2; } .ace_indent-guide { @@ -265,12 +119,6 @@ color: @subtext0; } - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - body { background-color: @base !important; color: @text !important; @@ -286,11 +134,11 @@ } a { - color: @accent-color; - text-decoration-color: @accent-color; + color: @accent; + text-decoration-color: @accent; &:hover { - color: @accent-color; + color: @accent; } } @@ -348,10 +196,6 @@ background-color: @crust !important; color: @text !important; border-color: @surface0 !important; - - &::placeholder { - color: @subtext0 !important; - } } textarea.lined { @@ -368,7 +212,7 @@ } #page.hfeed a:hover { - border-bottom-color: @accent-color !important; + border-bottom-color: @accent !important; } .author-section { @@ -378,13 +222,13 @@ .code-editor .expander { background-image: linear-gradient( to right, - fade(@mantle, 0), + fade(@mantle, 0%), @mantle 50% ) !important; } .sidebar-content a:hover { - color: @accent-color !important; + color: @accent !important; } .progress { @@ -394,7 +238,7 @@ } .sidebar { - box-shadow: 1px 0 15px fade(@crust, 0.5) !important; + box-shadow: 1px 0 15px fade(@crust, 50%) !important; background-color: @base !important; } @@ -434,7 +278,7 @@ color: @subtext0 !important; &a:hover { - color: @accent-color !important; + color: @accent !important; } } @@ -447,7 +291,7 @@ } span.beta { - color: @accent-color !important; + color: @accent !important; } .resources a { @@ -486,14 +330,14 @@ .classroom-label, .classroom-name, i.trinket-key.logo { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } .code-plan-colors-inverted, .connect-plan-colors-inverted, .classroom-plan-colors-inverted { - color: @accent-color; + color: @accent; } .nav-wrapper, @@ -519,7 +363,7 @@ .editable-click:hover, a.editable-click:hover { - color: @accent-color !important; + color: @accent !important; } .outline-list-item.lesson { @@ -535,7 +379,7 @@ } .intercom-lightweight-app-launcher { - background-color: @accent-color !important; + background-color: @accent !important; } .edit-material-title:hover { @@ -621,10 +465,7 @@ } .top-bar.expanded .toggle-topbar a span::after { - box-shadow: - 0 0 0 1px @text, - 0 7px 0 1px @text, - 0 14px 0 1px @text; + box-shadow: 0 0 0 1px @text, 0 7px 0 1px @text, 0 14px 0 1px @text; } .button.dropdown-blue::after { @@ -777,7 +618,7 @@ } input:checked + label { - background-color: @accent-color !important; + background-color: @accent !important; &::after { background-color: @base !important; @@ -814,14 +655,12 @@ } .exit-off-canvas { - box-shadow: - -4px 0 4px @surface0, - 4px 0 4px @surface0 !important; - background-color: fade(@base, 0.5) !important; + box-shadow: -4px 0 4px @surface0, 4px 0 4px @surface0 !important; + background-color: fade(@base, 50%) !important; } #trinket-gallery #trinketDetails .spotlight { - background-color: fade(@base, 0.5) !important; + background-color: fade(@base, 50%) !important; } .right-off-canvas-menu, @@ -869,7 +708,7 @@ } a { - color: @accent-color !important; + color: @accent !important; &.active { color: @text !important; @@ -940,7 +779,7 @@ } .label:not(.last-saved) { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } @@ -987,7 +826,7 @@ } .blue-highlight:not(.disabled) { - background-color: @accent-color !important; + background-color: @accent !important; &, i.fa, @@ -1045,7 +884,7 @@ } .trinket-stat .badge { - background-color: @accent-color !important; + background-color: @accent !important; background-image: none !important; color: @base !important; } @@ -1062,7 +901,7 @@ border-bottom-color: @subtext0 !important; &:hover { - color: @accent-color !important; + color: @accent !important; } } @@ -1086,7 +925,7 @@ } .draft-circle { - background-color: @accent-color !important; + background-color: @accent !important; } .MathJax_Preview { @@ -1158,7 +997,7 @@ } #outline-expander { - background-color: @accent-color !important; + background-color: @accent !important; color: @base !important; } @@ -1166,7 +1005,7 @@ background-color: @surface0 !important; .percentage { - background-color: @accent-color !important; + background-color: @accent !important; } } @@ -1195,11 +1034,11 @@ background-color: @mantle !important; img { - box-shadow: 0 0 0 10px @accent-color !important; + box-shadow: 0 0 0 10px @accent !important; } a.social { - background-color: @accent-color !important; + background-color: @accent !important; i::before { color: @base !important; @@ -1277,14 +1116,14 @@ } #content-overlay { - background-color: rgba(@base, 0.2) !important; + background-color: fade(@base, 20%) !important; } #books-index .book-img { outline-color: @surface0 !important; &:hover { - outline-color: @accent-color !important; + outline-color: @accent !important; } } @@ -1346,18 +1185,18 @@ @keyframes bluePulseButton { 0% { - box-shadow: 0 0 0 0 fade(@accent-color, 0.4); - background-color: @accent-color; + box-shadow: 0 0 0 0 fade(@accent, 40%); + background-color: @accent; } 70% { - box-shadow: 0 0 0 10px fade(@accent-color, 0); - background-color: @accent-color; + box-shadow: 0 0 0 10px fade(@accent, 0%); + background-color: @accent; } 100% { box-shadow: none; - background-color: @accent-color; + background-color: @accent; } } @@ -1369,11 +1208,6 @@ content: url("data:image/svg+xml,@{svg}"); } - img[src$="trinket-logo.png"] { - padding-top: 1.1rem !important; - padding-left: 6rem !important; - } - img[src$="trinket-logo-notag.png"] { margin: 50px 0 30px; padding-left: 300px; @@ -1412,30 +1246,10 @@ #trinkets-list.list-view > li .snapshot .title::before, .trinkets-list.list-view > li .snapshot .title::before { @svg: escape( - '' + '' ); background-image: url("data:image/svg+xml;utf8,@{svg}"); } } - - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; } -// vim:ft=less diff --git a/styles/trinket/preview.webp b/styles/trinket/preview.webp deleted file mode 100644 index 8eb77d032b..0000000000 --- a/styles/trinket/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb0185d45816677dff151452d76afa9121f31f87c5034753ae884e82aa715c87 -size 397752 diff --git a/styles/tuta/README.md b/styles/tuta/README.md index 176971c7ab..6de75c225a 100644 --- a/styles/tuta/README.md +++ b/styles/tuta/README.md @@ -4,27 +4,24 @@

Logo
- Catppuccin for Tuta + Catppuccin for Tuta

- -

- -

- +

## Usage -> [!NOTE] -> Set Tuta's built-in theme to either **light** if you're using Latte or **dark** if you're using the others. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> Set Tuta's built-in theme to either **light** if you're using Latte or **dark** if you're using the others. ## ๐Ÿ’ Current Maintainer -- [Ryan Cao](https://github.com/ryanccn) +- [ryanccn](https://github.com/ryanccn)   diff --git a/styles/tuta/catppuccin.user.css b/styles/tuta/catppuccin.user.css deleted file mode 100644 index 44fb348507..0000000000 --- a/styles/tuta/catppuccin.user.css +++ /dev/null @@ -1,218 +0,0 @@ -/* ==UserStyle== -@name Tuta Catppuccin -@namespace github.com/catppuccin/userstyles/styles/tuta -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/tuta -@version 0.0.9 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tuta/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atuta -@description Soothing pastel theme for Tuta -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("app.tuta.com"), domain("mail.tutanota.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body, - drawer-menu, - .list-bg { - background-color: @mantle !important; - color: @text; - } - - .list-row { - background-color: @base; - } - .odd-row { - background-color: @surface0; - } - - .header-nav { - background-color: @base; - } - - .elevated-bg, - .folder-column, - div[aria-modal] { - background-color: @base !important; - } - - .ionicon { - fill: @text !important; - } - - .h2 { - color: @subtext1 !important; - } - - .bottom-nav { - background: @mantle !important; - color: @text !important; - } - - .dropdown-button, - .dropdown-button div { - color: @text !important; - } - .dropdown-button:hover { - background-color: @surface1 !important; - } - - /* logo */ - path[style*="fill: #00d2a7;"] { - fill: @accent-color !important; - } - - path[style*="fill: #c5c7c7;"] { - fill: @text !important; - } - - .row-selected { - border-color: @accent-color !important; - color: @accent-color !important; - } - .row-selected > .nav-button { - color: @accent-color !important; - } - .row-selected > .nav-button > .icon { - fill: @accent-color !important; - } - - .secondary { - color: @accent-color !important; - } - - .nav-button, - .sidebar-section.mb { - color: @subtext0 !important; - } - .icon.icon-large, - .nav-button .icon { - fill: @subtext0 !important; - } - - .bubble { - background-color: @base; - color: @text; - } - - :where(.mouse-nav) .state-bg:hover, - :where(.keyboard-nav) .state-bg:hover, - [style*="background: rgba(139, 139, 139, 0.22)"] { - background-color: @surface0 !important; - } - - .nav-bg, - .content-bg, - [style*="background-color: rgb(35, 35, 35)"] { - background-color: @base !important; - } - [style*="background-color: rgb(17, 17, 17);"] { - background-color: @mantle !important; - } - [style*="background-color: rgba(139, 139, 139, 0.22);"] { - background-color: @surface0 !important; - } - [style*="background-color: rgba(139, 139, 139, 0.38);"] { - background-color: @surface1 !important; - } - - [style*="color: rgb(221, 221, 221);"] { - color: @text !important; - } - - [style*="color: rgb(174, 174, 174);"] { - color: @subtext1 !important; - } - - .teamLabel { - background-color: @accent-color; - color: @mantle; - } - - [style*="border: 2px solid rgb(0, 210, 167);"] { - border-color: @accent-color !important; - } - [style*="color: rgb(0, 210, 167);"] { - color: @accent-color !important; - } - - button.expander { - color: @subtext0 !important; - } - - .logo-height > svg:nth-child(1) > path:nth-child(2) { - fill: @accent-color !important; - } - - ::-webkit-scrollbar-thumb { - background-color: @surface1; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/tuta/catppuccin.user.less b/styles/tuta/catppuccin.user.less new file mode 100644 index 0000000000..3f3decb23f --- /dev/null +++ b/styles/tuta/catppuccin.user.less @@ -0,0 +1,178 @@ +/* ==UserStyle== +@name Tuta Catppuccin +@namespace github.com/catppuccin/userstyles/styles/tuta +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/tuta +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/tuta/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atuta +@description Soothing pastel theme for Tuta +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("app.tuta.com"), domain("mail.tutanota.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body, + drawer-menu, + .list-bg { + background-color: @mantle !important; + color: @text; + } + + .list-row { + background-color: @base; + } + .odd-row { + background-color: @surface0; + } + + .header-nav { + background-color: @base; + } + + .elevated-bg, + .folder-column, + div[aria-modal] { + background-color: @base !important; + } + + .icon { + &[style*="fill: rgb(78, 78, 78);"] { + fill: @text !important; + } + + &[style*="fill: rgb(174, 174, 174);"] { + fill: @subtext0 !important; + } + + &[style*="fill: rgb(255, 83, 83);"] { + fill: @accent !important; + } + } + + .h2 { + color: @subtext1 !important; + } + + .bottom-nav { + background: @mantle !important; + color: @text !important; + } + + .dropdown-button, + .dropdown-button div { + color: @text !important; + } + .dropdown-button:hover { + background-color: @surface1 !important; + } + + /* logo */ + path[style*="fill: #00d2a7;"] { + fill: @accent !important; + } + + path[style*="fill: #c5c7c7;"] { + fill: @text !important; + } + + .row-selected { + border-color: @accent !important; + color: @accent !important; + } + .row-selected > .nav-button { + color: @accent !important; + + > .icon { + fill: @accent !important; + } + } + + .secondary { + color: @accent !important; + } + + .nav-button, + .sidebar-section.mb { + color: @subtext0 !important; + } + + .bubble { + background-color: @base; + color: @text; + } + + :where(.mouse-nav) .state-bg:hover, + :where(.keyboard-nav) .state-bg:hover, + [style*="background: rgba(139, 139, 139, 0.22)"] { + background-color: @surface0 !important; + } + + .nav-bg, + .content-bg, + [style*="background-color: rgb(35, 35, 35)"] { + background-color: @base !important; + } + [style*="background-color: rgb(17, 17, 17);"] { + background-color: @mantle !important; + } + [style*="background-color: rgba(139, 139, 139, 0.22);"] { + background-color: @surface0 !important; + } + [style*="background-color: rgba(139, 139, 139, 0.38);"] { + background-color: @surface1 !important; + } + + [style*="color: rgb(221, 221, 221);"] { + color: @text !important; + } + + [style*="color: rgb(174, 174, 174);"] { + color: @subtext1 !important; + } + + .teamLabel { + background-color: @accent; + color: @mantle; + } + + [style*="border: 2px solid rgb(255, 83, 83);"] { + border-color: @accent !important; + } + [style*="color: rgb(255, 83, 83);"], + .content-accent-fg { + color: @accent !important; + } + + button.expander { + color: @subtext0 !important; + } + + .logo-height > svg:nth-child(1) > path:nth-child(2) { + fill: @accent !important; + } + + ::-webkit-scrollbar-thumb { + background-color: @surface1; + } + } +} diff --git a/styles/tuta/preview.webp b/styles/tuta/preview.webp deleted file mode 100644 index d3ceae99f4..0000000000 --- a/styles/tuta/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4fc2f1952d08cd35e1ada72645acf554f9805c8dda19a5e230dc2d750fba543 -size 54500 diff --git a/styles/twitch/README.md b/styles/twitch/README.md index ed1ec38499..2a99a1ffa4 100644 --- a/styles/twitch/README.md +++ b/styles/twitch/README.md @@ -10,18 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainers -- [GitMuslim](https://github.com/GitMuslim) - [uncenter](https://github.com/uncenter) +- [mxgic1337](https://github.com/mxgic1337)   diff --git a/styles/twitch/catppuccin.user.css b/styles/twitch/catppuccin.user.css deleted file mode 100644 index 9442bee414..0000000000 --- a/styles/twitch/catppuccin.user.css +++ /dev/null @@ -1,685 +0,0 @@ -/* ==UserStyle== -@name Twitch Catppuccin -@namespace github.com/catppuccin/userstyles/styles/twitch -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/twitch -@version 1.3.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/twitch/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atwitch -@description Soothing pastel theme for Twitch -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("twitch.tv") { - .tw-root--theme-dark { - #catppuccin(@darkFlavor, @accentColor); - } - .tw-root--theme-light { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - body { - background-color: @base; - } - - &, - .tw-dialog-layer { - --color-background-input-focus: @crust; - --color-background-interactable-hover: @surface0; - --color-background-interactable-alpha-hover: @surface0; - --color-background-button-text-default: null !important; - --color-background-pill-subtle: @subtext0; - --color-text-input-placeholder: @text; - --color-border-input: @base; - --color-text-button-primary: @crust; - --color-text-overlay: @base; - --color-text-base: @subtext1; - --color-text-alt: @text; - --color-text-alt-2: @text; - --color-text-interactable-selected: @crust; - --color-background-alt-2: @crust; - --color-text-tag: @text; - --color-background-button-secondary-default: @crust; - --color-background-button-secondary-hover: @surface0; - --color-background-tag-default: @mantle; - --color-background-tag-hover: @crust; - --color-background-float: @mantle; - --color-background-body: @base; - --color-background-base: @mantle; - --color-background-alt: @mantle; - --color-background-input: @crust; - --color-brand-muted-cupcake: @pink; - --color-brand-muted-mint: @green; - --color-brand-muted-sky: @sky; - --color-brand-muted-blush: @peach; - --color-brand-muted-canary: @peach; - --color-brand-muted-lavender: @lavender; - --color-brand-muted-mustard: @yellow; - --color-brand-muted-emerald: @green; - --color-brand-muted-coral: @peach; - --color-brand-muted-ocean: @blue; - --color-brand-accent-grape: @mauve; - --color-brand-accent-dragonfruit: @flamingo; - --color-brand-accent-carrot: @peach; - --color-brand-accent-sun: @peach; - --color-brand-accent-lime: @green; - --color-brand-accent-turquoise: @sky; - --color-brand-accent-eggplant: @mauve; - --color-brand-accent-wine: @flamingo; - --color-brand-accent-slime: @green; - --color-brand-accent-seafoam: @green; - --color-brand-accent-cherry: @red; - --color-brand-accent-marine: @blue; - --color-brand-accent-seaweed: @teal; - --color-brand-accent-fiji: @green; - --color-brand-accent-blueberry: @blue; - --color-brand-accent-arctic: @sky; - --color-brand-accent-highlighter: @yellow; - --color-brand-accent-flamingo: @flamingo; - --color-brand-accent-ruby: @red; - --color-brand-accent-punch: @flamingo; - --color-brand-accent-creamsicle: @yellow; - --color-red: @maroon; - --color-red-darker: @red; - --color-orange: @peach; - --color-yellow: @yellow; - --color-green: @green; - --color-green-darker: @green; - --color-blue: @blue; - --color-prime-blue: @blue; - --color-magenta: @flamingo; - --color-error: @red; - --color-warn: @yellow; - --color-success: @green; - --color-white: @text; - --color-black: @crust; - --color-info: @blue; - --color-twitch-purple: @accent-color; - --color-twitch-purple-4: @accent-color; - --color-twitch-purple-5: @accent-color; - --color-twitch-purple-6: @accent-color; - --color-twitch-purple-7: @accent-color; - --color-twitch-purple-8: @accent-color; - --color-twitch-purple-9: @accent-color; - --color-twitch-purple-10: @accent-color; - --color-twitch-purple-11: @accent-color; - --color-twitch-purple-12: @accent-color; - --color-orange-7: @yellow; - --color-orange-8: @yellow; - --color-orange-9: @yellow; - --color-orange-10: @yellow; - --color-orange-11: @yellow; - --color-orange-12: @yellow; - --color-orange-13: @yellow; - --color-yellow-6: @peach; - --color-yellow-7: @peach; - --color-yellow-8: @peach; - --color-yellow-9: @peach; - --color-yellow-10: @peach; - --color-yellow-11: @peach; - --color-yellow-12: @peach; - --color-yellow-13: @peach; - --color-yellow-14: @peach; - --color-yellow-15: @peach; - --color-green-5: @green; - --color-green-6: @green; - --color-green-7: @green; - --color-green-8: @green; - --color-green-9: @green; - --color-green-10: @green; - --color-green-11: @green; - --color-green-12: @green; - --color-green-13: @green; - --color-green-14: @green; - --color-green-15: @teal; - --color-cyan-9: @sapphire; - --color-cyan-10: @sapphire; - --color-cyan-11: @sapphire; - --color-cyan-12: @sapphire; - --color-cyan-13: @sapphire; - --color-cyan-14: @sapphire; - --color-cyan-15: @sky; - --color-blue-4: @blue; - --color-blue-5: @blue; - --color-blue-6: @blue; - --color-blue-7: @blue; - --color-blue-8: @blue; - --color-blue-9: @blue; - --color-blue-10: @sky; - --color-blue-11: @sky; - --color-magenta-5: @flamingo; - --color-magenta-6: @flamingo; - --color-magenta-7: @flamingo; - --color-magenta-8: @flamingo; - --color-magenta-9: @flamingo; - --color-magenta-10: @flamingo; - --color-magenta-11: @pink; - --color-magenta-12: @pink; - --color-red-4: @accent-color; - --color-red-5: @accent-color; - --color-red-6: @accent-color; - --color-red-7: @accent-color; - --color-red-8: @accent-color; - --color-red-9: @accent-color; - --color-red-10: @accent-color; - --color-red-11: @peach; - --color-red-12: @peach; - --color-twitter: @blue; - --color-facebook: @blue; - --color-reddit: @peach; - --color-snapchat: @yellow; - --color-instagram: @blue; - --color-youtube: @red; - --color-paypal: @blue; - --color-paypal-blue: @blue; - --color-paypal-yellow: @yellow; - --color-venmo: @blue; - --color-vk: @blue; - --color-amazon: @yellow; - --color-background-button-text-hover: @surface0; - --color-text-accessible-red: @accent-color; - --color-border-input-checkbox: @subtext0; - --color-border-input-checkbox-hover: @text; - --color-text-label: @text; - --color-border-input-hover: @surface0; - --color-opac-b-14: @crust; - --color-text-button-overlay: @text !important; - --color-background-range-overlay-fill: @text !important; - --color-text-button-overlay-hover: @text !important; - --color-text-tooltip: @base !important; - --color-background-tooltip: @text !important; - --color-hinted-grey-2: @surface0; - --color-hinted-grey-15: @text; - --color-background-overlay-alt: @mantle; - --color-background-button-overlay-primary-hover: @subtext1; - --color-background-button-overlay-text-hover: @crust; - --color-border-overlay: @surface0; - --color-background-button-disabled: @surface0; - --color-text-button-disabled: @subtext0; - } - - &, - [class*="ScTokenOverrideCSSVars"] { - --color-text-link: @blue; - --color-text-link-active: @sky; - --color-text-link-focus: @sky; - --color-text-link-hover: @sky; - --color-text-link-visited: @lavender; - } - - &, - [class*="ScAccentRegionCssVars"] { - --color-accent: @accent-color; - } - /* Hardcoded accent color */ - [style="color: rgb(160, 84, 255);"] { - color: @accent-color !important; - } - - /* Full screened video player title & description */ - - p[data-test-selector="stream-info-card-component__subtitle"], - p[data-test-selector="stream-info-card-component__description"] { - color: @text !important; - } - - /* `Pinned message` popup */ - - div.pinned-chat__pinned-by svg { - color: @text; - } - - p.pinned-chat__message { - span { - color: @text !important; - } - - a { - color: @accent-color; - } - } - - /* `Intended for certain audiences` label */ - - div[data-a-target="content-classification-warning-disclosure-overlay"] p { - color: @text; - } - - /* `Hype Train` popup */ - - div.hype-train-progress-bar-info-view__level-container p, - div.hype-train-approaching-view__leftSide p, - div.hype-train-expanded-layout p, - div.hype-train-expanded-layout svg { - color: @text; - } - - path[d="m18 17 4-4V2H6v15h4v4l4-4h4zM12 6h2v6h-2V6zm7 0h-2v6h2V6z"] { - fill: @mantle; - } - - /* `Is video buffering?` warning */ - - div.low-latency-notification p { - color: @text; - } - - /* `Includes paid promotion` label */ - - div.disclosure-card p, - div.disclosure-card svg { - color: @text; - } - - /* Raiding popup */ - - div[data-test-selector="raid-banner"] { - color: @text; - } - - /* `Predict with Channel Points` popup */ - - div[data-test-selector="expanded-content"] p, - p[data-test-selector="community-prediction-highlight-header__top-predictors"], - p[data-test-selector="community-prediction-highlight-body__outcome-title"] { - color: @text; - } - - /* TODO: ensure that the poll does not default to this */ - div[data-test-selector="header-content"] p { - color: @text !important; - } - - div.channel-points-icon svg, - div[data-test-selector="header-content"] span, - div[data-test-selector="community-prediction-highlight-body__outcome-points"] - span { - color: @accent-color; - } - - button[data-test-selector="community-prediction-highlight-header__how-to-play"], - button[data-test-selector="community-prediction-highlight-header__terms-and-conditions"], - button[data-test-selector="community-prediction-highlight-header__send-feedback"], - button[data-test-selector="community-prediction-highlight-header__dismiss-message"] { - color: @text; - } - - /* ??? */ - - div.happening-now-disable-prompt p { - color: @text !important; - } - - /* Gifting sub popup */ - - div.mystery-gift-chat-banner { - span { - color: @accent-color; - } - - p { - color: @text; - } - } - - /* VOD metadata */ - - div.tw-media-card-stat { - color: @text; - } - - /* DMCA warning */ - - div.muted-segments-alert__content p { - color: @text; - } - - /* VOD time labels */ - - div.vod-seekbar-time-labels p { - color: @text !important; - } - - /* VOD timestamp */ - - div.vod-seekbar-preview-overlay__wrapper p { - color: @text !important; - } - - /* Seekbar segment */ - - div[data-test-selector="seekbar-interaction-area__interactionArea"] - span[data-test-selector="seekbar-segment__segment"] { - background: @accent-color !important; - } - - /* Seekbar DMCA muted segment */ - - div[data-test-selector="seekbar-interaction-area__interactionArea"] - span[data-test-selector="seekbar-segment__segment"][style*="background-color: rgba(212, 73, 73, 0.5);"] { - background: @red !important; - } - - /* Seekbar buffered segment */ - - div[data-test-selector="seekbar-interaction-area__interactionArea"] - span[data-test-selector="seekbar-segment__segment"][style*="background-color: rgba(255, 255, 255, 0.85);"] { - background: @overlay2 !important; - } - - /* Recent VOD title */ - - div.player-overlay-background h4 { - color: @subtext0 !important; - } - - a.offline-recommendations-video-card p { - color: @text; - } - - /* Offline screen follow panel */ - - div[data-test-selector="follow-panel-overlay"] p { - color: @text !important; - } - - div[data-test-selector="follow-panel-overlay"] button div { - color: @crust !important; - } - - /* Front page warning sign */ - - div.content-overlay-gate__content[data-a-target="player-overlay-content-gate"] - div.content-overlay-icon - svg { - color: @red; - } - - /* Front page age warning */ - - div.content-overlay-gate__content[data-a-target="player-overlay-content-gate"] - p.content-overlay-gate__allow-pointers { - color: @red !important; - } - - /* Front page age selector */ - - div[data-a-target="player-overlay-age-gate-form"] select { - color: @text; - } - - /* Following usercard */ - - div[data-a-target="user-card-modal"] p { - color: @text !important; - } - - /* PiP username */ - - div.mini-overlay__title span { - color: @text; - } - - /* Viewercard username */ - - div.viewer-card-header__display-name h4 { - color: @accent-color !important; - } - - /* Viewercard metadata */ - - div.viewer-card-header__display-name svg:not(button svg) { - color: @subtext1; - } - - div.viewer-card-header__display-name p { - color: @text !important; - } - - /* Extension name */ - - div[aria-describedby="popover-extensions-body"] h6 { - color: @text; - } - - /* Extension description */ - - div.extensions-popover-view-layout__body p { - color: @text; - } - - /* Extension service buttons */ - - div.extensions-popover-view-layout__body svg { - color: @subtext0; - } - - div.extensions-popover-view-layout__body div { - color: @text; - } - - /* Extension overlay */ - - .extension-view__iframe { - color-scheme: light; - } - - .carousel-metadata { - background: @crust; - } - .carousel-metadata--fadeout { - background: @crust; - } - .chat-line__timestamp { - color: @subtext0; - } - .chat-line__message-body--highlighted { - background-color: @accent-color; - color: @crust; - border-color: @accent-color; - } - .chat-scrollable-area__message-container { - background-color: @mantle; - } - .side-nav-card__link:hover { - background: @surface0 !important; - } - .footer { - background: @crust; - } - .whispers-list-item--selected, - .whispers-list-item:hover { - background-color: @surface0; - } - .thread-header__title-bar-container--focused { - background-color: @mantle; - } - .thread-header__title-bar-container { - background: @mantle; - } - .thread-header__click-area:focus .thread-header__title-bar-container { - background-color: @mantle; - } - .navigation-link { - color: @text; - - &:hover, - .active { - color: @accent-color; - } - } - .navigation-link__active-indicator { - background-color: @accent-color !important; - } - .chat-room { - background: @mantle; - } - div.pinned-chat__highlight-card div.highlight { - background: @mantle; - } - - h4, - h5 { - color: @text; - } - - .server-message-alert { - border-color: @red !important; - border-left-color: @red !important; - } - - .server-message-alert__icon { - color: @red !important; - } - - /* Predictions */ - .fixed-prediction-button { - color: @mantle !important; - - .channel-points-icon svg { - color: @mantle !important; - } - - &.fixed-prediction-button--disabled { - color: @text !important; - - .channel-points-icon svg { - color: @text !important; - } - } - } - [style*="rgb(255, 255, 255)"] { - color: @base !important; - } - [style="color: rgb(56, 122, 255);"] { - color: @blue !important; - } - [style="color: rgb(245, 0, 155);"] { - color: @pink !important; - } - .fixed-prediction-button--blue, - [style*="background-color: rgb(56, 122, 255);"], - [style*="background: rgb(56, 122, 255);"] { - background-color: @blue !important; - } - .fixed-prediction-button--pink, - [style*="background-color: rgb(245, 0, 155);"], - [style*="background: rgb(245, 0, 155);"] { - background-color: @pink !important; - } - - input[disabled] { - background-color: @surface0; - } - .chat-wysiwyg-input__placeholder { - color: @subtext0; - } - - button[aria-label="Play"], - button[aria-label="Pause"] { - + div svg { - color: @subtext0; - } - } - - [data-a-target="video-ad-label"], - [data-a-target="video-ad-countdown"] { - color: @text !important; - } - - /* Verified badge checkmark */ - path[fill="#fff"] { - fill: @crust !important; - } - - /* Override for logo icon */ - .tw-animated-glitch-logo { - --color-white: @crust; - } - - /* Modals */ - .modal__content { - color: @text; - } - } -} - -@-moz-document domain("dashboard.twitch.tv") { - .tw-root--theme-dark { - #catppuccin(@darkFlavor); - } - .tw-root--theme-light { - #catppuccin(@lightFlavor); - } - - #catppuccin(@lookup) { - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - .simplebar-content { - background-color: @mantle; - } - .scrollable-area--suppress-scroll-x > .simplebar-scroll-content, - .scrollable-area--suppress-scroll-x - > .simplebar-scroll-content - > .simplebar-content { - background-color: @base; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/twitch/catppuccin.user.less b/styles/twitch/catppuccin.user.less new file mode 100644 index 0000000000..e0000fc3b1 --- /dev/null +++ b/styles/twitch/catppuccin.user.less @@ -0,0 +1,1821 @@ +/* ==UserStyle== +@name Twitch Catppuccin +@namespace github.com/catppuccin/userstyles/styles/twitch +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/twitch +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/twitch/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atwitch +@description Soothing pastel theme for Twitch +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("twitch.tv") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + .tw-root--theme-dark { + #catppuccin(@darkFlavor); + } + .tw-root--theme-light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + body { + background-color: @base; + } + + &, + .tw-dialog-layer, + [class*="ScLayoutCssVars-sc-"], + .tw-tooltip-layer { + --color-background-input-focus: @crust; + --color-background-interactable-hover: fade(@surface0, 48%); + --color-background-interactable-alpha-hover: @surface0; + --color-background-interactable-active: @surface1; + --color-background-button-secondary-active: @surface1; + --color-background-button-text-default: null !important; + --color-background-pill-subtle: @subtext0; + --color-background-placeholder: @surface0; + --color-background-selectable: @surface0; + --color-text-input-placeholder: @text; + --color-border-input: @base; + --color-border-tab: @surface0; + --color-text-button-primary: @crust; + --color-text-overlay: @base; + --color-text-overlay-alt: @subtext0; + --color-text-overlay-link-hover: @subtext0; + --color-text-base: @subtext1; + --color-text-alt: @text; + --color-text-alt-2: @subtext0; + --color-text-interactable-selected: @crust; + --color-text-interactable-inverted: @base; + --color-background-alt-2: @crust; + --color-text-tag: @subtext0; + --color-background-button-secondary-default: @crust; + --color-background-button-primary-hover: darken(@accent, 5%); + --color-background-button-secondary-hover: @surface0; + --color-background-button-overlay-secondary-default: fade(@text, 13%); + --color-background-tag-default: @surface0; + --color-background-tag-hover: @surface1; + --color-background-float: @mantle; + --color-background-body: @base; + --color-background-base: @mantle; + --color-background-alt: @mantle; + --color-background-input: @crust; + --color-brand-muted-cupcake: @pink; + --color-brand-muted-mint: @green; + --color-brand-muted-sky: @sky; + --color-brand-muted-blush: @peach; + --color-brand-muted-canary: @peach; + --color-brand-muted-lavender: @lavender; + --color-brand-muted-mustard: @yellow; + --color-brand-muted-emerald: @green; + --color-brand-muted-coral: @peach; + --color-brand-muted-ocean: @blue; + --color-brand-accent-grape: @mauve; + --color-brand-accent-dragonfruit: @flamingo; + --color-brand-accent-carrot: @peach; + --color-brand-accent-sun: @peach; + --color-brand-accent-lime: @green; + --color-brand-accent-turquoise: @sky; + --color-brand-accent-eggplant: @mauve; + --color-brand-accent-wine: @flamingo; + --color-brand-accent-slime: @green; + --color-brand-accent-seafoam: @green; + --color-brand-accent-cherry: @red; + --color-brand-accent-marine: @blue; + --color-brand-accent-seaweed: @teal; + --color-brand-accent-fiji: @green; + --color-brand-accent-blueberry: @blue; + --color-brand-accent-arctic: @sky; + --color-brand-accent-highlighter: @yellow; + --color-brand-accent-flamingo: @flamingo; + --color-brand-accent-ruby: @red; + --color-brand-accent-punch: @flamingo; + --color-brand-accent-creamsicle: @yellow; + --color-red: @maroon; + --color-red-darker: @red; + --color-orange: @peach; + --color-yellow: @yellow; + --color-green: @green; + --color-green-darker: @green; + --color-blue: @blue; + --color-prime-blue: @blue; + --color-magenta: @flamingo; + --color-error: @red; + --color-warn: @yellow; + --color-success: @green; + --color-white: @text; + --color-black: @crust; + --color-info: @blue; + --color-twitch-purple: @accent; + --color-twitch-purple-4: @accent; + --color-twitch-purple-5: @accent; + --color-twitch-purple-6: @accent; + --color-twitch-purple-7: @accent; + --color-twitch-purple-8: @accent; + --color-twitch-purple-9: @accent; + --color-twitch-purple-10: @accent; + --color-twitch-purple-11: @accent; + --color-twitch-purple-12: @accent; + --color-orange-7: @yellow; + --color-orange-8: @yellow; + --color-orange-9: @yellow; + --color-orange-10: @yellow; + --color-orange-11: @yellow; + --color-orange-12: @yellow; + --color-orange-13: @yellow; + --color-yellow-6: @peach; + --color-yellow-7: @peach; + --color-yellow-8: @peach; + --color-yellow-9: @peach; + --color-yellow-10: @peach; + --color-yellow-11: @peach; + --color-yellow-12: @peach; + --color-yellow-13: @peach; + --color-yellow-14: @peach; + --color-yellow-15: @peach; + --color-green-5: @green; + --color-green-6: @green; + --color-green-7: @green; + --color-green-8: @green; + --color-green-9: @green; + --color-green-10: @green; + --color-green-11: @green; + --color-green-12: @green; + --color-green-13: @green; + --color-green-14: @green; + --color-green-15: @teal; + --color-cyan-9: @sapphire; + --color-cyan-10: @sapphire; + --color-cyan-11: @sapphire; + --color-cyan-12: @sapphire; + --color-cyan-13: @sapphire; + --color-cyan-14: @sapphire; + --color-cyan-15: @sky; + --color-blue-4: @blue; + --color-blue-5: @blue; + --color-blue-6: @blue; + --color-blue-7: @blue; + --color-blue-8: @blue; + --color-blue-9: @blue; + --color-blue-10: @sky; + --color-blue-11: @sky; + --color-blue-12: @sky; + --color-blue-14: @sky; + --color-magenta-5: @flamingo; + --color-magenta-6: @flamingo; + --color-magenta-7: @flamingo; + --color-magenta-8: @flamingo; + --color-magenta-9: @flamingo; + --color-magenta-10: @flamingo; + --color-magenta-11: @pink; + --color-magenta-12: @pink; + --color-magenta-14: @pink; + --color-red-4: @accent; + --color-red-5: @accent; + --color-red-6: @accent; + --color-red-7: @accent; + --color-red-8: @accent; + --color-red-9: @accent; + --color-red-10: @red; + --color-red-11: @peach; + --color-red-12: @peach; + --color-red-14: @peach; + --color-twitter: @blue; + --color-facebook: @blue; + --color-reddit: @peach; + --color-snapchat: @yellow; + --color-instagram: @blue; + --color-youtube: @red; + --color-paypal: @blue; + --color-paypal-blue: @blue; + --color-paypal-yellow: @yellow; + --color-venmo: @blue; + --color-vk: @blue; + --color-amazon: @yellow; + --color-background-button-text-hover: @surface0; + --color-text-accessible-red: @accent; + --color-border-input-checkbox: @subtext0; + --color-border-input-checkbox-hover: @text; + --color-text-label: @text; + --color-border-input-hover: @surface0; + --color-opac-b-14: @crust; + --color-text-button-overlay: @text !important; + --color-background-progress: @surface0; + --color-background-range-overlay-fill: @text !important; + --color-text-button-overlay-hover: @text !important; + --color-text-tooltip: @base !important; + --color-background-tooltip: @text !important; + --color-hinted-grey-2: @surface0; + --color-hinted-grey-5: @surface0; + --color-hinted-grey-8: @subtext0; + --color-hinted-grey-12: @subtext0; + --color-hinted-grey-15: @text; + --color-background-overlay-alt: fade(@mantle, 60%); + --color-background-button-overlay-primary-hover: @subtext1; + --color-background-button-overlay-text-hover: @crust; + --color-border-overlay: @surface0; + --color-border-base: @surface0; + --color-background-button-disabled: @surface0; + --color-text-button-disabled: @subtext0; + --color-background-toggle-handle: @text; + --color-border-toggle: @text; + --color-border-toggle-hover: @text; + --color-background-toggle-checked: @mantle; + --color-background-input-checkbox-checked-background: @crust; + --color-border-balloon-overlay: @surface0; + --color-opac-gd-1: fade(@surface0, 35%); + --color-text-number-badge: @base; + + & when (@flavor = latte) { + --color-white: @base; + --color-black: @text; + --color-hinted-grey-12: @mantle; + --color-text-pill: @base; + --color-text-overlay-link-hover: @surface0; + --color-background-overlay-alt: fade(@text, 60%); + --color-text-button-destructive: @base; + --color-text-button-overlay: @base !important; + } + } + + --color-text-link: @accent; + --color-text-link-active: darken(@accent, 5%); + --color-text-link-focus: darken(@accent, 5%); + --color-text-link-hover: darken(@accent, 5%); + --color-text-link-visited: @accent; + + &, + [class*="ScAccentRegionCssVars"] { + --color-accent: @accent; + } + /* Hardcoded accent color */ + [style="color: rgb(160, 84, 255);"] { + color: @accent !important; + } + + /* `Pinned message` popup */ + + div.pinned-chat__pinned-by svg { + color: @text; + } + + p.pinned-chat__message { + span { + color: @text !important; + } + + a { + color: @accent; + } + } + + /* `Intended for certain audiences` label */ + + div[data-a-target="content-classification-warning-disclosure-overlay"] p { + color: @text !important; + } + + /* `Hype Train` popup */ + + div.hype-train-progress-bar-info-view__level-container p, + div.hype-train-approaching-view__leftSide p, + div.hype-train-expanded-layout p, + div.hype-train-expanded-layout svg { + color: @text; + } + + path[d="m18 17 4-4V2H6v15h4v4l4-4h4zM12 6h2v6h-2V6zm7 0h-2v6h2V6z"] { + fill: @mantle; + } + + /* `Is video buffering?` warning */ + + div.low-latency-notification { + p { + color: @text; + } + border-color: @accent; + } + + /* `Includes paid promotion` label */ + + div.disclosure-card { + p, + svg, + a { + color: @text; + } + background: fade(@mantle, 80%); + } + + /* Raiding popup */ + + div[data-test-selector="raid-banner"] { + color: @text; + } + + /* `Predict with Channel Points` popup */ + + div[data-test-selector="expanded-content"] p, + p[data-test-selector="community-prediction-highlight-header__top-predictors"], + p[data-test-selector="community-prediction-highlight-body__outcome-title"] { + color: @text; + } + + /* TODO: ensure that the poll does not default to this */ + div[data-test-selector="header-content"] p { + color: @text !important; + } + + div.channel-points-icon svg, + div[data-test-selector="header-content"] span, + div[data-test-selector="community-prediction-highlight-body__outcome-points"] + span { + color: @accent; + } + + button[data-test-selector="community-prediction-highlight-header__how-to-play"], + button[data-test-selector="community-prediction-highlight-header__terms-and-conditions"], + button[data-test-selector="community-prediction-highlight-header__send-feedback"], + button[data-test-selector="community-prediction-highlight-header__dismiss-message"] { + color: @text; + } + + /* ??? */ + + div.happening-now-disable-prompt p { + color: @text !important; + } + + /* Gifting sub popup */ + + div.mystery-gift-chat-banner { + span { + color: @accent; + } + + p { + color: @text; + } + } + + /* VOD metadata */ + + div.tw-media-card-stat when not(@flavor = latte) { + --color-text-overlay: @text; + } + + /* Seekbar segment */ + + div[data-test-selector="seekbar-interaction-area__interactionArea"] + span[data-test-selector="seekbar-segment__segment"] { + background: @accent !important; + } + + /* Seekbar DMCA muted segment */ + + div[data-test-selector="seekbar-interaction-area__interactionArea"] + span[data-test-selector="seekbar-segment__segment"][style*="background-color: rgba(212, 73, 73, 0.5);"] { + background: @red !important; + } + + /* Seekbar buffered segment */ + + div[data-test-selector="seekbar-interaction-area__interactionArea"] + span[data-test-selector="seekbar-segment__segment"][style*="background-color: rgba(255, 255, 255, 0.85);"] { + background: @overlay2 !important; + } + + /* Recent VOD title */ + + div.player-overlay-background h4 { + color: @subtext0 !important; + } + + a.offline-recommendations-video-card p { + color: @text; + } + + /* Offline screen follow panel */ + + div[data-test-selector="follow-panel-overlay"] p { + color: @text !important; + } + + div[data-test-selector="follow-panel-overlay"] button div { + color: @crust !important; + } + + /* Front page warning sign */ + + div.content-overlay-gate__content[data-a-target="player-overlay-content-gate"] + div.content-overlay-icon + svg { + color: @red; + } + + /* Front page age warning */ + + div.content-overlay-gate__content[data-a-target="player-overlay-content-gate"] + p.content-overlay-gate__allow-pointers { + color: @red !important; + } + + /* Front page age selector */ + + div[data-a-target="player-overlay-age-gate-form"] select { + color: @text; + } + + /* Followers list usercard */ + + div[data-a-target="user-card-modal"] p when not(@flavor = latte) { + --color-text-overlay: @text; + } + + /* Usercard mod log tabs */ + + .viewer-card-mod-drawer-tab--active { + box-shadow: 0 calc(var(--border-width-default) * -3) 0 @accent inset + !important; + } + + /* Usercard header */ + + .viewer-card-header__overlay { + background-color: fade(@mantle, 60%) !important; + } + + /* PiP username */ + + div.mini-overlay__title span { + color: @text; + } + + /* Viewercard username */ + + div.viewer-card-header__display-name h4 { + color: @accent !important; + } + + /* Viewercard metadata */ + + div.viewer-card-header__display-name svg:not(button svg) { + color: @subtext1; + } + + div.viewer-card-header__display-name p { + color: @text !important; + } + + /* Extension name */ + + div[aria-describedby="popover-extensions-body"] h6 { + color: @text; + } + + /* Extension description */ + + div.extensions-popover-view-layout__body p { + color: @text; + } + + /* Extension service buttons */ + + div.extensions-popover-view-layout__body svg { + color: @subtext0; + } + + div.extensions-popover-view-layout__body div { + color: @text; + } + + /* Extension overlay */ + + .extension-view__iframe { + color-scheme: light; + } + + .carousel-metadata { + background: @crust; + } + .carousel-metadata--fadeout { + background: @crust; + } + .chat-line__timestamp { + color: @subtext0; + } + .chat-line__message-body--highlighted { + background-color: @accent; + color: @crust; + border-color: @accent; + } + .chat-scrollable-area__message-container { + background-color: @mantle; + } + .side-nav-card__link:hover, + .side-nav-card__link:focus { + background: @surface0 !important; + } + .footer { + background: @crust; + } + .whispers-list-item--selected, + .whispers-list-item:hover { + background-color: @surface0; + } + .thread-header__title-bar-container--focused { + background-color: @mantle; + } + .thread-header__title-bar-container { + background: @mantle; + } + .thread-header__click-area:focus .thread-header__title-bar-container { + background-color: @mantle; + } + .navigation-link { + color: @text; + + &:hover, + .active { + color: @accent; + } + } + .navigation-link__active-indicator { + background-color: @accent !important; + } + .chat-room { + background: @mantle; + } + div.pinned-chat__highlight-card div.highlight { + background: @mantle; + } + + .server-message-alert { + border-color: @red !important; + border-left-color: @red !important; + } + + .server-message-alert__icon { + color: @red !important; + } + + /* Predictions */ + .fixed-prediction-button { + color: @mantle !important; + + .channel-points-icon svg { + color: @mantle !important; + } + + &.fixed-prediction-button--disabled { + color: @text !important; + + .channel-points-icon svg { + color: @text !important; + } + } + } + [style*="rgb(255, 255, 255)"] { + color: @base !important; + .channel-root, + .channel-info-content, + .chat-author__display-name, + .chatter-name, + &[data-a-target="chat-message-username"], + &.message-author__display-name { + color: @text !important; + } + } + + .chatter-name [style*="rgb(255, 255, 255)"] { + color: @text !important; + } + + [style="color: rgb(56, 122, 255);"] { + color: @blue !important; + } + [style="color: rgb(245, 0, 155);"] { + color: @pink !important; + } + + /* FrankerFaceZ uptime timer */ + .ffz-il-tooltip__container { + p, + figure.ffz-i-flag { + color: @text; + } + } + + [data-a-target="preview-card-image-link"] when (@flavor = latte) { + .tw-media-card-stat, + p, + figure.ffz-i-flag { + color: @base; + } + } + + /* VOD chapters */ + .preview-card-game-balloon__content .tw-interactable:hover { + p, + figure { + color: @text !important; + } + .media-row__image-play-overlay { + background-color: fade(@base, 80%) !important; + } + } + + .fixed-prediction-button--blue, + [style*="background-color: rgb(56, 122, 255);"], + [style*="background: rgb(56, 122, 255);"] { + background-color: @blue !important; + } + .fixed-prediction-button--pink, + [style*="background-color: rgb(245, 0, 155);"], + [style*="background: rgb(245, 0, 155);"] { + background-color: @pink !important; + } + + input[disabled] { + background-color: @surface0; + } + .chat-wysiwyg-input__placeholder { + color: @subtext0; + } + + button[aria-label="Play"], + button[aria-label="Pause"] { + + div svg { + color: @subtext0; + } + } + + [data-a-target="video-ad-label"], + [data-a-target="video-ad-countdown"] { + color: @text !important; + } + + /* Override for logo icon */ + .tw-animated-glitch-logo { + --color-white: @crust; + } + + /* Modals */ + .modal__content { + color: @text; + } + + /* Leaderboard highlighted username */ + .bits-leaderboard-expanded-top-three-entry__marquee-username, + .channel-leaderboard-header-runner-up-entry__username, + .bits-leaderboard-expanded-top-three-entry__username { + div { + color: @base !important; + } + } + + .channel-leaderboard-header-rotating__expand-grabber { + background: @surface0 !important; + } + + /* Privacy center */ + + .privacy-center-root__number-item { + background: @accent; + color: @base; + } + + .privacy-center-accordion { + border-color: @accent; + } + + .privacy-center-home-tabs { + color: @base !important; + &[aria-selected="true"], + &:hover { + color: @surface1 !important; + } + } + + .home-page__title-container, + .tw-responsive-wrapper { + svg path { + &[fill="#fff"], + &[fill="#FFF"] { + fill: transparent !important; + } + } + } + + .home-page__title { + color: @base !important; + } + + .tw-balloon { + .tw-callout-message__title { + color: var(--color-text-variable) !important; + } + + .tw-callout__close div.tw-svg { + fill: var(--color-text-variable) !important; + } + } + + /* Home page tips and analytics */ + + .analytics-tip-card { + color: @base !important; + + button { + color: @base !important; + } + } + + [class*="analyticsTargetProgressCard--"], .analytics-highlights-card { + .creator-home-card__icon + :not(.creator-home-card__icon-background--undefined) + ~ .creator-home-card__icon-svg { + color: @base !important; + } + } + + .creator-home-welcome-title__overlay-text, + .analytics-highlights-chart-tooltip__label--dark { + color: @base !important; + } + + .creator-home-focus-position { + background: linear-gradient(@accent, @base); + } + + /* Shield mode tray */ + + .shield-mode-icon svg path { + fill: @peach; + } + + .tray-highlight, + .chat-input-highlight, + .shield-mode-shortcut__btn { + border-color: @peach !important; + } + + /* Shield mode mod view button */ + + .shield-mode-shortcut__inner, + .shield-mode-view-toggle--active { + color: @base; + background: @peach; + } + + /* Channel points reward cost */ + + .reward-icon__cost { + color: @text !important; + background: fade(@mantle, 60%) !important; + + & when (@flavor = latte) { + color: @base !important; + background: fade(@text, 60%) !important; + } + } + + /* Directory banner */ + + .directory-header-new__banner-cover { + background: + linear-gradient(0deg, @base, fade(@mantle, 25%)), + linear-gradient(90deg, @base, fade(@mantle, 25%)); + } + + .home-video when not(@flavor = latte) { + --color-text-overlay: @text; + } + + /* Cookies and Advertising Choices */ + + .top-bar--pointer-enabled .consent-banner__content--gdpr-v2, + .consent-banner { + a, + button, + p { + color: @base !important; + } + + button:not([data-a-target="consent-banner-accept"]) { + background-color: fade(@base, 10%); + } + } + + /* Mod view changelog shadow */ + + .mod-view-whats-new-list--more-posts-to-see::after { + background-image: linear-gradient(transparent, @mantle); + } + + /* Unban requests */ + + .unban-requests-tabs__load-previous { + background-image: linear-gradient(@mantle, fade(@mantle, 0%)); + } + + .unban-requests-action-button__selected { + color: @base !important; + background: @accent; + } + + .unban-requests-tabs__load-previous > div { + background: @surface0; + } + + /* Timestamps, mod actions and deleted messages */ + + .targeted-mod-action, + .message__timestamp, + .vcml-message__timestamp, + .chat-line__message--deleted { + color: @subtext0; + } + + /* Suspicious user banner in usercard */ + + .low-trust-user-banner div { + color: @text !important; + } + + /* Emote preview */ + + .chat-input__preview__text { + color: @base !important; + } + + /* Twitch logo in onboarding screen */ + + .onboarding-modal-splash-screen__container { + svg path[fill="#fff"] { + fill: transparent !important; + } + } + + /* Stream category subtitle in onboarding screen */ + + .onboarding-modal-main-list-live-channels-live-channel-card__sub-title { + color: @subtext0 !important; + } + + /* Subscriptions */ + + .tier-display { + color: @mauve; + } + + .tier-display__prime { + color: @blue; + } + + .sub-badge-progress p, + .sub-badge-progress__all-badges--text, + .expired-sub-message { + color: @subtext0 !important; + } + + .sunlight-modal__content { + color: @text !important; + } + + .tw-loading-spinner { + color: @text; + } + + .video-player__container, .clips-root__main { + & when not(@flavor = latte) { + --color-text-overlay: @text; + } + } + + .vertical-selector a:hover { + background: darken(@accent, 5%); + } + + /* Chat popouts */ + + div[data-test-selector="chat-private-callout-queue__callout-container"] { + .tw-callout__close > button { + color: @base !important; + } + div[data-a-target="tw-progress-bar-animation"] { + background: @base; + } + div.tw-progress-bar { + background: fade(@base, 10%); + } + button .tw-svg, svg { + fill: @base; + } + } + + /* SUBtember subscribe button */ + + .gift-subtember-button { + background: @teal; + } + + .player-controls when (@flavor = latte) { + --color-text-button-overlay: @base !important; + --color-background-range-overlay-fill: @base !important; + --color-text-button-overlay-hover: @mantle !important; + } + + /* Clips watch live prompt */ + + .watch-live-prompt { + h5 { + color: @text !important; + } + h6 { + color: @subtext0 !important; + } + } + + .clips-top-nav-user { + .clips-top-nav-user__username, + .tw-svg { + color: @text !important; + } + } + + /* AutoMod caught message */ + + .chat-line__message--alert { + border-color: @red !important; + background-color: @base !important; + } + + .text-fragment--moderated-highlight { + color: @text !important; + background-color: fade(@red, 30%) !important; + } + + /* Activity feed icons */ + + .activity-feed-v2-event--follow { + color: @pink; + } + + .activity-feed-v2-event--subscription { + color: @blue; + } + + .activity-feed-v2-event--reward-request, + .activity-feed-v2-event--raiding { + color: @yellow; + } + + .activity-feed-v2-event--multi-stage { + color: @teal; + } + + .activity-feed-v2-event--creator-goal { + color: @green; + } + + /* Chat message highlights */ + + div[style*="border"] { + /* Suspicious user */ + &[style*="rgb(255, 130, 128)"] { + border-color: @red !important; + } + + /* First message */ + &[style*="rgb(255, 117, 230)"] { + border-color: @pink !important; + } + + /* Returning chatter */ + &[style*="rgb(0, 163, 163)"] { + border-color: @teal !important; + } + + /* Raider */ + &[style*="rgb(245, 245, 0)"] { + border-color: @yellow !important; + } + + /* Mention */ + &[style*="rgb(173, 173, 184)"] { + border-color: @text !important; + } + + /* Moderator */ + &[style*="rgb(0, 168, 101)"] { + border-color: @green !important; + } + + /* VIP */ + &[style*="rgb(219, 0, 179)"] { + border-color: @mauve !important; + } + + /* Subscriber */ + &[style*="rgb(82, 139, 255)"] { + border-color: @blue !important; + } + } + + /* "Account suspended or deactivated" status banner */ + + .viewer-card-header__account-status-banner { + color: @text; + background-color: @mantle !important; + } + + /* Chat mentions */ + + .mention-fragment { + color: @text; + background-color: @surface0; + + &.mention-fragment--recipient { + color: @base; + background-color: @text; + } + } + + /* Clips sharing buttons */ + + .converter(@bg, @fg: @base) { + color: @fg !important; + background-color: @bg; + + &:not([disabled]):hover { + background-color: darken(@bg, 5%); + } + } + + .converter-youtube-button button { + .converter(@red); + } + + .converter-instagram-button button { + .converter(@mauve); + } + + .share-tiktok-button { + background-image: linear-gradient(135deg, @sky, @red); + + button { + color: @text !important; + background-color: @mantle; + + &:not([disabled]):hover { + background-color: @surface0; + } + } + } + + .clips-root__main .seekbar-bar { + background-color: @surface0 !important; + } + + /* Clips editor timeline */ + + .draggable-slider__overlay--purple { + border-color: @accent; + background-color: fade(@accent, 30%); + } + + .draggable-slider-handle--purple { + background-color: @accent; + --color-white: @base; + } + + .clip-editor-timeline-background { + background-color: @base; + } + + .clip-editor-slider-popover { + color: @base; + background-color: @text; + } + + /* Pinned message shadow */ + .pinned-chat__scrollable-area__gradient { + background-image: linear-gradient(180deg, transparent 60%, @mantle); + } + + /* What's new mod view icon */ + .whats-new-button--has-new-posts { + color: @green; + } + + /* Guest star thumbnail border */ + .guest-star-live-card-border { + background-image: linear-gradient(180deg, @mauve 0, @teal 61.98%, @blue); + } + + /* Guest Star circle buttons */ + + .guest-star-circle-button:not( + .guest-star-circle-button--inverted, + .guest-star-circle-button--alert + ), + .guest-star-circle-button__dropdown:not( + .guest-star-circle-button__dropdown--inverted, + .guest-star-circle-button__dropdown--alert + ) { + background-color: @mantle; + &:hover { + background-color: var(--color-hinted-grey-5); + } + + & when (@flavor = latte) { + --color-hinted-grey-5: @subtext0; + color: @base; + background-color: @text; + &:hover { + background-color: var(--color-hinted-grey-5); + } + } + } + + .guest-star-circle-button--inverted, + .guest-star-circle-button__dropdown--inverted { + color: @base; + border-color: @base; + & when (@flavor = latte) { + color: @text; + border-color: @text; + } + } + + /* End Stream Together button */ + .guest-star-circle-button--alert { + color: @base; + } + + /* Guest Star What's new icon */ + .notification-icon--green svg { + fill: @green; + } + + .video-player__overlay when (@flavor = latte) { + --color-text-pill: @base; + } + + /* Polls */ + .community-highlight-stack__card { + .container--default { + background-color: @base; + } + + .container--winner p { + color: @base !important; + } + + .choice-progress__fill--default { + background-color: @surface0; + } + + .top-poll-community-points-contributor { + color: @green; + } + } + + /* Channel points rewards - Learn more */ + [class*="rewardsLearnMoreHeadersDark"], + [class*="rewardsLearnMoreExpandedView"] { + background-color: @base; + } + + .footer__link, .footer__link:hover { + color: @text; + } + + .footer__glitch + path[d="m18 17 4-4V2H6v15h4v4l4-4h4zM12 6h2v6h-2V6zm7 0h-2v6h2V6z"] { + fill: @text; + } + + .bits-leaderboard-expanded__collapse { + svg { + fill: @surface0; + } + } + + .tw-channel-status-text-indicator { + color: @base; + } + + .player-captions-container { + .player-captions-container__caption-line[style*="; color: rgb(255, 255, 255)"] { + color: if(@flavor = latte, @base, @text) !important; + } + } + + article { + .tw-callout-message { + color: @base; + } + .tw-callout__close svg { + fill: @base !important; + } + div.tw-root--theme-dark, div.tw-root--theme-light { + .tw-callout-message { + color: @subtext0; + } + + .tw-callout__close svg { + fill: @text !important; + } + } + } + + .vod-seekbar-preview-overlay__wrapper [class^="CoreText-sc-"] { + color: @text !important; + } + + #chapter-select-popover-body .media-row { + --color-text-overlay: @text; + --color-background-interactable-selected: @surface0; + .media-row__image-wrapper figure { + color: @text; + } + } + } +} + +@-moz-document domain("dashboard.twitch.tv") { + .tw-root--theme-dark { + #catppuccin(@darkFlavor); + } + .tw-root--theme-light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + .edit-video-properties-modal__content { + --color-background-float: @base; + } + + .simplebar-content { + background-color: @mantle; + } + + .scrollable-area--suppress-scroll-x > .simplebar-scroll-content, + .scrollable-area--suppress-scroll-x + > .simplebar-scroll-content + > .simplebar-content { + background-color: @base; + } + + .sunlight-page .simplebar-scroll-content .simplebar-content { + background-color: @base; + } + .info_box_row { + background: @crust; + } + .info_box_row_label { + color: @text; + } + .video-card-thumbnail__video-state-overlay { + color: @text !important; + background: fade(@mantle, 80%) !important; + } + + /* Twitch alerts */ + + .alerts-home-main-wrapper { + color: @text !important; + } + + .alerts-home-scrollable-area, + .alert-boxes-section-border-container { + color: @text !important; + .simplebar-content { + background: @mantle !important; + } + .alert-set-card { + background: @crust !important; + } + } + + /* Analytics */ + + .top-stats-tab--active { + color: @accent !important; + box-shadow: 0 calc(var(--border-width-default) * -3) 0 @accent inset; + .top-stats-tab__title { + color: @accent !important; + } + } + + .top-stats-tab:hover { + box-shadow: inset 0 -2px 0 @accent, 0 4px 6px -4px @accent; + background: @base !important; + } + + /* Stream Manager */ + + .stream-manager--page-view { + .mosaic-tile .simplebar-content, + .stream-manager-edit-mode-item, + .stream-manager-edit-mode-stat-item { + background: @mantle !important; + } + } + + /* Autohost / managed channels list */ + + .dashboard-centered-page { + --color-background-alt: @base; + .simplebar-scroll-content, + .simplebar-content { + background: transparent !important; + } + + .autohost-list-item--hovered { + color: @text; + background: @base; + + button svg path { + fill: @text !important; + } + } + } + + /* Research */ + + .time-to-stream-tab--active { + box-shadow: 0 calc(var(--border-width-default) * -3) 0 @accent inset; + } + + /* Collection thumbnails */ + + .collection-preview-image__wrapper { + color: @text !important; + background: linear-gradient( + 90deg, + fade(@mantle, 0%), + fade(@mantle, 100%) 75% + ); + } + + /* AutoMod shadow */ + + .automod-level-controls__categories--bottom::after { + background-image: linear-gradient(fade(@mantle, 0%), @mantle); + } + + /* Tables */ + + .tw-table, + .tw-table-heading { + border-color: @surface0; + background: @crust; + } + + /* Achievements & activity page */ + + .ach-sb, + .activity-page__scrollable .simplebar-content { + background: @mantle !important; + } + + /* Clips player background */ + + .clips-player-container { + background: @crust; + } + + .clmgr-table__row { + &:hover { + background: @surface0 !important; + } + } + + /* Announcements button */ + + .announcements-icon--green svg { + fill: @green !important; + } + + /* Achievements */ + + .ach-q-item { + &.ach-q-item--expanded { + box-shadow: 0 0 0 1px @accent; + } + + [data-test-selector="is-affiliate-banner"] { + span, + a { + color: @base !important; + } + } + + .quest-progress-bars__incomplete { + background-color: @surface0 !important; + } + } + + [data-target="video-card"] { + background: @mantle !important; + } + + /* Stream Manager quick actions */ + + .quick-action, + .quick-actions-store-card-layout--top { + color: @base; + + &.quick-action--purple, + &.quick-actions-store-card-layout--purple { + background-color: @mauve; + } + + &.quick-action--blue, + &.quick-actions-store-card-layout--blue { + background-color: @blue; + } + + &.quick-action--magenta, + &.quick-actions-store-card-layout--magenta { + background-color: @pink; + } + + &.quick-action--green, + &.quick-actions-store-card-layout--green { + background-color: @green; + } + + &.quick-action--red, + &.quick-actions-store-card-layout--red { + background-color: @red; + } + + &.quick-action-layout--disabled { + color: @subtext0; + background-color: @surface0; + } + } + + /* Stream Manager statistics */ + .sunlight-tile { + background-color: @crust; + } + + .creator-home-card__icon-background--yellow { + background-color: @yellow; + } + + .stream-manager--page-view .mosaic-window-body, + .sunlight-expanded-nav-drop-down-menu-layout__scrollable-area, + .sunlight-collapsed-nav-drop-down-menu__scrollable-area { + background-color: @mantle; + } + + [class*="progressContainer--"] { + background-color: @surface0; + } + } +} + +@-moz-document domain("dev.twitch.tv"), + url-prefix("https://discuss.dev.twitch.com/embed/topics") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.css-variables(); + + &, + body { + color: @text !important; + background: @base; + --primary-medium: @text; + --primary-low: @surface0; + scrollbar-color: @surface0 @mantle; + } + + a.btn, + button.btn { + border-color: @accent; + background: @accent !important; + color: @base !important; + } + + a.btn:hover, + button.btn:hover { + background: fade(@accent, 80%) !important; + } + + /* Recent announcements */ + .topics-list .topic-list-item .main-link a { + color: @accent; + } + + .topic-created-at, + .topic-last-posted-at, + .topic-like-count, + .topic-post-count { + color: @subtext0 !important; + } + + /* Header */ + .nav__container, + .dev-top-nav { + background: @crust !important; + + .tw-link, + .dev-top-nav__nav-items-container { + color: @text !important; + background: @crust !important; + } + .online { + border-color: @crust !important; + } + a.btn.light { + background: fade(@accent, 10%) !important; + color: @text !important; + } + .nav__links a { + color: @text; + + &:hover { + color: @subtext0; + } + &.active { + color: @accent; + border-color: @accent; + } + } + .nav__logo svg path { + fill: @text; + } + } + + /* Footers */ + .footer, + .dev-footer, + .subscribe-footer { + h5, + p, + a, + div { + color: @text !important; + } + a:hover { + color: @accent !important; + } + + svg path { + fill: @text !important; + } + + background: @crust; + } + + .bright-cta { + * { + color: @mantle !important; + } + background: @accent; + } + .content-alternate-2 { + background: @base; + } + + .sandbox-tab { + color: @text !important; + } + + .why-twitch ul li { + background: @base; + border-color: @surface0 !important; + } + + .sandbox-tab.active { + color: @accent !important; + border-color: @accent !important; + } + + .hero, + .extension-cta, + .subscribe-footer { + background: @mantle; + } + + thead tr th { + border-color: @surface0; + background: @mantle; + } + + tbody tr td { + border-color: @surface0; + } + + tbody tr:nth-child(odd) { + background: @base !important; + } + tbody tr:nth-child(even) { + background: @mantle !important; + } + + h1, + h2, + h3, + h4, + h5, + h6, + hr { + color: @text !important; + border-color: @surface0 !important; + } + + .right-code { + p { + color: @subtext0; + } + background-color: @base !important; + } + + blockquote { + border-color: @accent; + background: @mantle; + } + + .content, + .main, + .topics-list, + .doc-content { + background: @base; + border-color: @base !important; + a { + color: @accent; + } + border-bottom-color: @surface0 !important; + border-image: none; + -webkit-border-image: none; + } + + code { + border-color: @accent !important; + background: fade(@accent, 5%) !important; + color: @text !important; + } + + /* Code */ + .right-code pre, + pre.highlight, + pre { + border-color: @mantle !important; + background: @mantle !important; + code { + background: transparent !important; + color: @text !important; + } + } + + /* Pills */ + .pill-new { + color: @base !important; + background: @accent !important; + } + .pill-beta { + color: @base !important; + background: @yellow !important; + } + + /* Navbar */ + .sidebar { + background: @mantle !important; + dl { + border-color: @base !important; + } + dt a, + dl dd a { + color: @text !important; + } + dl dd a.active-highlight { + color: @accent !important; + } + dl dd a.active-highlight::before { + border-left-color: @accent !important; + } + dt a:hover { + background: @base !important; + } + + /* Search */ + + input { + color: @text; + &::placeholder { + color: @subtext0; + } + &:focus { + background: @crust !important; + box-shadow: 0 0 3px 1px fade(@accent, 70%); + color: @text; + } + } + + .search-icon svg path { + fill: @text !important; + } + + .algolia-autocomplete { + .algolia-docsearch-suggestion--category-header { + color: @text !important; + background: @mantle !important; + border-color: @base !important; + } + + .algolia-docsearch-suggestion--highlight { + background: @accent !important; + color: @base !important; + } + + .algolia-docsearch-suggestion--content { + background: @mantle !important; + } + + .algolia-docsearch-suggestion--title { + color: @text !important; + } + + .algolia-docsearch-suggestion--text { + color: @subtext0 !important; + } + + .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { + .algolia-docsearch-suggestion--title, + .algolia-docsearch-suggestion--text { + background: @crust !important; + .algolia-docsearch-suggestion--highlight { + background: @base !important; + } + } + } + } + } + + ul.grid li.story { + h4 a, + a.btn { + color: @text !important; + } + a { + color: @accent !important; + } + .story__links a { + color: @base !important; + } + + border-color: @surface0; + } + + .submission .relative .outer { + svg path { + fill: @text; + } + button { + border-color: @accent !important; + } + + .tag button { + background: @accent !important; + border-color: @accent !important; + } + + .author { + color: @subtext0 !important; + } + background: @mantle; + } + } +} diff --git a/styles/twitch/preview.webp b/styles/twitch/preview.webp deleted file mode 100644 index e68f580bbc..0000000000 --- a/styles/twitch/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba636a83160c6446f2cc4d7b4e3717086315319a8beee463660143d6c5b85efe -size 1207444 diff --git a/styles/twitter/README.md b/styles/twitter/README.md index 05a4e709ed..4606797193 100644 --- a/styles/twitter/README.md +++ b/styles/twitter/README.md @@ -10,21 +10,18 @@

- -

- -

- +

## Usage -> [!NOTE] -> Set Twitter's built-in theme to **Lights out** with the blue accent. Also requires the [:has()](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) selector. +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). +> [!NOTE] +> Set Twitter's built-in theme to **Lights out** with the blue accent. ## ๐Ÿ’ Current Maintainer -- [Ren](https://github.com/watatomo) +- [watatomo](https://github.com/watatomo)   diff --git a/styles/twitter/catppuccin.user.css b/styles/twitter/catppuccin.user.less similarity index 59% rename from styles/twitter/catppuccin.user.css rename to styles/twitter/catppuccin.user.less index 8b932b7baf..e95c8783cf 100644 --- a/styles/twitter/catppuccin.user.css +++ b/styles/twitter/catppuccin.user.less @@ -2,8 +2,8 @@ @name Twitter Catppuccin @namespace github.com/catppuccin/userstyles/styles/twitter @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/twitter -@version 1.0.7 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/twitter/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/twitter/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Atwitter @description Soothing pastel theme for Twitter @author Catppuccin @@ -18,66 +18,28 @@ @var checkbox darkenShadows "Darken Shadows on Dark Themes" 1 ==/UserStyle== */ -@-moz-document domain("twitter.com"), -domain("x.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("twitter.com"), domain("x.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); body.LightsOut { --border-color: @surface0; --color: @overlay1; --color-emphasis: @text; --hover-bg-color: @surface0; + --cpft-text-primary: @text; // shadows .r-qo02w8, @@ -92,7 +54,7 @@ domain("x.com") { box-shadow: @default-shadow; & when (@darkenShadows = 1) { - box-shadow: if(@lookup=latte, @default-shadow, @black-shadow); + box-shadow: if(@flavor = latte, @default-shadow, @black-shadow); } } @@ -103,7 +65,7 @@ domain("x.com") { filter: @default-shadow; & when (@darkenShadows = 1) { - filter: if(@lookup=latte, @default-shadow, @black-shadow); + filter: if(@flavor = latte, @default-shadow, @black-shadow); } } @@ -118,7 +80,7 @@ domain("x.com") { box-shadow: @default-shadow; & when (@darkenShadows = 1) { - box-shadow: if(@lookup=latte, @default-shadow, @black-shadow); + box-shadow: if(@flavor = latte, @default-shadow, @black-shadow); } } } @@ -135,7 +97,7 @@ domain("x.com") { } [style*="scrollbar-color: rgb(62, 65, 68) rgb(22, 24, 28)"] { - scrollbar-color: @accent-color transparent !important; + scrollbar-color: @accent transparent !important; scrollbar-width: thin; } @@ -177,12 +139,12 @@ domain("x.com") { // white text, seems to appear on accent colors .r-jwli3a { - color: if(@lookup=latte, #fff, @crust); + color: if(@flavor = latte, #fff, @crust); // cw svg &:has( - path[d="M3.693 21.707l-1.414-1.414 2.429-2.429c-2.479-2.421-3.606-5.376-3.658-5.513l-.131-.352.131-.352c.133-.353 3.331-8.648 10.937-8.648 2.062 0 3.989.621 5.737 1.85l2.556-2.557 1.414 1.414L3.693 21.707zm-.622-9.706c.356.797 1.354 2.794 3.051 4.449l2.417-2.418c-.361-.609-.553-1.306-.553-2.032 0-2.206 1.794-4 4-4 .727 0 1.424.192 2.033.554l2.263-2.264C14.953 5.434 13.512 5 11.986 5c-5.416 0-8.258 5.535-8.915 7.001zM11.986 10c-1.103 0-2 .897-2 2 0 .178.023.352.067.519l2.451-2.451c-.167-.044-.341-.067-.519-.067zm10.951 1.647l.131.352-.131.352c-.133.353-3.331 8.648-10.937 8.648-.709 0-1.367-.092-2-.223v-2.047c.624.169 1.288.27 2 .27 5.415 0 8.257-5.533 8.915-7-.252-.562-.829-1.724-1.746-2.941l1.438-1.438c1.53 1.971 2.268 3.862 2.33 4.027z"] - ) { + path[d="M3.693 21.707l-1.414-1.414 2.429-2.429c-2.479-2.421-3.606-5.376-3.658-5.513l-.131-.352.131-.352c.133-.353 3.331-8.648 10.937-8.648 2.062 0 3.989.621 5.737 1.85l2.556-2.557 1.414 1.414L3.693 21.707zm-.622-9.706c.356.797 1.354 2.794 3.051 4.449l2.417-2.418c-.361-.609-.553-1.306-.553-2.032 0-2.206 1.794-4 4-4 .727 0 1.424.192 2.033.554l2.263-2.264C14.953 5.434 13.512 5 11.986 5c-5.416 0-8.258 5.535-8.915 7.001zM11.986 10c-1.103 0-2 .897-2 2 0 .178.023.352.067.519l2.451-2.451c-.167-.044-.341-.067-.519-.067zm10.951 1.647l.131.352-.131.352c-.133.353-3.331 8.648-10.937 8.648-.709 0-1.367-.092-2-.223v-2.047c.624.169 1.288.27 2 .27 5.415 0 8.257-5.533 8.915-7-.252-.562-.829-1.724-1.746-2.941l1.438-1.438c1.53 1.971 2.268 3.862 2.33 4.027z"] + ) { color: @text; } } @@ -229,12 +191,12 @@ domain("x.com") { // active border for dms .r-1pbtemp { - border-right-color: @accent-color; + border-right-color: @accent; } // accent color borders .r-vhj8yc { - border-color: @accent-color; + border-color: @accent; } // magnifying glass in search bar @@ -253,37 +215,37 @@ domain("x.com") { // bg color accent .r-l5o3uw { - background-color: @accent-color; + background-color: @accent; .r-jwli3a { - color: if(@lookup=latte, #fff, @crust); + color: if(@flavor = latte, #fff, @crust); } } // accent element when hovered .r-1vtznih { - background-color: darken(@accent-color, 10%); + background-color: darken(@accent, 10%); .r-jwli3a { - color: if(@lookup=latte, #fff, @crust); + color: if(@flavor = latte, #fff, @crust); } } .r-1peqgm7 { - background-color: fade(@accent-color, 10%); + background-color: fade(@accent, 10%); } // accent element when active .r-yuvema { - background-color: darken(@accent-color, 15%); + background-color: darken(@accent, 15%); .r-jwli3a { - color: if(@lookup=latte, #fff, @crust); + color: if(@flavor = latte, #fff, @crust); } } .r-r18ze4 { - background-color: fade(@accent-color, 20%); + background-color: fade(@accent, 20%); } // white elements when hovered @@ -308,12 +270,12 @@ domain("x.com") { // polls .r-eok2q2 { - background-color: fade(@accent-color, 60%); + background-color: fade(@accent, 60%); } // box shadow around active poll input box .r-9cip40 { - box-shadow: @accent-color 0 0 0 1px; + box-shadow: @accent 0 0 0 1px; } // spaces @@ -390,12 +352,12 @@ domain("x.com") { } .r-11mg6pl { - border-color: if(@lookup=latte, #fff, @crust); // white border + border-color: if(@flavor = latte, #fff, @crust); // white border } // mask over layer .r-11z020y { - background-color: fade(desaturate(darken(@accent-color, 10%), 50%), 12%); + background-color: fade(desaturate(darken(@accent, 10%), 50%), 12%); } // likes @@ -424,7 +386,7 @@ domain("x.com") { // bell svg on notifications page .r-1cvl2hr { - color: @accent-color; + color: @accent; } // retweet svg on notifications page @@ -486,8 +448,7 @@ domain("x.com") { // hard-coded shit // ugly-ass twitter blue/premium bg. why. - [style*="https://abs.twimg.com/responsive-web/client-web/background-premiumplus-web"] - { + [style*="https://abs.twimg.com/responsive-web/client-web/background-premiumplus-web"] { background-image: none !important; background-color: @surface0; } @@ -498,7 +459,7 @@ domain("x.com") { [stroke="#1D9BF0" i], [style*="stroke: rgb(29, 155, 240)"] { - stroke: @accent-color !important; + stroke: @accent !important; } [stroke="#FFD400" i] { @@ -511,7 +472,8 @@ domain("x.com") { // "we received your report" svg [fill="#1DA1F2" i] { - fill: if(@lookup=latte, darken(@sky, 15%), darken(@sky, 30%)) !important; + fill: if(@flavor = latte, darken(@sky, 15%), darken(@sky, 30%)) + !important; } [fill="#78C6EE" i] { @@ -549,97 +511,97 @@ domain("x.com") { } [style*="border-color: rgb(103, 7, 15)"] { - border-color: fadeout(@red, 50%) !important; + border-color: fade(@red, 50%) !important; } [style*="border-color: rgb(29, 155, 240)"] { - border-color: @accent-color !important; + border-color: @accent !important; } [style*="color: rgb(231, 233, 234)"]:not( - [style*="background-color: rgb(231, 233, 234)"] - ), + [style*="background-color: rgb(231, 233, 234)"] + ), [style*="color: rgb(239, 243, 244)"]:not( - [style*="background-color: rgb(239, 243, 244)"] - ), + [style*="background-color: rgb(239, 243, 244)"] + ), [style*="color: rgb(255, 255, 255)"]:not( - [style*="background-color: rgb(255, 255, 255)"] - ) { + [style*="background-color: rgb(255, 255, 255)"] + ) { color: @text !important; } [style*="color: rgb(231, 233, 234)"]:not( - [style*="background-color: rgb(231, 233, 234)"] - ) + [style*="background-color: rgb(231, 233, 234)"] + ) input::placeholder { color: @subtext1 !important; } // faded text [style*="color: rgb(113, 118, 123)"]:not( - [style*="background-color: rgb(113, 118, 123)"] - ), + [style*="background-color: rgb(113, 118, 123)"] + ), [style*="color: rgb(182, 185, 188)"]:not( - [style*="background-color: rgb(182, 185, 188)"] - ) { + [style*="background-color: rgb(182, 185, 188)"] + ) { color: @overlay1 !important; } // retweets color [style*="color: rgb(0, 186, 124)"]:not( - [style*="background-color: rgb(0, 186, 124)"] - ) { + [style*="background-color: rgb(0, 186, 124)"] + ) { color: @green !important; } // likes/unfollow color [style*="color: rgb(249, 24, 128)"]:not( - [style*="background-color: rgb(249, 24, 128)"] - ), + [style*="background-color: rgb(249, 24, 128)"] + ), [style*="color: rgb(244, 33, 46)"]:not( - [style*="background-color: rgb(244, 33, 46)"] - ) { + [style*="background-color: rgb(244, 33, 46)"] + ) { color: @red !important; } [style*="color: rgb(250, 68, 152)"]:not( - [style*="background-color: rgb(250, 68, 152)"] - ) { + [style*="background-color: rgb(250, 68, 152)"] + ) { color: @pink !important; } [style*="color: rgb(255, 212, 0)"]:not( - [style*="background-color: rgb(255, 212, 0)"] - ) { + [style*="background-color: rgb(255, 212, 0)"] + ) { color: @yellow !important; } [style*="color: rgb(120, 86, 255)"]:not( - [style*="background-color: rgb(120, 86, 255)"] - ) { + [style*="background-color: rgb(120, 86, 255)"] + ) { color: @mauve !important; } [style*="color: rgb(255, 122, 0)"]:not( - [style*="background-color: rgb(255, 122, 0)"] - ) { + [style*="background-color: rgb(255, 122, 0)"] + ) { color: @peach !important; } // accent color (blue) [style*="color: rgb(29, 155, 240)"]:not( - [style*="background-color: rgb(29, 155, 240)"] - ) { - color: @accent-color !important; + [style*="background-color: rgb(29, 155, 240)"] + ) { + color: @accent !important; } // background colors [style*="background-color: rgb(142, 205, 248)"] { - background-color: lighten(@accent-color, 10%) !important; + background-color: lighten(@accent, 10%) !important; } [style*="background-color: rgb(2, 17, 61)"] { - background-color: fade(@accent-color, 15%) !important; + background-color: fade(@accent, 15%) !important; } [style*="background-color: rgba(255, 255, 255, 0.25)"] { @@ -650,19 +612,18 @@ domain("x.com") { background-color: @overlay0 !important; // for toggle circle - + [style*="background-color: rgb(250, 250, 250)"] - when - not - (@lookup = latte) { + + [style*="background-color: rgb(250, 250, 250)"] when not( + @flavor = latte + ) { background-color: @text !important; } } [style*="background-color: rgb(29, 155, 240)"] { - background-color: @accent-color !important; + background-color: @accent !important; [style*="color: rgb(255, 255, 255)"] { - color: if(@lookup=latte, #fff, @crust) !important; + color: if(@flavor = latte, #fff, @crust) !important; } } @@ -670,7 +631,7 @@ domain("x.com") { background-color: @text !important; [style*="color: rgb(15, 20, 25)"] { - color: if(@lookup=latte, #fff, @crust) !important; + color: if(@flavor = latte, #fff, @crust) !important; } } @@ -678,7 +639,7 @@ domain("x.com") { background-color: @red !important; [style*="color: rgb(255, 255, 255)"] { - color: if(@lookup=latte, #fff, @crust) !important; + color: if(@flavor = latte, #fff, @crust) !important; } } @@ -705,33 +666,33 @@ domain("x.com") { .r-3gvs5h, [style="background-image: linear-gradient(61.63deg, rgb(45, 66, 255) -15.05%, rgb(156, 99, 250) 104.96%);"] { [style*="color: rgb(255, 255, 255)"]:not( - [style*="background-color: rgb(255, 255, 255)"] - ), + [style*="background-color: rgb(255, 255, 255)"] + ), &[style*="color: rgb(255, 255, 255)"]:not( - [style*="background-color: rgb(255, 255, 255)"] - ), + [style*="background-color: rgb(255, 255, 255)"] + ), [style*="color: rgb(231, 233, 234)"]:not( - [style*="background-color: rgb(231, 233, 234)"] - ), + [style*="background-color: rgb(231, 233, 234)"] + ), &[style*="color: rgb(231, 233, 234)"]:not( - [style*="background-color: rgb(231, 233, 234)"] - ), + [style*="background-color: rgb(231, 233, 234)"] + ), [color="white"] { - color: if(@lookup=latte, #fff, @crust) !important; + color: if(@flavor = latte, #fff, @crust) !important; } } [data-testid="videoComponent"]:not(.r-4nw3r4), .r-loe9s5, .r-drfeu3:has( - [style="background-color: rgba(255, 255, 255, 0.25); border-color: rgba(0, 0, 0, 0); backdrop-filter: blur(4px);"] - ) { + [style="background-color: rgba(255, 255, 255, 0.25); border-color: rgba(0, 0, 0, 0); backdrop-filter: blur(4px);"] + ) { [style*="color: rgb(255, 255, 255)"]:not( - [style*="background-color: rgb(255, 255, 255)"] - ), + [style*="background-color: rgb(255, 255, 255)"] + ), &[style*="color: rgb(255, 255, 255)"]:not( - [style*="background-color: rgb(255, 255, 255)"] - ), + [style*="background-color: rgb(255, 255, 255)"] + ), .r-jwli3a { color: #fff !important; } @@ -739,7 +700,7 @@ domain("x.com") { // dms have to be here bc of the above .r-eff69c { - background-color: darken(@accent-color, 5%); + background-color: darken(@accent, 5%); [style*="color: rgb(255, 255, 255)"] { color: @crust !important; @@ -749,7 +710,7 @@ domain("x.com") { // follow button [data-testid$="-follow"] { [style*="color: rgb(15, 20, 25)"] { - color: if(@lookup=latte, #fff, @crust) !important; + color: if(@flavor = latte, #fff, @crust) !important; } } @@ -761,7 +722,7 @@ domain("x.com") { // options & when (@colorizeLogo = 1) { path[d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"] { - fill: @accent-color !important; + fill: @accent !important; } } @@ -771,47 +732,18 @@ domain("x.com") { } } -@-moz-document domain("api.twitter.com"), -domain("api.x.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document domain("api.twitter.com"), domain("api.x.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); html { background: @mantle; @@ -873,12 +805,12 @@ domain("api.x.com") { .button.selected, .follow-button .unfollow .button { - background-color: @accent-color; - color: if(@lookup=latte, #fff, @crust); - border-color: darken(@accent-color, 10%); + background-color: @accent; + color: if(@flavor = latte, #fff, @crust); + border-color: darken(@accent, 10%); &:hover { - background-color: darken(@accent-color, 10%); + background-color: darken(@accent, 10%); } .app-info, @@ -893,47 +825,18 @@ domain("api.x.com") { } } -@-moz-document domain("twitter.com"), -domain("x.com") { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@-moz-document domain("twitter.com"), domain("x.com") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); #session a, #session input, @@ -949,8 +852,8 @@ domain("x.com") { button:hover, input:focus, input:hover { - color: if(@lookup=latte, #fff, @crust); - background-color: @accent-color; + color: if(@flavor = latte, #fff, @crust); + background-color: @accent; } } @@ -985,14 +888,14 @@ domain("x.com") { } .submit-btn { - background-color: @accent-color; - color: if(@lookup=latte, #fff, @crust); - border-color: darken(@accent-color, 10%); + background-color: @accent; + color: if(@flavor = latte, #fff, @crust); + border-color: darken(@accent, 10%); } .submit-btn:hover, .redirect-btn:hover { - background-color: darken(@accent-color, 10%); + background-color: darken(@accent, 10%); } .block-btn { @@ -1003,8 +906,8 @@ domain("x.com") { .mute-btn, .unfollow-btn, .email-report-btn { - color: @accent-color; - border-color: @accent-color; + color: @accent; + border-color: @accent; } .list-btn { @@ -1030,13 +933,3 @@ domain("x.com") { } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/twitter/preview.webp b/styles/twitter/preview.webp deleted file mode 100644 index f2c0cafabf..0000000000 --- a/styles/twitter/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac820aa5ac9c3a339c58d9f2aa258544e590a508753d0f48ec66a0c3b50d66f0 -size 302926 diff --git a/styles/vercel/README.md b/styles/vercel/README.md index 46265fea92..0282ccf986 100644 --- a/styles/vercel/README.md +++ b/styles/vercel/README.md @@ -10,21 +10,19 @@

- -

- -

- +

## Usage -> [!NOTE] -> This theme also applies to the [Next.js](https://nextjs.org/) website. +> [!IMPORTANT] +> This userstyle also applies to [Next.js](https://nextjs.org). + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainers -- [Ryan Cao](https://github.com/ryanccn) +- [ryanccn](https://github.com/ryanccn) - [Dandraghas](https://github.com/Dandraghas) diff --git a/styles/vercel/catppuccin.user.css b/styles/vercel/catppuccin.user.less similarity index 53% rename from styles/vercel/catppuccin.user.css rename to styles/vercel/catppuccin.user.less index 5feac3a6fe..3536fdc1f7 100644 --- a/styles/vercel/catppuccin.user.css +++ b/styles/vercel/catppuccin.user.less @@ -2,8 +2,8 @@ @name Vercel/Next.js Catppuccin @namespace github.com/catppuccin/userstyles/styles/vercel @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/vercel -@version 0.1.0 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/vercel/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/vercel/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Avercel @description Soothing pastel theme for Vercel and Next.js @author Catppuccin @@ -15,55 +15,22 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + @-moz-document domain("vercel.com"), domain("nextjs.org") { + @import url("https://prismjs.catppuccin.com/variables.important.css"); + :root.dark-theme { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root.light-theme { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); --geist-foreground: @text; --geist-background: @mantle; @@ -77,9 +44,9 @@ --accents-7: @overlay2; --accents-8: @subtext0; - --geist-link-color: @accent-color; + --geist-link-color: @accent; --geist-selection: @subtext0; - --geist-success: @accent-color; + --geist-success: @accent; --geist-error: @red; --geist-cyan: @teal; @@ -94,9 +61,9 @@ --ds-gray-700: @subtext1; --ds-gray-800: @subtext1; --ds-gray-900: @subtext0; - --ds-gray-900-value: #rgbify(@subtext0) []; + --ds-gray-900-value: #lib.rgbify(@subtext0)[]; --ds-gray-1000: @text; - --ds-gray-1000-value: #rgbify(@text) []; + --ds-gray-1000-value: #lib.rgbify(@text)[]; --ds-gray-alpha-100: fade(@text, 6%); --ds-gray-alpha-200: fade(@text, 9%); --ds-gray-alpha-400: @surface0; @@ -108,11 +75,11 @@ --ds-red-800: @red; --ds-red-900: lighten(@red, 5%); - --ds-blue-200: fade(@accent-color, 30%); - --ds-blue-300: fade(@accent-color, 40%); - --ds-blue-400: fade(@accent-color, 50%); - --ds-blue-700: @accent-color; - --ds-blue-900: @accent-color; + --ds-blue-200: fade(@accent, 30%); + --ds-blue-300: fade(@accent, 40%); + --ds-blue-400: fade(@accent, 50%); + --ds-blue-700: @accent; + --ds-blue-900: @accent; --tw-gradient-top: transparent; @@ -126,7 +93,7 @@ } .styled-scrollbar { - scrollbar-color: @accent-color transparent; + scrollbar-color: @accent transparent; } .dark\:from-black, @@ -156,55 +123,29 @@ @-moz-document domain("nextjs.org") { :root.dark-theme { - #catppuccin(@darkFlavor, @accentColor); + #catppuccin(@darkFlavor); } :root.light-theme { - #catppuccin(@lightFlavor, @accentColor); + #catppuccin(@lightFlavor); } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; + #catppuccin(@flavor) { + #lib.palette(); article { :not(h1, h2, h3, h4) > a { - color: @accent-color; + color: @accent; } a:hover { - color: darken(@accent-color, 5%); + color: darken(@accent, 5%); } } nav { /* Vertical line to the left of links */ a > div.bg-blue-600 { - background-color: @accent-color; + background-color: @accent; } } @@ -226,7 +167,7 @@ --shiki-token-constant: @peach; --shiki-token-string: @green; --shiki-token-string-expression: @green; - --shiki-token-comment: @overlay0; + --shiki-token-comment: @overlay2; --shiki-token-keyword: @mauve; --shiki-token-parameter: @maroon; --shiki-token-function: @blue; @@ -260,7 +201,7 @@ } td a { - color: @accent-color; + color: @accent; } .animated-optimizations_window__CjM85 { @@ -317,17 +258,3 @@ } } } - -#rgbify(@color) { - @rgb-raw: red(@color), green(@color), blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/vercel/preview.webp b/styles/vercel/preview.webp deleted file mode 100644 index aed9bfee3f..0000000000 --- a/styles/vercel/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58cd88d32833de621e80c66ade95877b3cf9f2adfe6dfeaf3f50b00fd8343d63 -size 67146 diff --git a/styles/vikunja/README.md b/styles/vikunja/README.md index f8b91efbdc..2df937fbf4 100644 --- a/styles/vikunja/README.md +++ b/styles/vikunja/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/vikunja/catppuccin.user.css b/styles/vikunja/catppuccin.user.less similarity index 59% rename from styles/vikunja/catppuccin.user.css rename to styles/vikunja/catppuccin.user.less index 361c2e9ec0..bb3d71e27f 100644 --- a/styles/vikunja/catppuccin.user.css +++ b/styles/vikunja/catppuccin.user.less @@ -2,8 +2,8 @@ @name Vikunja Catppuccin @namespace github.com/catppuccin/userstyles/styles/vikunja @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/vikunja -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/vikunja/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/vikunja/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Avikunja @description Soothing pastel theme for Vikunja @author Catppuccin @@ -15,35 +15,19 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('try.vikunja.io') { - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("try.vikunja.io") { + :root.dark { + #catppuccin(@darkFlavor); + } + :root.light { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); #hslbreakdown(@color, @item) { --@{item}-h: hue(@color) !important; @@ -54,9 +38,8 @@ --@{item}-invert-l: lightness(@color) !important; } - color-scheme: if(@lookup = latte, light, dark); - - #hslbreakdown(@accent-color, primary); + #hslbreakdown(@accent, primary); + --grey-100-hsl: hue(@mantle) saturation(@mantle) lightness(@mantle); --site-background: @mantle; --content-heading-color: @text; --card-header-color: @text; @@ -64,7 +47,7 @@ --body-color: @text; --label-color: @text; --strong-color: @text; - --primary: @accent-color; + --primary: @accent; --primary-invert: @base; --switch-view-color: @base; --input-background-color: @base; @@ -72,7 +55,7 @@ --table-row-hover-background-color: @mantle; --table-head-cell-color: @text; --input-border-color: @overlay0; - --link-hover: @accent-color; + --link-hover: @accent; --white: @base; --grey: @overlay0; --card-content-background-color: @base; @@ -82,6 +65,9 @@ --text: @text; --text-strong: @text; --button-text-hover-background-color: @base; + --table-striped-row-even-background-color: @mantle; + --code-background: @mantle; + --code: @text; body, div#app, @@ -93,7 +79,7 @@ svg.llama-cool > circle, svg.logo > path[fill="#196aff"] { - fill: @accent-color; + fill: @accent; } svg.logo, @@ -104,6 +90,11 @@ color: @text !important; } + p.nothing, + .has-text-grey-light { + color: @subtext0 !important; + } + h1.title.task-id, div.detail-title, div.detail-title span { @@ -129,6 +120,10 @@ } } + .has-text-danger { + --has-text-hover-color: @red; + } + button.is-success { color: @green; @@ -146,11 +141,15 @@ color: @base; &:hover { - background: @accent-color; + background: @accent; } &:active { - background: darken(@accent-color, 10%); + background: darken(@accent, 10%); + } + + span.icon { + color: @base !important; } } @@ -180,7 +179,7 @@ color: @text; } li > a.router-link-active { - color: @accent-color; + color: @accent; } li:hover { background: @mantle; @@ -202,17 +201,44 @@ div.tiptap__editor { a { - color: @accent-color; + color: @accent; + } + pre, + code { + background: @surface0; + color: @text; } } + blockquote, + hr { + background: @surface0; + } + + emoji-picker { + --background: @surface0; + --border-color: @overlay0; + --button-hover-background: @overlay0; + --input-border-color: @overlay0; + scrollbar-color: @overlay0 @surface0 !important; + } + + .reaction-button.current-user-has-reacted { + border-color: @accent; + background: fade(@accent, 30%); + } + p.created { color: @overlay0; } .progress-bar { --progress-bar-background-color: @crust; - --progress-value-background-color: @accent-color; + --progress-value-background-color: @accent; + } + + .loader-container.is-loading::after { + --loader-border-color: @accent; } /* Gantt */ @@ -241,7 +267,7 @@ .g-gantt-bar-handle-left, .g-gantt-bar-handle-right { - background: darken(@accent-color, 10%); + background: darken(@accent, 10%); } } } @@ -257,7 +283,6 @@ div.task-item > .task { background: @mantle; - span.icon, span.priority-label { background: @surface0; } @@ -312,21 +337,4 @@ border-left-color: darken(@green, 5%); } } - - :root.dark { - #catppuccin(@darkFlavor, @accentColor); - } - :root.light { - #catppuccin(@lightFlavor, @accentColor); - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; } - -// vim:ft=less diff --git a/styles/vikunja/preview.webp b/styles/vikunja/preview.webp deleted file mode 100644 index b508b3c385..0000000000 --- a/styles/vikunja/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1433187180b72dd7d3b1c6af0cfdada40543b7b73dab5172b34536898274faea -size 72478 diff --git a/styles/web.dev/README.md b/styles/web.dev/README.md index 735e9f38fc..fd74de0e0b 100644 --- a/styles/web.dev/README.md +++ b/styles/web.dev/README.md @@ -4,19 +4,18 @@

Logo
- Catppuccin for web.dev + Catppuccin for web.dev

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/web.dev/catppuccin.user.css b/styles/web.dev/catppuccin.user.less similarity index 67% rename from styles/web.dev/catppuccin.user.css rename to styles/web.dev/catppuccin.user.less index 975d630d9b..75a399112e 100644 --- a/styles/web.dev/catppuccin.user.css +++ b/styles/web.dev/catppuccin.user.less @@ -2,8 +2,8 @@ @name web.dev Catppuccin @namespace github.com/catppuccin/userstyles/styles/web.dev @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/web.dev -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/web.dev/catppuccin.user.css +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/web.dev/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aweb.dev @description Soothing pastel theme for web.dev @author Catppuccin @@ -15,62 +15,25 @@ @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ -@-moz-document domain('web.dev') { - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +// Exclude https://pagespeed.web.dev/, which is (currently) poorly themed. +@-moz-document url-prefix("https://web.dev") { + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); } } - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); :focus-visible { - outline-color: @accent-color; + outline-color: @accent; } --webdev-background-gray: @surface0; @@ -78,9 +41,9 @@ --webdev-background-oficial-gray: @surface0; --webdev-background-white: @base; --webdev-google-colors-blue-50: @base; - --webdev-google-colors-blue-600: @accent-color; - --webdev-google-colors-blue-800: @accent-color; - --webdev-primary: @accent-color; + --webdev-google-colors-blue-600: @accent; + --webdev-google-colors-blue-800: @accent; + --webdev-primary: @accent; --webdev-text-text-1: @text; --webdev-text-text-2: @subtext1; --webdev-text-text-3: @subtext0; @@ -93,17 +56,17 @@ --devsite-primary-border: 1px solid @surface0; --devsite-secondary-border: 1px solid @surface2; - --devsite-contrast-link-color: @accent-color; + --devsite-contrast-link-color: @accent; --devsite-header-link-color-active: @text; --devsite-button-disabled-background: @surface0; --devsite-button-disabled-color: @subtext0; - --devsite-button-primary-background-active: @accent-color; + --devsite-button-primary-background-active: @accent; --devsite-button-primary-color-active: @crust; --devsite-button-primary-border-hover: 2px solid transparent; --devsite-input-background: @surface0; - --devsite-input-background-focus: fade(@accent-color, 30%); + --devsite-input-background-focus: fade(@accent, 30%); devsite-multiple-choice { .devsite-multiple-choice-question { @@ -144,7 +107,7 @@ --devsite-code-buttons-hover: @subtext1; --devsite-var-color: @mauve; - --devsite-code-comments-color: @surface2; + --devsite-code-comments-color: @overlay2; --devsite-code-keywords-color: @mauve; --devsite-code-numbers-color: @peach; --devsite-code-strings-color: @green; @@ -192,13 +155,3 @@ } } } - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/web.dev/preview.webp b/styles/web.dev/preview.webp deleted file mode 100644 index 844c151d04..0000000000 --- a/styles/web.dev/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d26570728b1d8df600fe9b94b1e998e62988aadba0614bf7c81ec4d178041fa -size 205520 diff --git a/styles/whatsapp-web/README.md b/styles/whatsapp-web/README.md index 918be02b8d..782d68ba93 100644 --- a/styles/whatsapp-web/README.md +++ b/styles/whatsapp-web/README.md @@ -10,17 +10,17 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ’ Current Maintainer +## ๐Ÿ’ Current Maintainers - [FrancoRav](https://github.com/FrancoRav) +- [WalkQuackBack](https://github.com/WalkQuackBack)   diff --git a/styles/whatsapp-web/catppuccin.user.css b/styles/whatsapp-web/catppuccin.user.css deleted file mode 100644 index a20b0bd5e5..0000000000 --- a/styles/whatsapp-web/catppuccin.user.css +++ /dev/null @@ -1,687 +0,0 @@ -/* ==UserStyle== -@name WhatsApp Web Catppuccin -@namespace github.com/catppuccin/userstyles/styles/whatsapp-web -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/whatsapp-web -@version 0.0.9 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/whatsapp-web/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awhatsapp-web -@description Soothing pastel theme for WhatsApp Web -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var checkbox lighterMessages "Lighter incoming messages" 0 -==/UserStyle== */ - -@-moz-document domain("web.whatsapp.com") { - body { - #catppuccin(@lightFlavor, @accentColor); - } - - body.dark { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - .landing-wrapper-before { - background-color: @accent-color !important; - } - - /* STATUS PAGE */ - --status-background: @base !important; - .bfsx6evv { - background-color: @mantle !important; - } - - --modal-backdrop-solid: @base !important; - - /* join group pop up */ - --modal-background: @base !important; - - /* startup progress */ - --progress-primary: @accent-color !important; - --progress-background: @surface1 !important; - --startup-background: @base !important; - --startup-background-rgb: #rgbify(@base) []; - /* home page, no chat selected */ - --intro-background: @base !important; - --intro-border: @accent-color !important; - /* general background */ - --app-background: @base !important; - - /* CHAT LIST */ - /* nav bar background */ - --navbar-background: @mantle !important; - /* filters container background */ - --filters-container-background: @base !important; - /* filters item background */ - --filters-item-background: @surface0 !important; - /* filters item color */ - --filters-item-color: @subtext0 !important; - /* filters item background hover */ - --filters-item-background-hover: @surface1 !important; - /* filters item active background */ - --filters-item-active-background: fadeout(@accent-color, 70%) !important; - /* filters item active color */ - --filters-item-active-color: @accent-color !important; - /* chat list background */ - --background-default: @base !important; - /* chat list header */ - --panel-header-background: @mantle !important; - /* icons */ - --panel-header-icon: @text !important; - /* other warnings (notifications) */ - --butterbar-default-background: @mantle !important; - --butterbar-notification-icon: @sky !important; - /* loading messages warning */ - --butterbar-green-nux-background: @mantle !important; - /* update available warning */ - --butterbar-update-background: @mantle !important; - --butterbar-update-icon: @accent-color !important; - /* chat list search bar */ - --search-container-background: @base !important; - --search-input-container-background: @base !important; - --search-input-background: @surface0 !important; - --search-input-container-background-active: @mantle !important; - --icon-search-back: @accent-color !important; - /* archive icon */ - --icon-bright-highlight: @accent-color !important; - /* archived unread marker */ - --unread-marker-background: @accent-color !important; - --unread-timestamp: @accent-color !important; - /* archived chats header */ - --archived-chat-persistent-header-background: @crust !important; - /* unread voice message */ - --ptt-green: @green !important; - /* read voice message */ - --ptt-blue: @blue !important; - /* pinned chat icon */ - --icon-pinned: @accent-color !important; - /* last message in selected chat */ - --secondary-stronger: @subtext1 !important; - /* background for active and hover chats in chat list */ - --background-default-active: @surface1 !important; - --background-default-hover: @surface0 !important; - /* unread chats filter */ - --icon-high-emphasis: @green !important; - .p7idzaix { - color: @crust !important; - } - /* voice message playing */ - --ptt-ooc-background: @mantle !important; - - /* CONVERSATION */ - /* chat background */ - --conversation-panel-background: @mantle !important; - /* MESSAGES */ - /* background for incoming and outgoing messages */ - & when (@lighterMessages=1) { - --incoming-background: @surface1 !important; - --incoming-background-deeper: @surface2 !important; - /* arrow icon in messages */ - --incoming-background-rgb: #rgbify(@surface1) []; - } - & when (@lighterMessages=0) { - --incoming-background: @base !important; - --incoming-background-deeper: @surface0 !important; - /* arrow icon in messages */ - --incoming-background-rgb: #rgbify(@base) []; - } - --outgoing-background: @surface0 !important; - /* read double tick */ - --icon-ack: @blue !important; - /* received double tick */ - --bubble-meta-icon: @subtext0 !important; - /* message timestamp */ - --bubble-meta: @text !important; - --message-primary: @text !important; - /* POLL */ - /* creation */ - --poll-modal-background-color: @base !important; - --poll-modal-footer-background-color: @surface0 !important; - /* votes */ - --poll-bar-fill-receiver: @green !important; - --poll-bar-fill-sender: @green !important; - --checkbox-mark: @crust !important; - - /* audio duration */ - --audio-progress-metadata: @subtext0 !important; - /* system messages (unread or day messages in chats) */ - --system-message-text: @text !important; - --system-message-background: @crust !important; - /* unread system message background */ - --unread-background: @crust !important; - --unread-bar-background: @surface1 !important; - /* meta data for documents */ - --document-meta: @subtext1 !important; - /* mentions, links and link previews */ - --mention-at-symbol: @sapphire !important; - --link: @sapphire !important; - --link-preview: @text !important; - --link-preview-lighter: @subtext1 !important; - --link-preview-light: @subtext0 !important; - --outgoing-background-rgb: #rgbify(@surface0) []; - /* QUOTED MESSAGES */ - /* quoted messages */ - --quoted-message-text: @text !important; - /* background for quoted incoming and outgoing messages */ - --outgoing-background-deeper: @surface1 !important; - - /* SEARCH IN CHAT HIGHLIGHT */ - --highlight: @teal !important; - - /* quote colors */ - .bg-color-1 { - background-color: @green !important; - } - .color-1 { - color: @green !important; - } - .bg-color-2 { - background-color: @blue !important; - } - .color-2 { - color: @blue !important; - } - .bg-color-3 { - background-color: @pink !important; - } - .color-3 { - color: @pink !important; - } - .bg-color-4 { - background-color: @sapphire !important; - } - .color-4 { - color: @sapphire !important; - } - .bg-color-5 { - background-color: @peach !important; - } - .color-5 { - color: @peach !important; - } - .bg-color-6 { - background-color: @sky !important; - } - .color-6 { - color: @sky !important; - } - .bg-color-7 { - background-color: @yellow !important; - } - .color-7 { - color: @yellow !important; - } - .bg-color-8 { - background-color: @teal !important; - } - .color-8 { - color: @teal !important; - } - .bg-color-9 { - background-color: @lavender !important; - } - .color-9 { - color: @lavender !important; - } - .bg-color-10 { - background-color: @red!important; - } - .color-10 { - color: @red!important; - } - .bg-color-11 { - background-color: @mauve !important; - } - .color-11 { - color: @mauve !important; - } - .bg-color-12 { - background-color: @flamingo !important; - } - .color-12 { - color: @flamingo !important; - } - .bg-color-13 { - background-color: @rosewater !important; - } - .color-13 { - color: @rosewater !important; - } - .bg-color-14 { - background-color: @pink !important; - } - .color-14 { - color: @pink !important; - } - .bg-color-15 { - background-color: @maroon !important; - } - .color-15 { - color: @maroon !important; - } - .bg-color-16 { - background-color: @teal !important; - } - .color-16 { - color: @teal !important; - } - /* general text */ - --primary: @text !important; - --primary-strong: @text !important; - --primary-stronger: @text !important; - --primary-strongest: @text !important; - --secondary: @subtext0 !important; - --secondary-strongest-rgb: #rgbify(@text) []; - --inline-code-text: @blue !important; - /* chat list typing message */ - --typing: @green !important; - /* background for video player and image viewer */ - --media-viewer-background: @mantle !important; - /* not loaded media */ - --media-gallery-thumb-background: @crust !important; - - /* Group info/Contact info */ - --photopicker-overlay-background: fadeout(@mantle, 0.8) !important; - --photopicker-overlay-background-rgb: #rgbify(@base) []; - --media-viewer-background-rgb: #rgbify(@base) []; - --drawer-background-deep: @crust !important; - /* group info read more */ - --input-button-more: @sapphire !important; - /* Group info thumbnails border */ - --chat-info-drawer-thumb-background: @surface2 !important; - /* Group admin badge background */ - --chat-marker-background: @mantle !important; - --chat-marker-border: @mantle !important; - /* Group admin badge foreground */ - --chat-marker: @subtext0 !important; - /* Media gallery */ - --drawer-gallery-background: @crust !important; - /* mute toggle */ - --switch-button-checked-color: @accent-color !important; - --switch-track-checked-color: @surface2 !important; - --switch-track-color: @surface2 !important; - --switch-button-color: @overlay1 !important; - - /* danger, block, exit and report buttons */ - --danger: @red!important; - - /* group added by someone not in contacts */ - --button-plain-background: @surface0 !important; - --button-plain-background-hover: @surface1 !important; - - /* EMOJI AND STICKERS */ - --panel-input-background: @surface0 !important; - --sticker-button-background: @surface1 !important; - --active-tab-marker: @accent-color !important; - - /* REACTIONS */ - --reactions-panel-background-color: @surface0 !important; - --reactions-tray-background: @surface0 !important; - --reactions-details-background: @surface0 !important; - --svg-gray-button: @surface0 !important; - - /* Forward message popup */ - --panel-background-colored-deeper: @crust !important; - --modal-backdrop: fadeout(@mantle, 0.8) !important; - - /* Forward media caption */ - --forward-caption-preview-background: @mantle !important; - --forward-caption-preview-content: @crust !important; - - /* MEDIA EDITOR */ - /* background for media editor */ - --panel-background-deeper: @mantle !important; - /* message box for media editor */ - --media-editor-image-caption-input-background: @surface0 !important; - /* selected picture in media editor */ - --media-editor-thumb-border-active: @accent-color !important; - /* send button in media editor */ - --button-round-background: @accent-color !important; - - /* COMPOSE BAR */ - /* type a message bar and background */ - --compose-input-background: @surface0 !important; - --compose-input-border: @surface1 !important; - --compose-panel-background: @mantle !important; - --rich-text-panel-background: @mantle !important; - /* select messages fixes */ - --panel-background: @mantle !important; - --panel-background-rgb: #rgbify(@mantle) []; - --checkbox-background: @accent-color !important; - /* quoted message in compose */ - --popup-panel-background: @surface0 !important; - /* use Surface 0 for contrast, other colors don't pass AAA */ - /* mention list item background */ - --compose-panel-background-hover: @surface1 !important; - /* compose bar icons */ - --icon: @accent-color !important; - /* ATTACH ICONS */ - /* poll icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(6) - > button - > span - > svg - > circle { - fill: @green !important; - } - /* image icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(1) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(2) { - fill: @pink !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(1) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(1) { - fill: @pink !important; - filter: brightness(85%) !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(1) - > button - > span - > svg - > g:nth-child(1) - > g - > rect { - fill: @pink !important; - filter: brightness(70%) !important; - } - /* sticker icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(2) - > button - > span - > svg - > g - > circle { - fill: @blue !important; - filter: brightness(85%) !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(2) - > button - > span - > svg - > g - > path:nth-child(2) { - fill: @blue !important; - } - /* camera icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(3) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(1) { - fill: @red!important; - filter: brightness(85%) !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(3) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(2) { - fill: @red!important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(3) - > button - > span - > svg - > g:nth-child(1) - > g - > rect { - fill: @red!important; - filter: brightness(85%) !important; - } - /* document icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(4) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(1) { - fill: @mauve !important; - filter: brightness(85%) !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(4) - > button - > span - > svg - > g:nth-child(1) - > g - > path:nth-child(2) { - fill: @mauve !important; - } - /* contact icon */ - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(5) - > button - > span - > svg - > g:nth-child(1) - > g - > g - > path:nth-child(1) { - fill: @sky !important; - filter: brightness(85%) !important; - } - div._1OT67 - > div - > span - > div - > div - > ul - > li:nth-child(5) - > button - > span - > svg - > g:nth-child(1) - > g - > g - > path:nth-child(2) { - fill: @sky !important; - } - /* VOICE MESSAGE SENDING */ - --ptt-draft-button-send: @accent-color !important; - --ptt-draft-waveform-background: @base !important; - --ptt-draft-button-stop: @red !important; - --ptt-draft-button-stop-hover: @maroon !important; - - /* GENERAL OPTIONS */ - /* dropdown menus */ - --dropdown-background: @surface0 !important; - --dropdown-background-hover: @surface1 !important; - - /* OTHER SECTIONS */ - /* profile background */ - --drawer-background: @base !important; - /* communities, new chat, other panes */ - --panel-background-colored: @mantle !important; - --drawer-section-background: @base !important; - /* new chat icons */ - --round-icon-background: @green !important; - --inverse: @text !important; - /* title and icon for drawers */ - --drawer-header-title: @text !important; - /* buttons such as create community */ - --button-primary-background: @accent-color !important; - --button-primary-background-hover: fadeout(@accent-color, 0.8) !important; - /* keyboard shortcuts background */ - --panel-background-lighter: @mantle !important; - /* active input in modals and drawers */ - --input-border-active: @accent-color !important; - - /* Start page drawing */ - #app - > div - > div - > div._2Ts6i._2xAQV - > div - > div - > div.WM0_u - > span - > svg - > path:nth-child(1) { - fill: @surface2 !important; - } - - /* Status unread dot */ - #df9d3429-f0ef-48b5-b5eb-f9d27b2deba6 > path:nth-child(2) { - fill: @accent-color !important; - } - - #side - > div._3gYev - > div - > div - > button - > div._3xdht._1ZD3q - > span - > svg - > path { - fill: @accent-color !important; - } - } -} - -#rgbify(@color) { - @rgb-raw: red(@color) green(@color) blue(@color); -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/whatsapp-web/catppuccin.user.less b/styles/whatsapp-web/catppuccin.user.less new file mode 100644 index 0000000000..41a4ac5297 --- /dev/null +++ b/styles/whatsapp-web/catppuccin.user.less @@ -0,0 +1,261 @@ +/* ==UserStyle== +@name WhatsApp Web Catppuccin +@namespace github.com/catppuccin/userstyles/styles/whatsapp-web +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/whatsapp-web +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/whatsapp-web/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awhatsapp-web +@description Soothing pastel theme for WhatsApp Web +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var checkbox lighterMessages "Elevated incoming messages" 0 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("web.whatsapp.com") { + /* Note: Some variables appear to be applied on :root, + but without using :has there doesn't seem to be a good + way to target the root whenever a certain theme is applied. + */ + + :root:has(> :not(.dark)), + :root .color-refresh, + .color-refresh, + /* Layer under mount */ + .app-wrapper-web.app-wrapper-web, + .app-wrapper-web.app-wrapper-web:root { + #catppuccin(@lightFlavor); + } + + :root:has(> .dark), + .dark.color-refresh, + .color-refresh.dark, + /* Layer under mount */ + .dark .app-wrapper-web.app-wrapper-web, + .dark .app-wrapper-web.app-wrapper-web:root { + #catppuccin(@darkFlavor); + } + + #initialLoad(@styles) { + #RGB(splashscreen-startup-background, @styles[@crust]) !important; + #RGB(splashscreen-startup-icon, @styles[@surface0]) !important; + + #RGB(splashscreen-primary-title, @styles[@text]) !important; + + #RGB(splashscreen-progress-primary, @styles[@@accentColor]) !important; + #RGB(splashscreen-progress-background, @styles[@surface1]) !important; + + #RGB(splashscreen-secondary-lighter, @styles[@overlay2]) !important; + + #RGB(startup-icon, @styles[@surface1]) !important; + #RGB(startup-background, @styles[@crust]) !important; + + #RGB(progress-background, @styles[@overlay0]) !important; + } + + // Inital loading screen (Avoid FOUC) + [style^="--splashscreen-startup-background: #F7F5F3;"] { + #initialLoad(@catppuccin[@@lightFlavor]); + } + + [style^="--splashscreen-startup-background: #0A1014;"] { + #initialLoad(@catppuccin[@@darkFlavor]); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @accentContent: if(@flavor = latte, @base, @crust); + + @emphasize: 10%; + @deemphasize: if(@flavor = latte, 15%, 30%); + @bubble-surface-deemp: 20%; + + @scrim: 30%; + @pressed: 20%; + + #WDS(accent, @accent); + #WDS(accent-deemphasized, fade(@accent, @deemphasize)); + #WDS(accent-emphasized, lighten(@accent, @emphasize)); + + #WDS(secondary-negative, @red); + #WDS(secondary-negative-deemphasized, fade(@red, @deemphasize)); + #WDS(secondary-negative-emphasized, @red); + + #WDS(secondary-positive, @green); + #WDS(secondary-positive-deemphasized, fade(@green, @deemphasize)); + + #WDS(secondary-warning, @yellow); + #WDS(secondary-warning-deemphasized, fade(@yellow, @deemphasize)); + + #WDS(content-default, @text); + #WDS(content-deemphasized, @overlay2); + #WDS(content-disabled, fade(@text, 50%)); + + #WDS(content-on-accent, @accentContent); + #WDS(content-action-default, @accent); + #WDS(content-action-emphasized, lighten(@accent, @emphasize)); + #WDS(content-external-link, @blue); + #WDS(content-inverse, @crust); + #WDS(content-read, @blue); + + #WDS(background-wash-inset, @crust); + #WDS(background-wash-plain, @crust); + #WDS(background-elevated-wash-plain, @crust); + #WDS(background-elevated-wash-inset, @crust); + #WDS(background-dimmer, fade(#000, @scrim)); + #WDS(modal-backdrop-solid, @crust); + + #WDS(surface-default, @mantle); + --background-default: var(--WDS-surface-default); + --search-container-background: var(--WDS-surface-default); + #WDS(surface-emphasized, @base); + #WDS(surface-elevated-default, @base); + #WDS(surface-elevated-emphasized, mix(@text, @base, @emphasize)); + #WDS(surface-highlight, fade(@text, @pressed)); + #WDS(surface-inverse, @text); + #WDS(surface-pressed, fade(@text, @pressed)); + + #WDS(lines-divider, fade(@text, 10%)); + #WDS(lines-outline-default, @overlay0); + #WDS(lines-outline-deemphasized, fade(@text, @deemphasize)); + + #WDS(persistent-activity-indicator, fade(@green, 90%)); + #WDS(persistent-always-black, #000); + #WDS(persistent-always-white, #fff); + #WDS(persistent-always-branded, @accent); + + #WDS( + systems-bubble-surface-incoming, + if(@lighterMessages = 1, @surface1, @base), + ); + + #WDS( + systems-bubble-surface-outgoing, + mix(@accent, @base, @bubble-surface-deemp), + ); + #WDS(systems-bubble-content-deemphasized, fade(@text, 50%)); + + #WDS(systems-bubble-surface-overlay, @mantle); + #WDS(systems-bubble-surface-system, @mantle); + + #WDS( + systems-bubble-surface-e2e, + mix(@yellow, @mantle, @bubble-surface-deemp), + ); + #WDS(systems-bubble-content-e2e, @yellow); + + #WDS( + systems-bubble-surface-business, + mix(@teal, @mantle, @bubble-surface-deemp), + ); + + #WDS(systems-chat-surface-composer, @base); + #WDS(systems-chat-background-wallpaper, @crust); + #WDS(systems-chat-foreground-wallpaper, @mantle); + #WDS(systems-chat-surface-tray, @base); + #WDS(systems-status-seen, fade(@text, 50%)); + + #WDS(components-platform-gesture-bar, fade(@crust, 50%)); + #WDS(components-platform-status-bar, fade(@crust, 80%)); + #WDS(components-surface-nav-bar, @base); + + #WDS(app-wash, @surface0); + + #WDS(white, @crust); + #RGB(white, @crust); + + #RGB(attachment-type-stickers-color, @green); + #RGB(attachment-type-polls-color, @yellow); + #RGB(attachment-type-contacts-color, @sky); + #RGB(attachment-type-camera-color, @pink); + #RGB(attachment-type-photos-color, @blue); + #RGB(attachment-type-documents-color, @mauve); + #RGB(attachment-type-audio-color, @peach); + /* \/ Note: Seems to be overwritten by a generated + CSS variable, so has no effect :( */ + #RGB(attachment-type-event-color, @pink); + + #RGB(toast-background, @surface1); + #RGB(toast-text, @text); + + #RGB(picker-background, @surface1); + + #RGB(butterbar-blue-nux-background, @sky); + #RGB(butterbar-blue-nux-icon-background, darken(@sky, 30%)); + #RGB(blue-light, @blue); + + #RGB(gray-500, @overlay2); + + #RGB(focus-animation, mix(@accent, @base, 40%)); + #RGB(focus-animation-deeper, mix(@accent, @base, 30%)); + + #RGB(startup-icon, @surface1); + #RGB(startup-background, @crust); + + #RGB(progress-background, @surface0); + + /* "About AI messages" icon */ + .st0 { + fill: @accent !important; + stroke: @surface0; + } + + /* TODO: Meta AI/other bot colours */ + + input[type="time"]::-webkit-datetime-edit-hour-field:focus, + input[type="time"]::-webkit-datetime-edit-minute-field:focus, + input[type="time"]::-webkit-datetime-edit-second-field:focus, + input[type="time"]::-webkit-datetime-edit-ampm-field:focus, + input[type="date"]::-webkit-datetime-edit-year-field:focus, + input[type="date"]::-webkit-datetime-edit-month-field:focus, + input[type="date"]::-webkit-datetime-edit-day-field:focus { + background-color: @accent; + color: @accentContent; + } + + [data-icon="wa-wordmark-refreshed"] path { + fill: if( + @flavor = latte, + var(--WDS-persistent-always-branded), + currentcolor + ); + } + + /* Toasts */ + #wa-popovers-bucket + + span + > div + button:nth-of-type(1):not(:has(> [data-icon="x-alt"])) { + color: var(--WDS-accent-emphasized); + } + + /* Date picker */ + #RGB(date-picker-text-color, @text); + .react-calendar__tile:disabled { + color: @subtext0; + } + .react-calendar__month-view__days__day--neighboringMonth { + color: @overlay2; + } + } +} + +#WDS(@id, @color) { + --WDS-@{id}: @color; + --WDS-@{id}-RGB: #lib.rgbify(@color)[]; + --WDS-@{id}-rgb: #lib.rgbify(@color)[]; +} + +#RGB(@id, @color) { + --@{id}: @color; + --@{id}-rgb: #lib.rgbify(@color)[]; +} diff --git a/styles/whatsapp-web/preview.webp b/styles/whatsapp-web/preview.webp deleted file mode 100644 index 69d9aa4608..0000000000 --- a/styles/whatsapp-web/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:465c9d0a0029311b4ba5e15f7f5d105c9d4476416e5ec13f84f4a6e3b55b6eb0 -size 297066 diff --git a/styles/wiki.nixos.org/README.md b/styles/wiki.nixos.org/README.md new file mode 100644 index 0000000000..f82f46cd32 --- /dev/null +++ b/styles/wiki.nixos.org/README.md @@ -0,0 +1,37 @@ + + + +

+ Logo
+ + Catppuccin for NixOS Wiki + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [orangci](https://github.com/orangci) + +## ๐Ÿ’– Past Maintainer +- [nekowinston](https://github.com/nekowinston) + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/wiki.nixos.org/catppuccin.user.less b/styles/wiki.nixos.org/catppuccin.user.less new file mode 100644 index 0000000000..067ee70c82 --- /dev/null +++ b/styles/wiki.nixos.org/catppuccin.user.less @@ -0,0 +1,1438 @@ +/* ==UserStyle== +@name NixOS Wiki Catppuccin +@namespace github.com/catppuccin/userstyles/styles/wiki.nixos.org +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/wiki.nixos.org +@version 2026.08.16 +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awiki.nixos.org +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/wiki.nixos.org/catppuccin.user.less +@description Soothing pastel theme for NixOS Wiki +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var checkbox highlight-redirect "Highlight redirect links" 0 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("wiki.nixos.org") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --background-color-base: @base; + --home-panel-heading-background: @mantle; + --home-panel-border-color: @surface0; + --table-border-color: @crust; + --table-header-background: @surface1; + --table-even-background: @surface2; + + background-color: @base; + + body, + .vector-feature-zebra-design-enabled .vector-header-container .mw-header, + .vector-feature-zebra-design-enabled .mw-page-container, + .vector-feature-zebra-design-enabled .vector-pinned-container, + .vector-feature-zebra-design-enabled + .vector-dropdown + .vector-dropdown-content, + .uls-lcd, + .uls-search, + .uls-filtersuggestion, + #uls-settings-block.uls-settings-block--vector-2022.uls-settings-block--with-add-languages, + .app-badges .footer-sidebar-content, + .pure-form input[type="search"], + .suggestions-dropdown, + .cdx-menu, + .vector-header-container .mw-header, + .mw-page-container, + .vector-pinned-container, + .vector-header-container .vector-sticky-header, + .mw-mmv-image, + .mw-body, + .frb-form-wrapper, + .mw-echo-ui-placeholderItemWidget, + .oo-ui-popupWidget-popup, + .mw-echo-ui-notificationItemWidget, + .oo-ui-optionWidget-selected { + background-color: @base; + } + + body, + .mw-heading, + h1, + h2, + h3, + h4, + h5, + h6, + .vector-feature-zebra-design-enabled body, + .vector-feature-zebra-design-enabled + .vector-toc + .vector-toc-list-item-active + > .vector-toc-link, + .vector-feature-zebra-design-enabled + .vector-toc + .vector-toc-level-1-active:not(.vector-toc-list-item-expanded) + > .vector-toc-link, + .vector-feature-zebra-design-enabled + .vector-toc + .vector-toc-list-item-active.vector-toc-level-1-active + > .vector-toc-link, + .vector-menu-tabs .mw-list-item.selected a, + .vector-menu-tabs .mw-list-item.selected a:visited, + .cdx-button:enabled, + .cdx-button.cdx-button--fake-button--enabled, + .mw-footer li, + .vector-feature-zebra-design-enabled + .vector-toc + .vector-toc-level-1-active:not(.vector-toc-list-item-active) + > .vector-toc-link, + .central-featured-lang small, + .footer-sidebar-text, + .other-project-tagline, + .site-license, + .search-container .js-langpicker-label, + .langlist > ul > li, + .suggestion-title, + .cdx-menu-item--enabled .cdx-menu-item__content, + .mwe-popups .mwe-popups-extract, + .mw-body-content .mw-number-text h3, + .vector-pinnable-element .vector-menu-heading, + .vector-toc .vector-toc-list-item-active > .vector-toc-link, + .vector-toc + .vector-toc-level-1-active:not(.vector-toc-list-item-expanded) + > .vector-toc-link, + .vector-toc + .vector-toc-list-item-active.vector-toc-level-1-active + > .vector-toc-link, + .uls-empty-state .uls-empty-state__header, + .uls-empty-state .uls-empty-state__desc, + .uls-no-results-found-title, + .mw-mmv-post-image, + .mw-mmv-credit, + .frb-form-wrapper, + .mw-echo-ui-notificationItemWidget-content-message-header, + .oo-ui-labelElement, + #contentSub:not(:empty) { + color: @text !important; + } + + .mw-parser-output .fmbox { + border-color: @surface2 !important; + background-color: @base !important; + } + + .cdx-thumbnail__image { + border-color: @text; + } + + /* maths */ + .equation-box, + .equation-box * { + background: none !important; + } + img.mwe-math-fallback-image-display, + img.mwe-math-fallback-image-inline { + & when (@flavor = latte) { + filter: brightness(0) saturate(100%) invert(31%) sepia(9%) saturate( + 1499% + ) hue-rotate(196deg) brightness(90%) contrast(85%); + } + + & when (@flavor = frappe) { + filter: brightness(0) saturate(100%) invert(92%) sepia(6%) saturate( + 3753% + ) hue-rotate(184deg) brightness(93%) contrast(106%); + } + + & when (@flavor = macchiato) { + filter: brightness(0) saturate(100%) invert(82%) sepia(7%) saturate( + 1042% + ) hue-rotate(193deg) brightness(103%) contrast(92%); + } + + & when (@flavor = mocha) { + filter: brightness(0) saturate(100%) invert(83%) sepia(28%) saturate( + 223% + ) hue-rotate(190deg) brightness(99%) contrast(93%); + } + } + + .mwe-popups .mwe-popups-extract[dir="ltr"]::after { + background-image: linear-gradient( + to right, + rgba(255, 255, 255, 0), + @surface0 50% + ); + } + table { + background: @surface2 !important; + } + + tr { + background-color: @surface0 !important; + } + + th { + background: @overlay0 !important; + color: @mantle !important; + } + + .quotebox, + div.thumbinner { + background-color: @surface0 !important; + border-color: @surface2 !important; + } + + .navbox-group, + .infobox-label { + color: @text !important; + } + + .cdx-button:enabled, + .cdx-text-input__input:enabled { + color: @text; + background-color: @base; + border-color: @surface2; + &:hover { + background-color: @mantle; + border-color: @text; + color: @text; + } + } + + .vector-dropdown .vector-dropdown-content, + .header-container.header-chrome { + background-color: @mantle; + } + + .skin-vector .uls-search { + border-bottom-color: @surface2; + } + + .oo-ui-textInputWidget, + .oo-ui-inputWidget-input { + color: @text !important; + background-color: @surface1 !important; + border-color: @surface2 !important; + } + + .oo-ui-pendingElement-pending { + background-color: @base; + background-image: linear-gradient( + 135deg, + @surface0 25%, + transparent 25%, + transparent 50%, + @surface0 50%, + @surface0 75%, + transparent 75%, + transparent + ); + } + + .oo-ui-tagItemWidget.oo-ui-widget-disabled { + color: @text; + background-color: @overlay0; + text-shadow: 0 0 0 @text; + border-color: @surface0; + } + + .oo-ui-buttonElement-frameless.oo-ui-widget-enabled + > .oo-ui-buttonElement-button, + .mw-mmv-credit, + .mw-mmv-options-dialog-header, + .mw-mmv-options-text-header { + color: @text; + } + + .mw-mmv-options-text-body { + color: @subtext0; + } + + .mw-ui-input:not(:disabled) { + background-color: @surface0; + color: @text; + border-color: @surface2; + } + + .mw-ui-button { + color: @mantle; + background-color: @accent; + border-color: @accent; + } + + .imbox-delete { + border-color: @red !important; + background-color: @surface0 !important; + } + + .imbox { + background-color: @overlay0 !important; + border-color: @peach !important; + } + + .talkheader-help { + background-color: @surface1 !important; + border-color: @green !important; + } + + .assess, + .assess-NA, + .navbox-subgroup { + background: @surface0 !important; + border-color: @surface1 !important; + } + + .documentation, + .documentation-container, + .documentation-metadata { + background-color: fade(@green, 15%) !important; + } + + .ambox, + .portalborder { + background-color: @surface1 !important; + border-color: @surface2 !important; + } + + .navbox-title { + color: @text !important; + } + + .mw-content-ltr.mw-highlight-lines pre, + .mw-content-ltr.content .mw-highlight-lines pre { + box-shadow: inset 2.75em 0 0 @mantle; + } + + .mw-redirect when (@highlight-redirect = 1) { + color: @green !important; + } + + .mbox-text { + color: @text !important; + } + + .sidebar-above, + .p, + .o { + color: @text !important; + } + .ni, + .mw-templatedata-doc-muted { + color: @subtext1 !important; + } + .nv, + .nn { + color: @blue !important; + } + + .sidebar-above a span { + color: @text !important; + } + + .sidebar-title-with-pretitle span { + color: @text !important; + } + + .nt { + color: @green !important; + } + + .nl { + color: @teal !important; + } + + .ambox-style { + border-left-color: @yellow !important; + } + + .mw-parser-output .mainpage-frame { + background: @surface0 !important; + border-color: @surface0 !important; + } + + .mw-parser-output .mainpage-heading-title { + background: linear-gradient( + to right, + rgba(saturate(lighten(@accent, 4%), -3%), 0.4), + @surface0 + ) !important; + } + + .hidden-title { + background-color: @green !important; + color: @mantle !important; + } + + .mw-mmv-post-image, + .mw-mmv-options-dialog { + background-color: @base; + color: @text; + } + .mw-mmv-image-metadata { + background-color: @base; + border-color: @base; + } + + .mw-mmv-dialog-down-arrow { + background-color: @base !important; + } + + .oo-ui-tagItemWidget.oo-ui-widget-enabled { + color: @text; + background-color: @overlay0 !important; + border-color: @surface0; + } + + ol.references li:target { + background-color: @surface2; + } + + .mw-body-content .error { + color: @red; + } + + .divbox-gray, + .infobox-above { + background-color: @surface2 !important; + border-color: @overlay0 !important; + } + + .biota > * > tr > th { + background-color: @yellow !important; + color: @mantle !important; + } + + .cmbox { + background-color: @blue !important; + } + + .wikitable { + background-color: @surface0 !important; + color: @text !important; + border-color: @surface2 !important; + } + + .wikitable > * > tr > th { + background-color: @surface1 !important; + } + + .wikitable > * > tr > td, + .wikitable > * > tr > th { + background-color: @surface0 !important; + color: @text !important; + border-color: @surface2; + } + + .mw-searchresults-has-iw .iw-result__header a { + color: @text; + } + + .mw-search-result-data { + color: @subtext0; + } + + .navbox-abovebelow { + background-color: @overlay2 !important; + border-color: @overlay2 !important; + } + + .vector-feature-zebra-design-enabled + .vector-pinnable-element + .vector-menu-heading { + color: @text; + border-bottom-color: @surface0; + } + + .mwe-popups .mwe-popups-container { + background-color: @surface0; + } + + .vector-pinnable-header-toggle-button { + background-color: @surface0; + color: @text; + &:hover { + background-color: @base; + } + } + + .mw-parser-output .navbox-list { + border-color: @surface0; + } + + .pure-button-primary-progressive, + .pure-button-primary-progressive:hover { + background-color: @accent; + border-color: @accent; + } + + .suggestion-link { + border-bottom-color: @surface0; + } + + .cdx-menu, + .skin-vector .uls-menu, + .suggestiodns-dropdown, + .cdx-search-input--has-end-button, + .vector-sticky-header, + .vector-sticky-header-context-bar, + .mw-heading2 { + border-color: @surface2; + } + + .suggestion-link.active { + background-color: fade(@accent, 20%); + .suggestion-title { + color: @accent; + } + } + + .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted, + .cdx-menu-item--enabled.cdx-menu-item--highlighted { + background-color: fade(@accent, 20%); + } + + .mw-echo-ui-sortedListWidget, + .mw-echo-ui-sortedListWidget-group, + .mw-echo-ui-subGroupListWidget-header { + border-color: @surface2; + } + + .mw-mmv-post-image, + .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive + .cdx-button__icon { + background-color: @crust; + } + + .cdx-text-input__input:enabled::placeholder, + .cdx-text-input__input:enabled ~ .cdx-text-input__icon-vue, + .skin-vector .uls-languagefilter, + .skin-vector .uls-lcd-region-title, + .suggestion-description, + .cdx-menu-item--enabled .cdx-menu-item__text__description, + .mw-number-text, + .boilerplate > div:nth-child(3) > span:nth-child(1), + .boilerplate > div:nth-child(4) > span:nth-child(2) { + color: @subtext0 !important; + } + + input:hover + .cdx-button.cdx-button--action-progressive { + background-color: fade(@accent, 12.5%); + } + + #pt-notifications-alert .mw-echo-unseen-notifications::after { + background-color: @red !important; + } + + #pt-notifications-notice .mw-echo-unseen-notifications::after { + background-color: @blue !important; + } + + a, + .mw-parser-output a.external:visited { + color: @accent; + &:visited { + color: @mauve; + } + } + + a.new, + .mw-parser-output .cs1-visible-error, + .vector-menu-tabs .mw-list-item.new a, + .mw-plusminus-neg { + color: @red; + } + + a.mw-selflink { + color: @text; + } + + #searchInput { + color: @text; + &:hover { + border-color: @surface2; + } + &:focus { + border-color: @accent; + } + } + + .pure-form input[type="search"] { + border-color: @surface2; + box-shadow: inset 0 0 0 1px @surface2; + } + + #pt-notifications-alert .mw-echo-notifications-badge::after, + #pt-notifications-notice .mw-echo-notifications-badge::after, + .mw-echo-notification-badge-nojs::after { + border-color: @crust; + background-color: @accent; + color: @base; + } + + h2 { + border-bottom-color: @surface2; + } + + .mw-footer { + border-top-color: @surface2; + } + + .bookshelf { + border-top-color: @surface0; + box-shadow: 0 -1px 0 @surface0; + } + + body.ns-talk .mw-parser-output .mp-toolbox, + .mw-parser-output .tmbox, + #talkheader { + border-color: fade(@yellow, 20%) !important; + background-color: fade(@yellow, 10%) !important; + } + + body.ns-talk .mw-parser-output .mp-toolbox-daily th { + border-color: fade(@yellow, 80%) !important; + background-color: fade(@yellow, 20%) !important; + } + + .fn.org { + color: @accent; + } + + .mw-parser-output .mp-toolbox-daily th, + .mw-parser-output td.mp-toolbox-tfl-not { + background: fade(@yellow, 20%) !important; + border-color: fade(@yellow, 20%) !important; + } + + body.ns-talk .mw-parser-output .mp-toolbox-daily { + border-color: fade(@yellow, 20%) !important; + background: none !important; + } + + .mw-parser-output tr + tr > .navbox-list, + .mw-parser-output tr + tr > .navbox-group { + border-top-color: @surface0; + } + + .ext-phonos-PhonosButton.oo-ui-buttonElement-frameless.oo-ui-buttonWidget + > .oo-ui-buttonElement-button:hover { + background-color: fade(@accent, 20%); + } + + .styled-select:hover { + background-color: @surface0; + } + + .lang-list-button, + .lang-list-button:hover { + background-color: @base; + border-color: @surface1; + outline-color: @base; + } + + .cdx-typeahead-search__search-footer__icon.cdx-icon { + color: @subtext0; + } + + .vector-toc + .vector-toc-level-1-active:not(.vector-toc-list-item-active) + > .vector-toc-link { + color: @text !important; + } + + .lang-list-active .lang-list-button { + background-color: @base; + border-color: @surface1; + outline-color: @base; + } + + .lang-list-button:focus { + box-shadow: inset 0 0 0 1px @accent; + } + + .lang-list-border { + background-color: @surface1; + } + + .infobox-header { + background-color: @surface1 !important; + color: @text !important; + } + + td[style*="background-color"], + td[style*="background-color"] * { + color: @crust !important; + } + + #toc-Services > a:nth-child(1) > div:nth-child(1) { + color: @text !important; + } + + .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive, + .vector-menu-tabs .mw-list-item a, + .vector-feature-zebra-design-enabled .vector-toc .vector-toc-link, + .mw-parser-output a.extiw, + .mw-parser-output a.external, + .mw-collapsible-toggle-default .mw-collapsible-text, + .vector-feature-zebra-design-enabled + .vector-pinnable-element + .mw-list-item + a, + .vector-feature-zebra-design-enabled + .vector-dropdown-content + .mw-list-item + a, + .vector-feature-zebra-design-enabled + .vector-pinnable-element + .mw-list-item + a:not(.mw-selflink):visited, + .vector-feature-zebra-design-enabled + .vector-dropdown-content + .mw-list-item + a:not(.mw-selflink):visited, + .uls-language-block a, + .lang-list-button, + .fancycaptcha-reload, + #pt-userpage-2 a:not(.mw-selflink), + .vector-pinnable-element .mw-list-item a, + .vector-pinnable-element .mw-list-item a:not(.mw-selflink):visited, + .vector-toc .vector-toc-link, + .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive + > .oo-ui-buttonElement-button, + .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive + > .oo-ui-buttonElement-button:hover, + .vector-dropdown-content .mw-list-item a, + .vector-dropdown-content .mw-list-item a:not(.mw-selflink):visited { + color: @accent; + } + + .cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive, + .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive, + .mw-ui-button.mw-ui-progressive:not(:disabled), + .mw-ui-button.mw-ui-progressive:not(:disabled):hover { + background-color: @accent; + border-color: @accent; + color: @base; + } + + .mw-message-box-warning, + .boilerplate { + border-color: @accent !important; + background-color: fade(@accent, 25%) !important; + color: @text; + } + + .vector-feature-zebra-design-enabled .vector-sticky-pinned-container::after, + .vector-sticky-pinned-container::after { + background: none; + } + + .vector-feature-zebra-design-enabled .vector-pinnable-header-toggle-button { + background-color: @surface0; + color: @text; + &:hover { + background-color: @base; + } + } + + .vector-feature-zebra-design-enabled .vector-pinnable-header, + .vector-pinnable-header, + .vector-pinnable-element .vector-menu-heading { + border-bottom-color: @surface0; + } + + hr { + border-bottom-color: @base; + } + + .central-featured-lang strong:hover, + .link-box:hover, + .central-featured-lang :hover, + .other-project-link:hover, + .lang-list-container { + background-color: @surface0; + } + + .vector-page-toolbar-container { + box-shadow: 0 1px @surface1; + } + + .mw-parser-output .navbox-even { + background-color: @surface1; + } + + .vector-feature-zebra-design-enabled .vector-page-titlebar::after, + .mw-parser-output .wikipedia-languages-prettybars, + .vector-page-titlebar::after { + background-color: @surface2 !important; + } + + table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(2) { + background-color: fade(@accent, 20%) !important; + } + + .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, + .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), + .mw-collapsible-toggle-default::before, + .mw-collapsible-toggle-default::after { + color: @subtext1; + } + + .infobox, + .mw-parser-output .navbox, + .catlinks, + .mw-parser-output #mp-topbanner, + .mw-parser-output .sidebar, + .fancycaptcha-captcha-container, + .fancycaptcha-captcha-and-reload, + .cdx-checkbox__icon, + .mw-message-box, + .uls-menu .uls-no-results-view .uls-no-found-more, + .client-js + .vector-below-page-title + .vector-page-titlebar-toc + > label:nth-child(2), + .mw-parser-output .ombox, + code, + .oo-ui-buttonElement-framed.oo-ui-widget-enabled + > .oo-ui-buttonElement-button, + .mw-mmv-label, + #page-secondary-actions > a, + .mw-parser-output .ambox, + td[class="sidebar-navbar"], + textarea, + .mw-parser-output .side-box { + background-color: @surface0 !important; + color: @text !important; + border-color: @surface2 !important; + } + + #pagehistory li.selected { + background-color: @surface0 !important; + color: @text !important; + border-color: @surface2 !important; + outline-color: @surface2 !important; + } + + .cdx-checkbox__icon { + border-color: @accent !important; + } + + .fancycaptcha-captcha-container .mw-ui-inputูˆ .mw-ui-input:not(:disabled) { + background-color: @base !important; + color: @text !important; + border-color: @surface1; + } + + .mw-ui-input:not(:disabled), + .mw-ui-button:not(:disabled) { + background-color: @base !important; + color: @text !important; + border-color: @surface1 !important; + } + + .mw-parser-output .module-shortcutboxplain { + background-color: @base !important; + color: @text !important; + border-color: @surface2; + } + + .sidebar-pretitle, + .sidebar-title-with-pretitle, + .sidebar-list-title { + background-color: fade(@accent, 20%) !important; + } + + .mw-parser-output #mp-bottom, + .mw-parser-output .sidebar-collapse .sidebar-below { + border-color: @surface2; + } + + .lang-list-content, + .bookshelf .text { + background-color: @surface0; + } + + .mw-parser-output #mp-bottom .mp-h2, + .uls-language-block > ul > li:hover { + background: @surface0; + border-color: @surface2; + } + + figure[typeof~="mw:File/Thumb"] { + background-color: @mantle !important; + color: @text !important; + border-top-color: @surface2; + border-left-color: @surface2; + border-right-color: @surface2; + > figcaption { + background-color: @mantle !important; + color: @text !important; + border-bottom-color: @surface2; + border-left-color: @surface2; + border-right-color: @surface2; + } + > :not(figcaption) .mw-file-element { + color: @surface2 !important; + border-color: @surface2; + } + } + + .mw-parser-output #mp-left, + .mw-parser-output #mp-left .mp-h2, + th[class="sidebar-title"] { + background-color: fade(@green, 10%) !important; + border-color: fade(@green, 20%) !important; + } + + .mw-plusminus-pos { + color: @green !important; + } + + .mw-parser-output #mp-right, + .mw-parser-output #mp-right .mp-h2 { + background-color: fade(@blue, 10%) !important; + border-color: fade(@blue, 20%) !important; + } + + .mw-parser-output #mp-lower, + .mw-parser-output #mp-lower .mp-h2 { + background-color: fade(@mauve, 10%) !important; + border-color: fade(@mauve, 20%) !important; + } + + .mw-collapsible-toggle-default:active .mw-collapsible-text { + color: @peach; + } + + .mw-parser-output #mp-middle, + .mw-parser-output #mp-middle .mp-h2 { + background-color: fade(@pink, 10%) !important; + border-color: fade(@pink, 20%) !important; + } + + .mw-parser-output .navbox-title, + .summary, + .infobox > tbody:nth-child(1) > tr:nth-child(4) > th:nth-child(1), + .infobox > tbody:nth-child(1) > tr:nth-child(6) > th:nth-child(1) { + background-color: fade(@accent, 20%) !important; + } + + .infobox > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) { + background-color: @surface1 !important; + } + + .mw-parser-output .navbox-group, + table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(3), + table.expanded:nth-child(2) + > tbody:nth-child(1) + > tr:nth-child(4) + > td:nth-child(2) + > table:nth-child(2) + > tbody:nth-child(1) + > tr:nth-child(1), + table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1), + table.nowraplinks:nth-child(1) + > tbody:nth-child(1) + > tr:nth-child(3) + > td:nth-child(1) + > table:nth-child(2) + > tbody:nth-child(1) + > tr:nth-child(1), + table.nowraplinks:nth-child(1) + > tbody:nth-child(1) + > tr:nth-child(4) + > td:nth-child(1) + > table:nth-child(2) + > tbody:nth-child(1) + > tr:nth-child(1), + table.nowraplinks:nth-child(1) + > tbody:nth-child(1) + > tr:nth-child(5) + > td:nth-child(1) + > table:nth-child(2) + > tbody:nth-child(1) + > tr:nth-child(1), + .navbox-abovebelow { + background-color: @surface1 !important; + } + + .mw-parser-output .tracklist > tbody { + color: inherit; + + > .tracklist-total-length * { + background-color: @overlay1; + color: @base; + } + } + + .mw-content-ltr + > table:nth-child(20) + > tbody:nth-child(1) + > tr:nth-child(2) + > td:nth-child(2) { + border-color: @surface2 !important; + background-color: @surface0 !important; + } + + .noarticletext, + #noarticletext { + background-color: @base !important; + } + + #sisterproject { + background-color: @mantle !important; + } + + [style="color:#02a64f;line-height:initial"] { + color: @green !important; + } + + [style="color:#f78e1e;line-height:initial"] { + color: @peach !important; + } + + [style="color:#77278b;line-height:initial"] { + color: @mauve !important; + } + + [style="color:#87746a;line-height:initial"] { + color: @maroon !important; + } + + [style="color:#009aC8;line-height:initial"] { + color: @sky !important; + } + + [style="color:#ffd520;line-height:initial"] { + color: @yellow !important; + } + + [style="color:#0060a9;line-height:initial"] { + color: @blue !important; + } + + table.nowraplinks:nth-child(4) > tbody:nth-child(1) > tr:nth-child(1), + .navbox-list-with-group.navbox-list.navbox-odd { + background-color: @surface0 !important; + } + + .mw-parser-output tr + tr > .navbox-abovebelow { + border-color: @base; + } + + .catlinks li { + border-left-color: @surface2; + } + + .vector-icon.mw-ui-icon-wikimedia-menu { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-ellipsis { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-appearance { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .vector-feature-zebra-design-enabled + .vector-dropdown + .vector-dropdown-label:not(.cdx-button--icon-only)::after, + .vector-icon.mw-ui-icon-wikimedia-expand { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .cdx-checkbox__input:checked:not(:indeterminate) + + .cdx-checkbox__icon::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .vector-page-titlebar + .mw-portlet-lang + .vector-dropdown-label.cdx-button--action-progressive.cdx-button--weight-quiet::after { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .vector-dropdown .vector-dropdown-label:not(.cdx-button--icon-only)::after { + @svg: escape( + '' + ); + background: url("data:image/svg+xml,@{svg}") !important; + } + + .vector-icon.mw-ui-icon-wikimedia-language-progressive { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .vector-icon.mw-ui-icon-wikimedia-language { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .mw-parser-output a.external { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .plainlinks a.external { + background: none !important; + } + + #mw-indicator-mw-helplink a { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .cdx-search-input .cdx-text-input__icon.cdx-text-input__start-icon { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + .vector-icon.mw-ui-icon-wikimedia-listBullet { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + ul { + @svg: escape( + '' + ); + list-style-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-volumeUp, + .mw-ui-icon-volumeUp::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-fullScreen { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .fancycaptcha-reload { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .popups-icon--settings { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-userAvatar { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-watchlist { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-tray { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-bell { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-user-menu-logged-in .vector-dropdown-label::after { + @svg: escape( + '' + ); + background: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-star { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-userTalk { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-sandbox { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-settings { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-unStar { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-image-progressive.oo-ui-icon-settings { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-bell { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-next { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-settings { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-expand { + @svg: escape( + ' expand ' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .oo-ui-icon-tray { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-labFlask { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .mw-ui-icon-vector-gadget-pt-darkmode { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .client-dark-mode .mw-ui-icon-vector-gadget-pt-darkmode { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-userContributions { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-logOut { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .uls-search-label, + .vector-icon.mw-ui-icon-wikimedia-search { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .mw-ui-icon-vector-gadget-pt-darkmode-sticky-header { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .cdx-message .cdx-message__icon { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-edit { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-history { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-speechBubbles { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .vector-icon.mw-ui-icon-wikimedia-editLock { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .branding-box > a:nth-child(1) > span:nth-child(1) > img:nth-child(1) { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + .panel-heading, + .mw-pt-languages-list, + .mw-pt-languages-label { + color: @text; + background-color: @base; + } + .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle, + .oo-ui-inputWidget-input, + .mw-widget-dateInputWidget-handle, + .oo-ui-menuSelectWidget { + background-color: @mantle !important; + color: @text !important; + } + .oo-ui-menuOptionWidget:hover { + background-color: @surface1; + color: @text; + } + .cdx-search-input__end-button { + background-color: @crust !important; + } + .mw-pt-languages { + border-bottom-color: @surface0; + } + .mw-pt-progress--complete::after, + .mw-pt-progress--high::after { + border-color: @accent; + background: conic-gradient(@text 0, @accent 0); + } + pre, + .oo-ui-panelLayout-framed { + border-color: @surface0; + } + #vector-page-titlebar-toc-label { + background-color: @mantle; + color: @subtext0 !important; + border-color: @subtext0 !important; + } + tbody * { + background-color: @surface0 !important; + border-color: @surface2 !important; + } + + [style*="padding: 0.5em; margin: 0.50em 0; background-color: #C1E5FF; border: thin solid #1D99F3; overflow: hidden;"] { + background-color: @sapphire !important; + color: @mantle !important; + } + [style*="padding: 0.5em; margin: 0.50em 0; background-color: #F6F6F6; border: thin solid #31363B; overflow: hidden;"] { + background-color: @rosewater !important; + color: @mantle !important; + } + } +} diff --git a/styles/wikipedia/README.md b/styles/wikipedia/README.md index 6345ac72dd..d8788b30e7 100644 --- a/styles/wikipedia/README.md +++ b/styles/wikipedia/README.md @@ -10,17 +10,16 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer -- [GitMuslim](https://github.com/GitMuslim) +- [uncenter](https://github.com/uncenter)   diff --git a/styles/wikipedia/catppuccin.user.css b/styles/wikipedia/catppuccin.user.css deleted file mode 100644 index 196e651ec5..0000000000 --- a/styles/wikipedia/catppuccin.user.css +++ /dev/null @@ -1,1635 +0,0 @@ -/* ==UserStyle== -@name Wikipedia Catppuccin -@namespace github.com/catppuccin/userstyles/styles/wikipedia -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/wikipedia -@version 0.0.21 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/wikipedia/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awikipedia -@description Soothing pastel theme for Wikipedia -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -@var checkbox highlight-redirect "Highlight redirect links" 0 -==/UserStyle== */ - -@-moz-document domain('wikipedia.org') { - @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); - - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - --ctp-rosewater: @rosewater; - --ctp-flamingo: @flamingo; - --ctp-pink: @pink; - --ctp-mauve: @mauve; - --ctp-red: @red; - --ctp-maroon: @maroon; - --ctp-peach: @peach; - --ctp-yellow: @yellow; - --ctp-green: @green; - --ctp-teal: @teal; - --ctp-sky: @sky; - --ctp-sapphire: @sapphire; - --ctp-blue: @blue; - --ctp-lavender: @lavender; - --ctp-text: @text; - --ctp-subtext1: @subtext1; - --ctp-subtext0: @subtext0; - --ctp-overlay2: @overlay2; - --ctp-overlay1: @overlay1; - --ctp-overlay0: @overlay0; - --ctp-surface2: @surface2; - --ctp-surface1: @surface1; - --ctp-surface0: @surface0; - --ctp-base: @base; - --ctp-mantle: @mantle; - --ctp-crust: @crust; - - --background-color-base: @base; - - body, - .vector-feature-zebra-design-enabled .vector-header-container .mw-header, - .vector-feature-zebra-design-enabled .mw-page-container, - .vector-feature-zebra-design-enabled .vector-pinned-container, - .vector-feature-zebra-design-enabled - .vector-dropdown - .vector-dropdown-content, - .uls-lcd, - .uls-search, - .uls-filtersuggestion, - #uls-settings-block.uls-settings-block--vector-2022.uls-settings-block--with-add-languages, - .app-badges .footer-sidebar-content, - .pure-form input[type="search"], - .suggestions-dropdown, - .cdx-menu, - .vector-header-container .mw-header, - .mw-page-container, - .vector-pinned-container, - .vector-header-container .vector-sticky-header, - .mw-mmv-image, - .mw-body, - .frb-form-wrapper, - .mw-echo-ui-placeholderItemWidget, - .oo-ui-popupWidget-popup, - .mw-echo-ui-notificationItemWidget, - .oo-ui-optionWidget-selected { - background-color: @base; - } - - body, - .mw-heading, - h1, - h2, - h3, - h4, - h5, - h6, - .vector-feature-zebra-design-enabled body, - .vector-feature-zebra-design-enabled - .vector-toc - .vector-toc-list-item-active - > .vector-toc-link, - .vector-feature-zebra-design-enabled - .vector-toc - .vector-toc-level-1-active:not(.vector-toc-list-item-expanded) - > .vector-toc-link, - .vector-feature-zebra-design-enabled - .vector-toc - .vector-toc-list-item-active.vector-toc-level-1-active - > .vector-toc-link, - .vector-menu-tabs .mw-list-item.selected a, - .vector-menu-tabs .mw-list-item.selected a:visited, - .cdx-button:enabled, - .cdx-button.cdx-button--fake-button--enabled, - .mw-footer li, - .vector-feature-zebra-design-enabled - .vector-toc - .vector-toc-level-1-active:not(.vector-toc-list-item-active) - > .vector-toc-link, - .central-featured-lang small, - .footer-sidebar-text, - .other-project-tagline, - .site-license, - .search-container .js-langpicker-label, - .langlist > ul > li, - .suggestion-title, - .cdx-menu-item--enabled .cdx-menu-item__content, - .mwe-popups .mwe-popups-extract, - .mw-body-content .mw-number-text h3, - .vector-pinnable-element .vector-menu-heading, - .vector-toc .vector-toc-list-item-active > .vector-toc-link, - .vector-toc - .vector-toc-level-1-active:not(.vector-toc-list-item-expanded) - > .vector-toc-link, - .vector-toc - .vector-toc-list-item-active.vector-toc-level-1-active - > .vector-toc-link, - .uls-empty-state .uls-empty-state__header, - .uls-empty-state .uls-empty-state__desc, - .uls-no-results-found-title, - .mw-mmv-post-image, - .mw-mmv-credit, - .frb-form-wrapper, - .mw-echo-ui-notificationItemWidget-content-message-header, - .oo-ui-labelElement, - #contentSub:not(:empty) { - color: @text !important; - } - - .mw-parser-output .fmbox { - border-color: @surface2 !important; - background-color: @base !important; - } - - .cdx-thumbnail__image { - border-color: @text; - } - - /* maths */ - .equation-box, - .equation-box * { - background: none !important; - } - img.mwe-math-fallback-image-display, - img.mwe-math-fallback-image-inline { - & when (@lookup = latte) { - filter: brightness(0) saturate(100%) invert(31%) sepia(9%) - saturate(1499%) hue-rotate(196deg) brightness(90%) contrast(85%); - } - - & when (@lookup = frappe) { - filter: brightness(0) saturate(100%) invert(92%) sepia(6%) - saturate(3753%) hue-rotate(184deg) brightness(93%) contrast(106%); - } - - & when (@lookup = macchiato) { - filter: brightness(0) saturate(100%) invert(82%) sepia(7%) - saturate(1042%) hue-rotate(193deg) brightness(103%) contrast(92%); - } - - & when (@lookup = mocha) { - filter: brightness(0) saturate(100%) invert(83%) sepia(28%) - saturate(223%) hue-rotate(190deg) brightness(99%) contrast(93%); - } - } - - .mwe-popups .mwe-popups-extract[dir="ltr"]::after { - background-image: linear-gradient( - to right, - rgba(255, 255, 255, 0), - @surface0 50% - ); - } - table { - background: @surface2 !important; - } - - tr { - background-color: @surface0 !important; - } - - th { - background: @overlay0 !important; - color: @mantle !important; - } - - .quotebox, - div.thumbinner { - background-color: @surface0 !important; - border-color: @surface2 !important; - } - - .navbox-group, - .infobox-label { - color: @text !important; - } - - .cdx-button:enabled, - .cdx-text-input__input:enabled { - color: @text; - background-color: @base; - border-color: @surface2; - &:hover { - background-color: @mantle; - border-color: @text; - color: @text; - } - } - - .vector-dropdown .vector-dropdown-content, - .header-container.header-chrome { - background-color: @mantle; - } - - .skin-vector .uls-search { - border-bottom-color: @surface2; - } - - .oo-ui-textInputWidget, - .oo-ui-inputWidget-input { - color: @text !important; - background-color: @surface1 !important; - border-color: @surface2 !important; - } - - .oo-ui-pendingElement-pending { - background-color: @base; - background-image: linear-gradient( - 135deg, - @surface0 25%, - transparent 25%, - transparent 50%, - @surface0 50%, - @surface0 75%, - transparent 75%, - transparent - ); - } - - .oo-ui-tagItemWidget.oo-ui-widget-disabled { - color: @text; - background-color: @overlay0; - text-shadow: 0 0 0 @text; - border-color: @surface0; - } - - .oo-ui-buttonElement-frameless.oo-ui-widget-enabled - > .oo-ui-buttonElement-button, - .mw-mmv-credit, - .mw-mmv-options-dialog-header, - .mw-mmv-options-text-header { - color: @text; - } - - .mw-mmv-options-text-body { - color: @subtext0; - } - - .mw-ui-input:not(:disabled) { - background-color: @surface0; - color: @text; - border-color: @surface2; - } - - .mw-ui-button { - color: @mantle; - background-color: @accent-color; - border-color: @accent-color; - } - - .imbox-delete { - border-color: @red !important; - background-color: @surface0 !important; - } - - .imbox { - background-color: @overlay0 !important; - border-color: @peach !important; - } - - .talkheader-help { - background-color: @surface1 !important; - border-color: @green !important; - } - - .assess, - .assess-NA, - .navbox-subgroup { - background: @surface0 !important; - border-color: @surface1 !important; - } - - .documentation, - .documentation-container, - .documentation-metadata { - background-color: fade(@green, 15%) !important; - } - - .ambox, - .portalborder { - background-color: @surface1 !important; - border-color: @surface2 !important; - } - - .navbox-title { - color: @text !important; - } - - .mw-highlight pre { - background: @surface0 !important; - border-width: 0; - color: @text; - } - - .mw-content-ltr.mw-highlight-lines pre, - .mw-content-ltr.content .mw-highlight-lines pre { - box-shadow: inset 2.75em 0 0 @surface1; - } - - .mw-redirect when (@highlight-redirect = 1) { - color: @green !important; - } - - .mbox-text { - color: @text !important; - } - - .sidebar-above, - .p, - .o { - color: @text !important; - } - .ni, - .mw-templatedata-doc-muted { - color: @subtext1 !important; - } - .nv, - .nn { - color: @blue !important; - } - - .sidebar-above a span { - color: @text !important; - } - - .sidebar-title-with-pretitle span { - color: @text !important; - } - - .nt { - color: @green !important; - } - - .nl { - color: @teal !important; - } - - .ambox-style { - border-left-color: @yellow !important; - } - - .mw-parser-output .mainpage-frame { - background: @surface0 !important; - border-color: @surface0 !important; - } - - .mw-parser-output .mainpage-heading-title { - background: linear-gradient( - to right, - rgba(saturate(lighten(@accent-color, 4%), -3%), 0.4), - @surface0 - ) !important; - } - - .hidden-title { - background-color: @green !important; - color: @mantle !important; - } - - .mw-mmv-post-image, - .mw-mmv-options-dialog { - background-color: @base; - color: @text; - } - .mw-mmv-image-metadata { - background-color: @base; - border-color: @base; - } - - .mw-mmv-dialog-down-arrow { - background-color: @base !important; - } - - .oo-ui-tagItemWidget.oo-ui-widget-enabled { - color: @text; - background-color: @overlay0 !important; - border-color: @surface0; - } - - ol.references li:target { - background-color: @surface2; - } - - .mw-body-content .error { - color: @red; - } - - .divbox-gray, - .infobox-above { - background-color: @surface2 !important; - border-color: @overlay0 !important; - } - - .biota > * > tr > th { - background-color: @yellow !important; - color: @mantle !important; - } - - .cmbox { - background-color: @blue !important; - } - - .wikitable { - background-color: @surface0 !important; - color: @text !important; - border-color: @surface2 !important; - } - - .wikitable > * > tr > th { - background-color: @surface1 !important; - } - - .wikitable > * > tr > td, - .wikitable > * > tr > th { - background-color: @surface0 !important; - color: @text !important; - border-color: @surface2; - } - - .mw-searchresults-has-iw .iw-result__header a { - color: @text; - } - - .mw-search-result-data { - color: @subtext0; - } - - .navbox-abovebelow { - background-color: @overlay2 !important; - border-color: @overlay2 !important; - } - - .vector-feature-zebra-design-enabled - .vector-pinnable-element - .vector-menu-heading { - color: @text; - border-bottom-color: @surface0; - } - - .mwe-popups .mwe-popups-container { - background-color: @surface0; - } - - .vector-pinnable-header-toggle-button { - background-color: @surface0; - color: @text; - &:hover { - background-color: @base; - } - } - - .mw-parser-output .navbox-list { - border-color: @surface0; - } - - .pure-button-primary-progressive, - .pure-button-primary-progressive:hover { - background-color: @accent-color; - border-color: @accent-color; - } - - .suggestion-link { - border-bottom-color: @surface0; - } - - .cdx-menu, - .skin-vector .uls-menu, - .suggestiodns-dropdown, - .cdx-search-input--has-end-button, - .vector-sticky-header, - .vector-sticky-header-context-bar, - .mw-heading2 { - border-color: @surface2; - } - - .suggestion-link.active { - background-color: fade(@accent-color, 20%); - .suggestion-title { - color: @accent-color; - } - } - - .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted, - .cdx-menu-item--enabled.cdx-menu-item--highlighted { - background-color: fade(@accent-color, 20%); - } - - .mw-echo-ui-sortedListWidget, - .mw-echo-ui-sortedListWidget-group, - .mw-echo-ui-subGroupListWidget-header { - border-color: @surface2; - } - - .mw-mmv-post-image, - .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive - .cdx-button__icon { - background-color: @crust; - } - - .cdx-text-input__input:enabled::placeholder, - .cdx-text-input__input:enabled ~ .cdx-text-input__icon-vue, - .skin-vector .uls-languagefilter, - .skin-vector .uls-lcd-region-title, - .suggestion-description, - .cdx-menu-item--enabled .cdx-menu-item__text__description, - .mw-number-text, - .boilerplate > div:nth-child(3) > span:nth-child(1), - .boilerplate > div:nth-child(4) > span:nth-child(2) { - color: @subtext0 !important; - } - - input:hover + .cdx-button.cdx-button--action-progressive { - background-color: fade(@accent-color, 12.5%); - } - - #pt-notifications-alert .mw-echo-unseen-notifications::after { - background-color: @red !important; - } - - #pt-notifications-notice .mw-echo-unseen-notifications::after { - background-color: @blue !important; - } - - a, - .mw-parser-output a.external:visited { - color: @accent-color; - &:visited { - color: @mauve; - } - } - - a.new, - .mw-parser-output .cs1-visible-error, - .vector-menu-tabs .mw-list-item.new a, - .mw-plusminus-neg { - color: @red; - } - - a.mw-selflink { - color: @text; - } - - #searchInput { - color: @text; - &:hover { - border-color: @surface2; - } - &:focus { - border-color: @accent-color; - } - } - - .pure-form input[type="search"] { - border-color: @surface2; - box-shadow: inset 0 0 0 1px @surface2; - } - - #pt-notifications-alert .mw-echo-notifications-badge::after, - #pt-notifications-notice .mw-echo-notifications-badge::after, - .mw-echo-notification-badge-nojs::after { - border-color: @crust; - background-color: @accent-color; - color: @base; - } - - h2 { - border-bottom-color: @surface2; - } - - .mw-footer { - border-top-color: @surface2; - } - - .bookshelf { - border-top-color: @surface0; - box-shadow: 0 -1px 0 @surface0; - } - - body.ns-talk .mw-parser-output .mp-toolbox, - .mw-parser-output .tmbox, - #talkheader { - border-color: fade(@yellow, 20%) !important; - background-color: fade(@yellow, 10%) !important; - } - - body.ns-talk .mw-parser-output .mp-toolbox-daily th { - border-color: fade(@yellow, 80%) !important; - background-color: fade(@yellow, 20%) !important; - } - - .fn.org { - color: @accent-color; - } - - .mw-parser-output .mp-toolbox-daily th, - .mw-parser-output td.mp-toolbox-tfl-not { - background: fade(@yellow, 20%) !important; - border-color: fade(@yellow, 20%) !important; - } - - body.ns-talk .mw-parser-output .mp-toolbox-daily { - border-color: fade(@yellow, 20%) !important; - background: none !important; - } - - .mw-parser-output tr + tr > .navbox-list, - .mw-parser-output tr + tr > .navbox-group { - border-top-color: @surface0; - } - - .ext-phonos-PhonosButton.oo-ui-buttonElement-frameless.oo-ui-buttonWidget - > .oo-ui-buttonElement-button:hover { - background-color: fade(@accent-color, 20%); - } - - .styled-select:hover { - background-color: @surface0; - } - - .lang-list-button, - .lang-list-button:hover { - background-color: @base; - border-color: @surface1; - outline-color: @base; - } - - .cdx-typeahead-search__search-footer__icon.cdx-icon { - color: @subtext0; - } - - .vector-toc - .vector-toc-level-1-active:not(.vector-toc-list-item-active) - > .vector-toc-link { - color: @text !important; - } - - .lang-list-active .lang-list-button { - background-color: @base; - border-color: @surface1; - outline-color: @base; - } - - .lang-list-button:focus { - box-shadow: inset 0 0 0 1px @accent-color; - } - - .lang-list-border { - background-color: @surface1; - } - - .infobox-header { - background-color: @surface1 !important; - color: @text !important; - } - - td[style*="background-color"], - td[style*="background-color"] * { - color: @crust !important; - } - - #toc-Services > a:nth-child(1) > div:nth-child(1) { - color: @text !important; - } - - .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-quiet.cdx-button--action-progressive, - .vector-menu-tabs .mw-list-item a, - .vector-feature-zebra-design-enabled .vector-toc .vector-toc-link, - .mw-parser-output a.extiw, - .mw-parser-output a.external, - .mw-collapsible-toggle-default .mw-collapsible-text, - .vector-feature-zebra-design-enabled - .vector-pinnable-element - .mw-list-item - a, - .vector-feature-zebra-design-enabled - .vector-dropdown-content - .mw-list-item - a, - .vector-feature-zebra-design-enabled - .vector-pinnable-element - .mw-list-item - a:not(.mw-selflink):visited, - .vector-feature-zebra-design-enabled - .vector-dropdown-content - .mw-list-item - a:not(.mw-selflink):visited, - .uls-language-block a, - .lang-list-button, - .fancycaptcha-reload, - #pt-userpage-2 a:not(.mw-selflink), - .vector-pinnable-element .mw-list-item a, - .vector-pinnable-element .mw-list-item a:not(.mw-selflink):visited, - .vector-toc .vector-toc-link, - .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive - > .oo-ui-buttonElement-button, - .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive - > .oo-ui-buttonElement-button:hover, - .vector-dropdown-content .mw-list-item a, - .vector-dropdown-content .mw-list-item a:not(.mw-selflink):visited { - color: @accent-color; - } - - .cdx-button:enabled.cdx-button--weight-primary.cdx-button--action-progressive, - .cdx-button.cdx-button--fake-button--enabled.cdx-button--weight-primary.cdx-button--action-progressive, - .mw-ui-button.mw-ui-progressive:not(:disabled), - .mw-ui-button.mw-ui-progressive:not(:disabled):hover { - background-color: @accent-color; - border-color: @accent-color; - color: @base; - } - - .mw-message-box-warning, - .boilerplate { - border-color: @accent-color !important; - background-color: fade(@accent-color, 25%) !important; - color: @text; - } - - .vector-feature-zebra-design-enabled .vector-sticky-pinned-container::after, - .vector-sticky-pinned-container::after { - background: none; - } - - .vector-feature-zebra-design-enabled .vector-pinnable-header-toggle-button { - background-color: @surface0; - color: @text; - &:hover { - background-color: @base; - } - } - - .vector-feature-zebra-design-enabled .vector-pinnable-header, - .vector-pinnable-header, - .vector-pinnable-element .vector-menu-heading { - border-bottom-color: @surface0; - } - - hr { - border-bottom-color: @surface2; - } - - .central-featured-lang strong:hover, - .link-box:hover, - .central-featured-lang :hover, - .other-project-link:hover, - .lang-list-container { - background-color: @surface0; - } - - .vector-page-toolbar-container { - box-shadow: 0 1px @surface1; - } - - .mw-parser-output .navbox-even { - background-color: @surface1; - } - - .vector-feature-zebra-design-enabled .vector-page-titlebar::after, - .mw-parser-output .wikipedia-languages-prettybars, - .vector-page-titlebar::after { - background-color: @surface2 !important; - } - - table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(2) { - background-color: fade(@accent-color, 20%) !important; - } - - .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, - .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), - .mw-collapsible-toggle-default::before, - .mw-collapsible-toggle-default::after { - color: @subtext1; - } - - .infobox, - .mw-parser-output .navbox, - .catlinks, - .mw-parser-output #mp-topbanner, - .mw-parser-output .sidebar, - .fancycaptcha-captcha-container, - .fancycaptcha-captcha-and-reload, - .cdx-checkbox__icon, - .mw-message-box, - .uls-menu .uls-no-results-view .uls-no-found-more, - .client-js - .vector-below-page-title - .vector-page-titlebar-toc - > label:nth-child(2), - .mw-parser-output .ombox, - code, - .oo-ui-buttonElement-framed.oo-ui-widget-enabled - > .oo-ui-buttonElement-button, - .mw-mmv-label, - #page-secondary-actions > a, - .mw-parser-output .ambox, - td[class="sidebar-navbar"], - textarea, - .mw-parser-output .side-box { - background-color: @surface0 !important; - color: @text !important; - border-color: @surface2 !important; - } - - #pagehistory li.selected { - background-color: @surface0 !important; - color: @text !important; - border-color: @surface2 !important; - outline-color: @surface2 !important; - } - - .cdx-checkbox__icon { - border-color: @accent-color !important; - } - - .fancycaptcha-captcha-container .mw-ui-inputูˆ .mw-ui-input:not(:disabled) { - background-color: @base !important; - color: @text !important; - border-color: @surface1; - } - - .mw-ui-input:not(:disabled), - .mw-ui-button:not(:disabled) { - background-color: @base !important; - color: @text !important; - border-color: @surface1 !important; - } - - .mw-parser-output .module-shortcutboxplain { - background-color: @base !important; - color: @text !important; - border-color: @surface2; - } - - .sidebar-pretitle, - .sidebar-title-with-pretitle, - .sidebar-list-title { - background-color: fade(@accent-color, 20%) !important; - } - - .mw-parser-output #mp-bottom, - .mw-parser-output .sidebar-collapse .sidebar-below { - border-color: @surface2; - } - - .lang-list-content, - .bookshelf .text { - background-color: @surface0; - } - - .mw-parser-output #mp-bottom .mp-h2, - .uls-language-block > ul > li:hover { - background: @surface0; - border-color: @surface2; - } - - figure[typeof~="mw:File/Thumb"] { - background-color: @mantle !important; - color: @text !important; - border-top-color: @surface2; - border-left-color: @surface2; - border-right-color: @surface2; - > figcaption { - background-color: @mantle !important; - color: @text !important; - border-bottom-color: @surface2; - border-left-color: @surface2; - border-right-color: @surface2; - } - > :not(figcaption) .mw-file-element { - color: @surface2 !important; - border-color: @surface2; - } - } - - .mw-parser-output #mp-left, - .mw-parser-output #mp-left .mp-h2, - th[class="sidebar-title"] { - background-color: fade(@green, 10%) !important; - border-color: fade(@green, 20%) !important; - } - - .mw-plusminus-pos { - color: @green !important; - } - - .mw-parser-output #mp-right, - .mw-parser-output #mp-right .mp-h2 { - background-color: fade(@blue, 10%) !important; - border-color: fade(@blue, 20%) !important; - } - - .mw-parser-output #mp-lower, - .mw-parser-output #mp-lower .mp-h2 { - background-color: fade(@mauve, 10%) !important; - border-color: fade(@mauve, 20%) !important; - } - - .mw-collapsible-toggle-default:active .mw-collapsible-text { - color: @peach; - } - - .mw-parser-output #mp-middle, - .mw-parser-output #mp-middle .mp-h2 { - background-color: fade(@pink, 10%) !important; - border-color: fade(@pink, 20%) !important; - } - - .mw-parser-output .navbox-title, - .summary, - .infobox > tbody:nth-child(1) > tr:nth-child(4) > th:nth-child(1), - .infobox > tbody:nth-child(1) > tr:nth-child(6) > th:nth-child(1) { - background-color: fade(@accent-color, 20%) !important; - } - - .infobox > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(1) { - background-color: @surface1 !important; - } - - .mw-parser-output .navbox-group, - table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(3), - table.expanded:nth-child(2) - > tbody:nth-child(1) - > tr:nth-child(4) - > td:nth-child(2) - > table:nth-child(2) - > tbody:nth-child(1) - > tr:nth-child(1), - table.expanded:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1), - table.nowraplinks:nth-child(1) - > tbody:nth-child(1) - > tr:nth-child(3) - > td:nth-child(1) - > table:nth-child(2) - > tbody:nth-child(1) - > tr:nth-child(1), - table.nowraplinks:nth-child(1) - > tbody:nth-child(1) - > tr:nth-child(4) - > td:nth-child(1) - > table:nth-child(2) - > tbody:nth-child(1) - > tr:nth-child(1), - table.nowraplinks:nth-child(1) - > tbody:nth-child(1) - > tr:nth-child(5) - > td:nth-child(1) - > table:nth-child(2) - > tbody:nth-child(1) - > tr:nth-child(1), - .navbox-abovebelow { - background-color: @surface1 !important; - } - - .mw-parser-output .tracklist > tbody { - color: inherit; - - > .tracklist-total-length * { - background-color: @overlay1; - color: @base; - } - } - - .mw-content-ltr - > table:nth-child(20) - > tbody:nth-child(1) - > tr:nth-child(2) - > td:nth-child(2) { - border-color: @surface2 !important; - background-color: @surface0 !important; - } - - .noarticletext, - #noarticletext { - background-color: @base !important; - } - - #sisterproject { - background-color: @mantle !important; - } - - [style="color:#02a64f;line-height:initial"] { - color: @green !important; - } - - [style="color:#f78e1e;line-height:initial"] { - color: @peach !important; - } - - [style="color:#77278b;line-height:initial"] { - color: @mauve !important; - } - - [style="color:#87746a;line-height:initial"] { - color: @maroon !important; - } - - [style="color:#009aC8;line-height:initial"] { - color: @sky !important; - } - - [style="color:#ffd520;line-height:initial"] { - color: @yellow !important; - } - - [style="color:#0060a9;line-height:initial"] { - color: @blue !important; - } - - table.nowraplinks:nth-child(4) > tbody:nth-child(1) > tr:nth-child(1), - .navbox-list-with-group.navbox-list.navbox-odd { - background-color: @surface0 !important; - } - - .mw-parser-output tr + tr > .navbox-abovebelow { - border-color: @base; - } - - .catlinks li { - border-left-color: @surface2; - } - - /* Fundraising banner */ - .frb-btn, - .frb-label { - color: @text; - background-color: @base; - border-color: @overlay0; - } - - input[type="radio"]:checked + .frb-btn, - input[type="radio"]:checked + .frb-label, - .frb-btn:hover, - .frb-label:hover { - color: @base; - background-color: @accent-color; - border-color: @accent-color; - } - - #frb-main { - --wmui-base100: @base; - --wmui-base0: @text; - --frb-body: @text; - --frb-muted: @subtext0; - --frb-link: @subtext0; - --frb-link-hover: @text; - --frb-error: @red; - --frb-submit: @accent-color; - --frb-submit-hover: darken(@accent-color, 10%); - - svg.frb-message-icon > g { - circle { - fill: @yellow; - } - path { - fill: @base; - } - } - - .frb-message { - background-color: @green; - border-color: @green; - } - - .frb-message::after { - border-left-color: @green; - } - } - - #frb-inline { - --wmui-base100: @base; - --frb-primary: @red; - --frb-link: @accent-color; - --frb-muted: @subtext0; - --frb-muted-hover: @text; - --frb-body: @text; - --frb-error: @red; - --wmui-red-dark: @red; - --wmui-red-light: @red; - --wmui-green-dark: @green; - --wmui-green-light: @green; - --frb-submit: @accent-color; - --frb-submit-hover: darken(@accent-color, 10%); - - .frb-inline-topbar { - color: @text; - - svg circle { - fill: @yellow; - } - - svg path { - fill: @base; - } - } - - .frb-btn-cta { - background-color: @accent-color !important; - border-color: @accent-color !important; - color: @base !important; - } - - .frb-btn-simple { - color: @accent-color !important; - } - - .frb-monthly-pitch { - color: @blue; - } - - .frb-optin-no-prompt { - color: @base; - } - - .frb-cta-hiddenmessage { - background-color: @red; - color: @base; - } - } - - #frb-nag { - --frb-primary-light: @base; - --frb-body: @text; - --wmui-accent-dark: @subtext0; - --frb-link-hover: @text; - - span.frb-donate-button { - color: @base; - background-color: @red; - - &:hover { - color: @base; - background-color: darken(@red, 10%); - } - } - - svg.frb-icon-close > g { - stroke: @subtext0; - - &:hover { - stroke: @text; - } - } - } - - .frb-nag:not(#frb-nag) { - --frb-message-background: @base; - --frb-message-border: @red; - --frb-message: @text; - border-color: @surface0; - background: @base; - box-shadow: none; - - #nag-rml-btn { - background-color: transparent; - border-color: transparent; - color: @subtext0; - } - - #nag-yes-btn { - background-color: @accent-color; - border-color: @accent-color; - color: @base; - } - } - - .frb-btn-cta-label::after { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .frb-back { - @svg-raw: ''; - @svg: escape(@svg-raw); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .frb-close { - @svg-raw: ''; - @svg: escape(@svg-raw); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .sprite { - @svg: escape( - '' - ); - background-image: linear-gradient(transparent, transparent), - url("data:image/svg+xml,@{svg}"); - } - - .mw-logo-wordmark { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .mw-logo-tagline { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-menu { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-ellipsis { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-appearance { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - .vector-feature-zebra-design-enabled - .vector-dropdown - .vector-dropdown-label:not(.cdx-button--icon-only)::after, - .vector-icon.mw-ui-icon-wikimedia-expand { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .cdx-checkbox__input:checked:not(:indeterminate) - + .cdx-checkbox__icon::before { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .vector-page-titlebar - .mw-portlet-lang - .vector-dropdown-label.cdx-button--action-progressive.cdx-button--weight-quiet::after { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .vector-dropdown .vector-dropdown-label:not(.cdx-button--icon-only)::after { - @svg: escape( - '' - ); - background: url("data:image/svg+xml,@{svg}") !important; - } - - .vector-icon.mw-ui-icon-wikimedia-language-progressive { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .vector-icon.mw-ui-icon-wikimedia-language { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .mw-parser-output a.external { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .plainlinks a.external { - background: none !important; - } - - #mw-indicator-mw-helplink a { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - [alt="Edit this at Wikidata"] { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}") !important; - } - - .cdx-search-input .cdx-text-input__icon.cdx-text-input__start-icon { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - .vector-icon.mw-ui-icon-wikimedia-listBullet { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}") !important; - } - - ul { - @svg: escape( - '' - ); - list-style-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-volumeUp, - .mw-ui-icon-volumeUp::before { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-fullScreen { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .fancycaptcha-reload { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .popups-icon--settings { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-userAvatar { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-watchlist { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-tray { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-bell { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-user-menu-logged-in .vector-dropdown-label::after { - @svg: escape( - '' - ); - background: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-star { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-userTalk { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-sandbox { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-settings { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-unStar { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-image-progressive.oo-ui-icon-settings { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-bell { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-next { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-settings { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-expand { - @svg: escape( - ' expand ' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .oo-ui-icon-tray { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-labFlask { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .mw-ui-icon-vector-gadget-pt-darkmode { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .client-dark-mode .mw-ui-icon-vector-gadget-pt-darkmode { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-userContributions { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-logOut { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .uls-search-label, - .vector-icon.mw-ui-icon-wikimedia-search { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .mw-ui-icon-vector-gadget-pt-darkmode-sticky-header { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .cdx-message .cdx-message__icon { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-edit { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-history { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-speechBubbles { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .vector-icon.mw-ui-icon-wikimedia-editLock { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .branding-box > a:nth-child(1) > span:nth-child(1) > img:nth-child(1) { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/wikipedia/catppuccin.user.less b/styles/wikipedia/catppuccin.user.less new file mode 100644 index 0000000000..6e4aa51004 --- /dev/null +++ b/styles/wikipedia/catppuccin.user.less @@ -0,0 +1,796 @@ +/* ==UserStyle== +@name Wikipedia Catppuccin +@namespace github.com/catppuccin/userstyles/styles/wikipedia +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/wikipedia +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/wikipedia/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awikipedia +@description Soothing pastel theme for Wikipedia +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +@var checkbox highlight-redirect "Highlight redirect links" 0 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("wikipedia.org"), + domain("wiktionary.org"), + domain("www.mediawiki.org"), + domain("auth.wikimedia.org"), + domain("wikiversity.org"), + domain("wikisource.org"), + domain("meta.wikimedia.org"), + domain("wikidata.org"), + domain("wikibooks.org"), + domain("species.wikimedia.org"), + domain("commons.wikimedia.org"), + domain("wikivoyage.org"), + domain("wikinews.org"), + domain("wikiquote.org") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + :root.skin-theme-clientpref-os, + .vector-feature-night-mode-enabled, + .skin-invert, + .notheme { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + :root.skin-theme-clientpref-night { + #catppuccin(@darkFlavor); + } + + :root.skin-theme-clientpref-day { + #catppuccin(@lightFlavor); + } + + html.skin-theme-clientpref-night, html.skin-theme-clientpref-os { + /* Logo */ + .skin-invert-image img, + .skin-invert, + .oo-ui-iconElement-icon:not( + .oo-ui-image-progressive, + .oo-ui-image-destructive, + .oo-ui-checkboxInputWidget-checkIcon, + .oo-ui-image-invert, + .mw-no-invert + ), + .oo-ui-indicatorElement-indicator { + filter: none; + } + } + + /* MediaWiki only applies the following overrides on dark and automatic appearance settings, leaving broken elements with the light appearance. */ + + .hatnote:not(.notheme), + .dablink:not(.notheme), + .rellink:not(.notheme), + .infobox:not(.notheme) { + color: var(--color-base) !important; + background-color: var(--background-color-interactive-subtle) !important; + } + .infobox td:not(.notheme), + .infobox th:not(.notheme), + .infobox-above:not(.notheme), + .infobox p:not(.notheme), + .infobox > div:not(.notheme), + .infobox caption:not(.notheme), + .infobox--frwiki td:not(.notheme), + .infobox--frwiki th:not(.notheme), + .infobox--frwiki p:not(.notheme), + .infobox--frwiki > div:not(.notheme), + .infobox--frwiki caption:not(.notheme), + .sinottico th:not(.notheme), + .infobox-header:not(.notheme), + .skin-nightmode-reset-color:not(.notheme), + .navigation-box:not(.notheme), + .metadata:not(.notheme), + .quotebox:not(.notheme), + .side-box:not(.notheme), + .side-box div:not(.notheme), + .navbox:not(.notheme), + .navbox-subgroup:not(.notheme), + .navbox-group:not(.notheme), + .navbox-even:not(.notheme), + .navbox-abovebelow:not(.notheme), + .navbox-title:not(.notheme) { + background: inherit !important; + color: inherit !important; + border-color: var(--border-color-subtle) !important; + } + .ns-100 .mw-parser-output :not(.notheme, a) { + background: inherit !important; + color: inherit !important; + border-color: var(--border-color-subtle) !important; + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --color-base: @text; + --color-base--hover: @text; + --color-emphasized: @text; + --color-subtle: @subtext0; + --color-inverted: @crust; + --color-inverted-fixed: @crust; + --color-progressive: @accent; + --color-progressive--hover: darken(@accent, 5%); + --color-progressive--active: darken(@accent, 5%); + --color-progressive--focus: darken(@accent, 5%); + --color-destructive: @red; + --color-destructive--hover: @maroon; + --color-destructive--active: @maroon; + --color-visited: @lavender; + --color-destructive--visited: #b97876; + --color-error: @red; + --color-warning: @yellow; + --color-success: @green; + --color-notice: @text; + --color-icon-error: @red; + --color-icon-warning: @yellow; + --color-icon-success: @green; + --color-icon-notice: @subtext0; + --color-content-added: @green; + --color-content-removed: @maroon; + --color-placeholder: @subtext0; + --color-disabled: @overlay2; + --box-shadow-color-base: #fff; + --box-shadow-color-inverted: #000; + --box-shadow-color-progressive--focus: @accent; + --background-color-interactive: @surface0; + --background-color-interactive-subtle: @surface0; + --background-color-interactive-subtle--hover: @surface1; + --background-color-disabled: @overlay2; + --background-color-disabled-subtle: @surface0; + --background-color-progressive: @accent; + --background-color-progressive-subtle: fade(@accent, 10%); + --background-color-destructive-subtle: #421211; + --background-color-progressive--active: fade(@accent, 70%); + --background-color-progressive--hover: fade(@accent, 70%); + --background-color-progressive--focus: fade(@accent, 70%); + --background-color-error: @red; + --background-color-error--hover: @maroon; + --background-color-error--active: @maroon; + --background-color-error-subtle: fade(@red, 20%); + --background-color-warning-subtle: fade(@yellow, 20%); + --background-color-success-subtle: fade(@green, 20%); + --background-color-notice-subtle: @surface0; + --background-color-content-added: #2a4b8d; + --background-color-content-removed: #a66200; + --background-color-backdrop-light: rgba(0, 0, 0, 0.65); + --background-color-backdrop-dark: rgba(255, 255, 255, 0.65); + --background-color-base: @base; + --background-color-neutral: @base; + --background-color-neutral-subtle: @surface0; + --background-color-inverted: @text; + --background-color-input-binary--checked: @accent; + --border-base: 1px solid @surface0; + --border-subtle: 1px solid @surface0; + --border-color-base: @surface0; + --border-color-interactive: @surface2; + --border-color-interactive--hover: @overlay0; + --border-color-disabled: #54595d; + --border-color-subtle: @surface1; + --border-color-muted: @surface0; + --border-color-inverted: #101418; + --border-color-error: @red; + --border-color-error--hover: @maroon; + --border-color-warning: @yellow; + --border-color-success: @green; + --border-color-notice: @surface2; + --border-color-content-added: @blue; + --border-color-content-removed: @peach; + --border-color-progressive: @accent; + --border-color-progressive--active: @accent; + --border-color-progressive--hover: @accent; + --border-color-progressive--focus: @accent; + + /* Wiktionary */ + --wikt-palette-indigo: @lavender; + --wikt-palette-lightindigo: fade(@lavender, 40%); + --wikt-palette-lighterblue: fade(@blue, 20%); + --wikt-palette-dulllightblue: fade(@blue, 40%); + --wikt-palette-grey: @subtext0; + --wikt-palette-lightergrey: fade(@subtext0, 40%); + + /* Other */ + + .infobox { + border-color: @surface2; + } + + [style="color:white;"], [style*="color:#ffffff"] { + color: @text !important; + } + .mw-collapsible-toggle-default { + &::before, &::after { + color: @subtext0; + } + } + + a { + &:focus { + outline-color: @accent; + } + } + + .mw-parser-output { + a.external { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + /* Wikipedia Home */ + #mp-topbanner { + background-color: @base; + border-color: @surface1; + } + #mp-left { + background-color: fade(@green, 20%); + border-color: @green; + + .mp-h2 { + background-color: fade(@green, 40%); + border-color: fade(@green, 40%); + } + } + #mp-right { + background-color: fade(@blue, 20%); + border-color: @blue; + + .mp-h2 { + background-color: fade(@blue, 40%); + border-color: fade(@blue, 40%); + } + } + #mp-lower { + background-color: fade(@lavender, 20%); + border-color: @lavender; + + .mp-h2 { + background-color: fade(@lavender, 40%); + border-color: fade(@lavender, 40%); + } + } + #mp-bottom { + border-color: @overlay0; + + .mp-h2 { + background-color: fade(@accent, 40%); + border-color: fade(@accent, 40%); + } + } + .wikipedia-languages-prettybars { + background-color: @surface2; + } + + /* MediaWiki Home */ + .mainpage_box { + border-color: @surface2; + + .header_icon { + filter: @text-filter; + } + + .items { + border-top-color: @surface1; + } + } + .nmbox { + background-color: @surface0; + border-color: @surface2; + + .nmbox-header { + background-color: @base; + border-color: @surface1; + } + } + /* MediaWiki Pages */ + .tpl-downloadmediawiki-icon { + filter: @crust-filter; + } + .note-info { + filter: @blue-filter; + color: @text; + background-color: fade(@blue, 20%); + } + .note-warn { + filter: @yellow-filter; + color: @text; + background-color: fade(@yellow, 20%); + } + } + + /* Math equations */ + .mwe-math-element img.skin-invert { + filter: @text-filter; + } + + /* OOUI */ + .oo-ui-indicator-down { + filter: @text-filter !important; + } + .oo-ui-image-invert.oo-ui-icon-check, .mw-ui-icon-check-invert::before { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + /* View source */ + textarea { + background-color: @mantle; + color: @text; + } + + /* View history */ + .flaggedrevs-color-1 { + background-color: fade(@blue, 10%); + } + + /* Language search and settings */ + .uls-search, + .uls-filtersuggestion, + .uls-lcd, + #uls-settings-block.uls-settings-block--vector-2022.uls-settings-block--with-add-languages, + #language-settings-dialog, + #languagesettings-settings-panel, + .uls-language-settings-close-block { + background-color: @mantle; + } + .uls-language-block a { + color: @accent; + } + .uls-search-label, + #uls-settings-block.uls-settings-block--vector-2022 + > button.uls-add-languages-button, + #uls-settings-block.uls-settings-block--vector-2022 + > button.uls-language-settings-button, + #uls-settings-block.uls-settings-block--vector-2022 + > button.uls-language-settings-button:hover, + .uls-icon-close, + .uls-languagefilter-clear { + filter: @text-filter; + } + .uls-sub-panel, .language-settings-buttons { + border-color: @surface1; + } + .uls-language-block > ul > li:hover { + background-color: @surface0; + } + .languagesettings-menu .menu-section.active { + background-color: @surface1; + } + + /* Page preview */ + .mwe-popups .mwe-popups-extract[dir="ltr"]::after { + background-image: linear-gradient(to right, transparent, @base 50%); + } + .mwe-popups .mwe-popups-extract[dir="rtl"]::after { + background-image: linear-gradient(to left, transparent, @base 50%); + } + + /* Icons */ + + img[alt="Edit this on Wikidata"], + img[alt="Edit this at Wikidata"] { + filter: @accent-filter; + } + + /* Logos */ + + .mw-logo-wordmark[alt="Wikipedia"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + + + .mw-logo-tagline { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + + .mw-logo-icon { + &[src$="wikidatawiki.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[src$="commonswiki.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[src$="wikivoyage.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[src$="wikiquote.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[src$="wikiversity.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[src$="mediawikiwiki.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + + .mw-logo-wordmark { + &[alt="Wikidata"], + &[alt="Wikimedia Commons"] { + filter: @text-filter; + } + &[alt="Wikivoyage"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[alt="Wikinews"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[alt="Wikiquote"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[alt="Wikiversity"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + &[alt="MediaWiki"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } + + .vector-page-titlebar + .mw-portlet-lang + .vector-dropdown-label.cdx-button--action-progressive.cdx-button--weight-quiet::after { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + filter: none; + } + + .vector-icon { + filter: none !important; + + &.mw-ui-icon-wikimedia-menu { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-ellipsis { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-appearance { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-expand { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + &.mw-ui-icon-wikimedia-language-progressive { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + &.mw-ui-icon-wikimedia-language { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + &.mw-ui-icon-wikimedia-listBullet { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}") !important; + } + + &.mw-ui-icon-wikimedia-fullScreen { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-userAvatar { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-watchlist { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-tray { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-bell { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-star { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-userTalk { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-sandbox { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-settings { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-unStar { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-labFlask { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-userContributions { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-logOut { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-search { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-edit { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-history { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-speechBubbles { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + &.mw-ui-icon-wikimedia-editLock { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + } + } + + /* Root */ + :root:has(.central-featured) { + #catppuccin(@lightFlavor); + + &, body { + color: @text; + background-color: @base; + + .svg-Wikipedia_wordmark { + filter: @text-filter; + } + + .central-featured-lang small, + .other-project-tagline, + .site-license, + .footer-sidebar-text { + color: @subtext1; + } + + .central-featured-lang :hover { + background-color: @surface1; + } + + .other-project-link:hover { + background-color: @surface1; + } + + .search-container { + #searchInput { + color: @text; + background-color: @mantle; + border-color: @overlay2; + box-shadow: none; + + &:focus { + border-color: @accent; + } + } + + .js-langpicker-label { + color: @subtext0; + } + .styled-select:hover { + background-color: @surface1; + } + .sprite.svg-arrow-down { + filter: @text-filter; + } + + button[type="submit"] { + background-color: @accent; + border-color: @accent; + + .svg-search-icon { + filter: @crust-filter; + } + } + + .suggestions-dropdown { + background-color: @mantle; + border-color: @overlay2; + + .suggestion-link { + border-bottom-color: @overlay0; + + &.active { + background-color: fade(@accent, 10%); + } + + .suggestion-thumbnail { + @svg: escape( + '', + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .suggestion-title { + color: @text; + } + } + } + } + + hr { + border-bottom-color: @surface1; + } + + .lang-list-border { + background-color: @surface2; + } + .lang-list-button { + background-color: @mantle; + color: @accent; + outline-color: @mantle; + border-color: @surface2; + + .svg-language-icon, + .svg-arrow-down-blue { + filter: @accent-filter; + } + + &:focus { + box-shadow: inset 0 0 0 1px @accent; + } + } + .lang-list-container { + background-color: @surface0; + + .bookshelf { + border-top-color: @overlay1; + box-shadow: none; + + .text { + color: @text; + background-color: @surface2; + } + } + } + } + } +} diff --git a/styles/wikipedia/preview.webp b/styles/wikipedia/preview.webp deleted file mode 100644 index 05cdf89dc7..0000000000 --- a/styles/wikipedia/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:502f72844f21208ca004414747a9e1ea0330d936937ca2b493d08168bd449d87 -size 486506 diff --git a/styles/wikiwand/README.md b/styles/wikiwand/README.md index d34e84ca99..125f922606 100644 --- a/styles/wikiwand/README.md +++ b/styles/wikiwand/README.md @@ -10,13 +10,12 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). ## ๐Ÿ’ Current Maintainer diff --git a/styles/wikiwand/catppuccin.user.css b/styles/wikiwand/catppuccin.user.css deleted file mode 100644 index 1da864012a..0000000000 --- a/styles/wikiwand/catppuccin.user.css +++ /dev/null @@ -1,398 +0,0 @@ -/* ==UserStyle== -@name Wikiwand Catppuccin -@namespace github.com/catppuccin/userstyles/styles/wikiwand -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/wikiwand -@version 1.2.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/wikiwand/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awikiwand -@description Soothing pastel theme for Wikiwand -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain("wikiwand.com") { - .root_light__Inhun { - #catppuccin(@lightFlavor, @accentColor); - } - - .root_earth__3sDLo, - .root_dark__oGh5X, - .root_auto__Xg3qF, - .root_grey__eKz_h { - #catppuccin(@darkFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - --color-bg: @base; - --color-text: @text; - --color-grey: @subtext0; - --color-table: @surface0; - --color-table-border: @surface0; - --color-link: @accent-color; - --toc-bg: @mantle; - --toc-text: @text; - --toc-border: @crust; - --tag-bg: @surface0; - --tag-text: @overlay1; - --navbar-bg: @crust; - --navbar-border: @mantle; - --navbar-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2), - 0px 5px 10px rgba(0, 0, 0, 0.3); - - .popover_arrow__pQSsX::before { - background-color: @surface1; - border-color: @surface2; - } - *[class*="dropdown_item"] { - color: @text; - } - .popover_popover__jgyGp { - background-color: @surface1; - border-color: @surface2; - border-radius: 0.625em; - box-shadow: - 0 0 2px rgba(0, 0, 0, 0.1), - 0 5px 10px rgba(0, 0, 0, 0.1); - } - .draggable_wrapper__YB014 { - background-color: @surface1; - border-color: @surface0; - box-shadow: - 0 0 2px rgba(0, 0, 0, 0.2), - 0 10px 20px rgba(0, 0, 0, 0.3); - color: @text; - } - .checkbox_checkbox__uXwIZ { - width: 1.125em; - height: 1.125em; - border-radius: 0.125em; - border-color: @surface1; - background-color: @surface2; - position: relative; - } - .checkbox_checkbox__uXwIZ::before { - background-color: @accent-color; - } - svg.audio_icon__eZ5Bx { - color: @text; - } - .checkbox_label__V5gon, - .audio_select__kmOPL { - color: @subtext0 !important; - } - .draggable_header__bfxdq { - border-color: @surface1 !important; - } - .footer_donation__Cje_Q { - display: none !important; - } - .dropdown_content__4NAxl { - background-color: @surface1; - border-color: @surface2; - } - p.settings_setLabel__NrVBx:nth-child(3), - article.settings_section__vRaq_:nth-child(1) { - color: @text; - } - .toggle_label__y7mDQ { - color: @text; - } - .toggle_bg__Qn4Oc { - background-color: @accent-color; - } - .toggle_label__y7mDQ.toggle_active__l_k3F { - color: @base; - } - .toggle_label__y7mDQ:not(.toggle_active__l_k3F):hover { - color: @accent-color; - } - .themeBtn_wrapper__KTkHk.themeBtn_active__4gb_I, - .themeBtn_wrapper__KTkHk:hover { - color: @accent-color; - } - .themeBtn_label__GyvdH { - color: @subtext1; - } - .toggle_toggle__jzkKG { - background-color: @surface2; - } - .settings_reset__GO2x4 { - border-top-color: @surface2; - } - .settings_resetBtn__3yLrG { - color: @text; - } - .settings_resetBtn__3yLrG:not(.settings_disabled__7X7Nu):hover { - color: @red; - } - .themeBtn_label__GyvdH span { - background-color: @surface2; - border-color: @surface2; - } - .themeBtn_wrapper__KTkHk.themeBtn_active__4gb_I - .themeBtn_demoWrapper__fdi7G { - border-color: @accent-color !important; - } - div.themeBtn_wrapper__KTkHk:nth-child(3) - > p:nth-child(2) - > span:nth-child(1)::before { - background-color: @accent-color; - } - .item_item__uLhiz.item_active__4kaIV { - color: @accent-color; - } - .item_item__uLhiz.item_active__4kaIV, - .item_item__uLhiz:hover { - background-color: @surface2; - } - .languages_wrapper__1Ad3R { - color: @subtext1; - } - .input_input__uGeT_ { - color: @text; - background-color: @overlay0; - border-radius: 4px; - } - .input_wrapper__aeypb { - border-color: transparent !important; - } - .action_action___vLQg { - color: @accent-color; - } - .share_btn__9IJpe { - color: @text; - background-color: @surface2; - border-color: @surface2; - } - .share_btn__9IJpe span { - color: @text; - } - .footer_socialWrapper__R1iSQ *:hover, - .footer_link__TA4rr:hover { - color: @accent-color; - } - .list_wrapper__TYM2l, - .input_wrapper__aeypb { - background-color: @surface1; - color: @text; - } - .input_wrapper__aeypb * { - color: @text; - } - .list_item_VVizU:hover { - background-color: @surface2 !important; - } - .search_header__gqnk7.search_article__L3Khv { - background: transparent; - } - .item_item__jj0Ue { - color: @text; - } - .item_item__jj0Ue:hover { - background-color: @surface2 !important; - border-color: @accent-color; - } - .modal_header__t094_ { - border-color: @surface1; - color: @text; - } - .list_item__VVizU.list_active__ahAYX, - .list_item__VVizU:hover { - background-color: @surface2; - } - .button_btn__ln0Hv { - color: @accent-color; - background-color: @surface0; - } - - .navbarMobile_footer__y5Kwi.navbarMobile_dark__eIcxf - .navbarMobile_icons__tirr9, - .navbarMobile_footer__y5Kwi.navbarMobile_dark__eIcxf - .navbarMobile_toc__iPfvP, - .navbarMobile_footer__y5Kwi.navbarMobile_grey__5dmnP - .navbarMobile_icons__tirr9, - .navbarMobile_footer__y5Kwi.navbarMobile_grey__5dmnP - .navbarMobile_toc__iPfvP { - background-color: @surface1; - color: @text; - } - .tooltip_tooltip_QQr79.tooltip_dark_ZWBHd, - .tooltip_tooltip_QQr79.tooltip_dark_ZWBHd > * > * { - background-color: @crust !important; - } - .dropdown_item__yrn67:hover { - background-color: @surface2; - color: @accent-color; - border-color: @accent-color !important; - } - .audio_dot__jeWOr.audio_active__li6PM { - background-color: @accent-color; - } - .audio_dot__jeWOr { - background-color: @surface2; - box-shadow: 6.666px 0 0 0 @surface2; - border-radius: 0; - border-color: @surface2 !important; - } - .gallery_icon__7LOBi { - background-color: @surface2; - color: @subtext1; - } - .gallery_disable__1QuKw { - background-color: @surface0; - } - .gallery_icon__7LOBi:hover { - background-color: @overlay0; - color: @accent-color; - } - .gallery_nav__BEeM3 { - background-color: @base; - } - .image_wrapper__Dq3Jq { - background-color: @crust; - } - .stage_caption__BvSjQ { - color: @subtext0; - } - .gallery_wrapper__1a7bM, - .thumbnails_wrapper__1Q5be { - background-color: @mantle !important; - } - .thumbnails_thumbnail__H4tNf { - background-color: #fafafa; - border-radius: 4px; - padding: 4px; - } - - .list_loading__j43_R { - color: @accent-color; - } - .info_wrapper__HpdJH, - .info_arrow__ehjUI { - background-color: @surface1; - border-color: @surface1; - } - - .info_wrapper__HpdJH::after { - background: linear-gradient(180deg, hsla(0, 0%, 98%, 0), @surface1 90%); - } - .list_item__VVizU.list_active__ahAYX { - color: @accent-color; - } - .item_star__arENF, - .item_article__sLPDb, - .icon_icon__0vohI { - color: @subtext1; - } - .item_star__arENF.item_active__4kaIV { - color: @yellow; - } - .action_action___vLQg.action_remove__z6g_k { - color: @text; - } - .action_action___vLQg:not(.action_limit__u0EDs):hover.action_remove__z6g_k { - color: @accent-color; - } - .item_remove__f1A5k { - background-color: @surface1; - } - .item_remove__f1A5k span, - .item_remove__f1A5k svg { - color: @red; - } - caption { - background-color: @surface0 !important; - border-color: @surface0 !important; - } - .summary_wordtuneWrapper__21QxG > img:nth-child(2) { - background-color: @accent-color; - } - code > a { - color: @accent-color !important; - } - table * { - background-color: @surface0 !important; - color: @text !important; - border-color: @surface2 !important; - } - table { - background-color: @surface0 !important; - border-color: transparent !important; - } - a.wl { - color: @accent-color !important; - } - .summary_footer__Lk6z7 > span:nth-child(1), - .input_icon__He3sV, - .item_star__arENF.item_active__4kaIV * { - color: @accent-color !important; - fill: @accent-color !important; - } - .wikitable tr::before { - background-color: @surface0 !important; - border-color: @surface2 !important; - } - .infobox .mw-ref { - background: transparent !important; - * { - color: @accent-color !important; - } - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/wikiwand/catppuccin.user.less b/styles/wikiwand/catppuccin.user.less new file mode 100644 index 0000000000..960ecdc86b --- /dev/null +++ b/styles/wikiwand/catppuccin.user.less @@ -0,0 +1,88 @@ +/* ==UserStyle== +@name Wikiwand Catppuccin +@namespace github.com/catppuccin/userstyles/styles/wikiwand +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/wikiwand +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/wikiwand/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Awikiwand +@description Soothing pastel theme for Wikiwand +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("wikiwand.com") { + @import url("https://python.catppuccin.com/pygments/catppuccin-variables.important.css"); + + .theme-system { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + .theme-light, + .theme-desert, + .theme-calmness { + #catppuccin(@lightFlavor); + } + .theme-dark, + .theme-black, + .theme-deepOcean, + .theme-nature { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + #lib.css-variables(); + + --color-bg: @base !important; + --color-text: @text !important; + --color-grey: @subtext1 !important; + --color-accent: @accent !important; + --color-highlight: @surface2 !important; + --color-ash: @surface2 !important; + --color-border: @surface2 !important; + --color-blue-bg: @surface1 !important; + --color-blue-text: @blue !important; + --color-purple-bg: @surface1 !important; + --color-purple-text: @mauve !important; + --color-green-bg: @surface1 !important; + --color-green-text: @green !important; + --color-orange-bg: @surface1 !important; + --color-orange-text: @peach !important; + --color-table: @surface0 !important; + --color-link: @accent !important; + --color-score-A: @green !important; + --color-score-B: @mauve !important; + --color-score-C: @peach !important; + --color-score-F: @red !important; + --color-score-NA: var(--color-grey) !important; + --grad: linear-gradient(-45deg, @peach, @blue, @pink, @yellow) !important; + --box-shadow: 0px 1px 4px 1px @crust !important; + --box-shadow-dark: + 0px 0px 1px 1px @crust, 0px 1px 5px 2px @crust !important; + --box-shadow-strong: 0px 1px 5px 2px @crust !important; + --backdrop-bg: @base !important; + --backdrop-bg-ash: fade(@surface1, 50%) !important; + + .mw-no-invert * { + color: @crust !important; + } + + .notheme * { + --color-text: auto; + --color-link: auto; + } + } +} diff --git a/styles/wikiwand/preview.webp b/styles/wikiwand/preview.webp deleted file mode 100644 index f2e3f94875..0000000000 --- a/styles/wikiwand/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9db82b5e08a75dc83f4c1c7a64e383e281150f0f1dc3925678e7b9aefd889a24 -size 1079808 diff --git a/styles/youtube/README.md b/styles/youtube/README.md index 6892c82d70..1850891aaa 100644 --- a/styles/youtube/README.md +++ b/styles/youtube/README.md @@ -10,24 +10,20 @@

- +

-

- -

+## Usage +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). -## ๐Ÿ™‹ FAQ -- Q: **What does the 'Enable for black bars' option mean?**\ - A: It's available in case you have an OLED display. If you have one, you might want to enable this. ## ๐Ÿ’ Current Maintainers -- [Isabel](https://github.com/isabelroses) +- [isabelroses](https://github.com/isabelroses) - [uncenter](https://github.com/uncenter) ## ๐Ÿ’– Past Maintainer -- [Elkrien](https://github.com/elkrien) +- [elkrien](https://github.com/elkrien)   diff --git a/styles/youtube/catppuccin.user.css b/styles/youtube/catppuccin.user.css deleted file mode 100644 index 1ef781caef..0000000000 --- a/styles/youtube/catppuccin.user.css +++ /dev/null @@ -1,1356 +0,0 @@ -/* ==UserStyle== -@name YouTube Catppuccin -@namespace github.com/catppuccin/userstyles/styles/youtube -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/youtube -@version 4.2.0 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/youtube/catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ayoutube -@description Soothing pastel theme for YouTube -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] - -@var checkbox logo "Enable YouTube logo" 1 -@var checkbox oled "Enable black bars" 0 -==/UserStyle== */ - -@-moz-document domain('youtube.com') { - :root[dark] { - #catppuccin(@darkFlavor, @accentColor); - } - :root:not([dark]) { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - @text-filter: @catppuccin[@@lookup][@text_filter]; - - @white: if(@lookup = latte, @base, @text); - @black: if(@lookup = latte, @text, @base); - - color: @text; - background: @base !important; - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - &, - [dark], - [system-icons], - [darker-dark-theme], - &[dark], - &[system-icons], - &[darker-dark-theme] { - --yt-spec-white-1: @text !important; - --yt-spec-white-2: @subtext0 !important; - --yt-spec-white-3: @subtext1 !important; - --yt-spec-white-4: darken(@subtext1, 5%) !important; - --yt-spec-black-1: @overlay1 !important; - --yt-spec-black-2: @overlay0 !important; - --yt-spec-black-3: @surface2 !important; - --yt-spec-black-4: @surface1 !important; - --yt-spec-black-pure: @surface0 !important; - --yt-spec-grey-1: @text !important; - --yt-spec-grey-2: @subtext0 !important; - --yt-spec-grey-3: @subtext1 !important; - --yt-spec-grey-4: @overlay2 !important; - --yt-spec-grey-5: @overlay1 !important; - --yt-brand-youtube-red: @accent-color !important; - --yt-brand-medium-red: @accent-color !important; - --yt-brand-light-red: @accent-color !important; - --yt-spec-red-30: @peach !important; - --yt-spec-red-70: @red !important; - --yt-spec-pale-blue: @sky !important; - --yt-spec-light-blue: @sky !important; - --yt-spec-dark-blue: @sapphire !important; - --yt-spec-navy-blue: @teal !important; - --yt-spec-light-green: @green !important; - --yt-spec-dark-green: @green !important; - --yt-spec-yellow: @peach !important; - --yt-spec-black-pure-alpha-5: @subtext0 !important; - --yt-spec-black-pure-alpha-10: @overlay2 !important; - --yt-spec-black-pure-alpha-15: fadeout(@crust, 0.15) !important; - --yt-spec-black-pure-alpha-30: fadeout(@crust, 0.3) !important; - --yt-spec-black-pure-alpha-60: fadeout(@crust, 0.6) !important; - --yt-spec-black-pure-alpha-80: fadeout(@crust, 0.8) !important; - --yt-spec-black-1-alpha-98: fadeout(@crust, 0.98) !important; - --yt-spec-black-1-alpha-95: fadeout(@crust, 0.95) !important; - --yt-spec-white-1-alpha-10: fadeout(@text, 0.1) !important; - --yt-spec-white-1-alpha-20: fadeout(@text, 0.2) !important; - --yt-spec-white-1-alpha-25: fadeout(@text, 0.25) !important; - --yt-spec-white-1-alpha-30: fadeout(@text, 0.3) !important; - --yt-spec-white-1-alpha-70: fadeout(@text, 0.7) !important; - --yt-spec-white-1-alpha-95: fadeout(@text, 0.95) !important; - --yt-spec-white-1-alpha-98: fadeout(@text, 0.98) !important; - --yt-brand-medium-red-alpha-90: fadeout(@accent-color, 0.9) !important; - --yt-brand-medium-red-alpha-30: fadeout(@accent-color, 0.3) !important; - --yt-brand-light-red-alpha-30: fadeout(@accent-color, 0.3) !important; - --yt-spec-light-blue-alpha-30: fadeout(@sapphire, 0.3) !important; - --yt-spec-dark-blue-alpha-30: fadeout(@sapphire, 0.3) !important; - - --yt-spec-base-background: @base !important; - --yt-spec-raised-background: @base !important; - --yt-spec-menu-background: @mantle !important; - --yt-spec-inverted-background: @text !important; - --yt-spec-additive-background: fadeout(@surface0, 0.1) !important; - --yt-spec-outline: @surface0 !important; - --yt-spec-shadow: fadeout(@crust, 0.25) !important; - --yt-spec-text-primary: @text !important; - --yt-spec-text-secondary: @subtext0 !important; - --yt-spec-text-disabled: @subtext1 !important; - --yt-spec-text-primary-inverse: @crust !important; - --yt-spec-call-to-action: @accent-color !important; - --yt-spec-call-to-action-inverse: @accent-color !important; - --yt-spec-suggested-action: fadeout(@accent-color, 80%) !important; - --yt-spec-suggested-action-inverse: @text !important; - --yt-spec-icon-active-other: @text !important; - --yt-spec-button-chip-background-hover: @surface1 !important; - --yt-spec-touch-response: @surface0 !important; - - --yt-spec-touch-response-inverse: @accent-color !important; - --yt-spec-brand-icon-active: @accent-color !important; - --yt-spec-brand-button-background: @accent-color !important; - --yt-spec-brand-link-text: @sapphire !important; - --yt-spec-wordmark-text: @text !important; - --yt-spec-error-indicator: @red !important; - --yt-spec-themed-blue: @accent-color !important; - --yt-spec-themed-green: @green !important; - --yt-spec-ad-indicator: @teal !important; - --yt-spec-themed-overlay-background: fadeout(@crust, 0.8) !important; - --yt-spec-commerce-badge-background: @green !important; - --yt-spec-static-brand-red: @accent-color !important; - --yt-spec-static-brand-white: @text !important; - --yt-spec-static-brand-black: @base !important; - --yt-spec-static-clear-color: fadeout(@crust, 0) !important; - --yt-spec-static-clear-black: fadeout(@crust, 0) !important; - --yt-spec-static-ad-yellow: @peach !important; - --yt-spec-static-grey: @subtext0 !important; - --yt-spec-static-overlay-background-solid: @crust !important; - --yt-spec-static-overlay-background-heavy: @surface0; - --yt-spec-static-overlay-background-medium: fade(@crust, 50%) !important; - --yt-spec-static-overlay-background-medium-light: fadeout( - @crust, - 0.3 - ) !important; - --yt-spec-static-overlay-background-light: fadeout( - @crust, - 0.1 - ) !important; - --yt-spec-static-overlay-text-primary: @text !important; - --yt-spec-static-overlay-text-secondary: fadeout( - @subtext0, - 0.7 - ) !important; - --yt-spec-static-overlay-text-disabled: fadeout( - @subtext0, - 0.3 - ) !important; - --yt-spec-static-overlay-call-to-action: @accent-color !important; - --yt-spec-static-overlay-icon-active-other: @text !important; - --yt-spec-static-overlay-icon-inactive: @surface1 !important; - --yt-spec-static-overlay-icon-disabled: @surface2 !important; - --yt-spec-static-overlay-button-primary: @accent-color !important; - --yt-spec-static-overlay-button-secondary: @surface0 !important; - --yt-spec-static-overlay-touch-response: @overlay1 !important; - --yt-spec-static-overlay-touch-response-inverse: @surface1 !important; - --yt-spec-static-overlay-background-brand: @accent-color !important; - --yt-spec-assistive-feed-themed-gradient-1: @subtext0 !important; - --yt-spec-assistive-feed-themed-gradient-2: @lavender !important; - --yt-spec-assistive-feed-themed-gradient-3: @red !important; - --yt-spec-brand-background-solid: @base !important; - --yt-spec-brand-background-primary: @base !important; - --yt-spec-brand-background-secondary: @mantle !important; - --yt-spec-general-background-a: @base !important; - --yt-spec-general-background-b: @base !important; - --yt-spec-general-background-c: @crust !important; - --yt-spec-error-background: @base !important; - --yt-spec-10-percent-layer: @surface0 !important; - --yt-spec-snackbar-background: @mantle !important; - --yt-spec-snackbar-background-updated: @mantle !important; - --yt-spec-badge-chip-background: if( - @lookup =latte, - @crust, - @surface1 - ) !important; - --yt-spec-verified-badge-background: @overlay0 !important; - --yt-spec-call-to-action-fadeoutd: fadeout(@sapphire, 0.3) !important; - --yt-spec-call-to-action-hover: @accent-color !important; - --yt-spec-brand-button-background-hover: @accent-color !important; - --yt-spec-brand-link-text-fadeoutd: fadeout( - @accent-color, - 0.3 - ) !important; - --yt-spec-filled-button-focus-outline: @surface0 !important; - --yt-spec-static-overlay-button-hover: @surface1 !important; - --yt-spec-mono-filled-hover: @surface1 !important; - --yt-spec-commerce-filled-hover: @accent-color !important; - --yt-spec-mono-tonal-hover: @surface1 !important; - --yt-spec-commerce-tonal-hover: @surface2 !important; - --yt-spec-static-overlay-filled-hover: @overlay1 !important; - --yt-spec-static-overlay-tonal-hover: @surface1 !important; - --yt-spec-paper-tab-ink: fadeout(@text, 0.3); - --yt-spec-filled-button-text: @text !important; - --yt-spec-selected-nav-text: @text !important; - --iron-icon-fill-color: @text !important; - - /* Search bar */ - --ytd-searchbox-border-color: @surface0 !important; - --ytd-searchbox-legacy-border-color: @surface0 !important; - --ytd-searchbox-legacy-border-shadow-color: fadeout(@crust, 0) !important; - --ytd-searchbox-legacy-button-color: @mantle !important; - --ytd-searchbox-legacy-button-border-color: @surface0 !important; - --ytd-searchbox-legacy-button-focus-color: @accent-color !important; - --ytd-searchbox-legacy-button-hover-color: @mantle !important; - --ytd-searchbox-legacy-button-hover-border-color: @surface0 !important; - --ytd-searchbox-legacy-button-icon-color: @accent-color !important; - --ytd-searchbox-background: @base !important; - --ytd-searchbox-text-color: @text !important; - - /* System icons */ - --yt-spec-icon-inactive: @text !important; - --yt-spec-icon-disabled: @overlay1 !important; - --yt-spec-brand-icon-inactive: @overlay2 !important; - - /* Yt video Page */ - --yt-live-chat-background-color: @base !important; - --yt-live-chat-action-panel-background-color: @base !important; - --yt-live-chat-secondary-background-color: @surface1; - --yt-live-chat-toast-background-color: @surface2 !important; - --yt-live-chat-mode-change-background-color: @base !important; - --yt-live-chat-secondary-text-color: @subtext0 !important; - --yt-live-chat-tertiary-text-color: fadeout(@text, 0.54) !important; - --yt-live-chat-text-input-field-inactive-underline-color: @subtext0 !important; - --yt-live-chat-text-input-field-placeholder-color: @subtext0 !important; - --yt-live-chat-enabled-send-button-color: @text !important; - --yt-live-chat-disabled-icon-button-color: @subtext1 !important; - --yt-live-chat-picker-button-hover-color: @accent-color !important; - --yt-live-chat-mention-background-color: @accent-color !important; - --yt-live-chat-mention-text-color: @text !important; - --yt-live-chat-deleted-message-color: @subtext0; - --yt-live-chat-deleted-message-bar-color: @subtext1 !important; - --yt-live-chat-reconnect-message-color: @text !important; - --yt-live-chat-disabled-button-background-color: @overlay0 !important; - --yt-live-chat-sub-panel-background-color: @base !important; - --yt-live-chat-sub-panel-background-color-transparent: @mantle !important; - --yt-live-chat-moderator-color: @lavender !important; - --yt-live-chat-owner-color: @peach !important; - --yt-live-chat-message-highlight-background-color: @base !important; - --yt-live-chat-sponsor-color: @green !important; - --yt-live-chat-overlay-color: fadeout(@mantle, 0.5); - --yt-live-chat-dialog-background-color: @base !important; - --yt-emoji-picker-variant-selector-bg-color: @base !important; - --yt-live-chat-moderation-mode-hover-background-color: fadeout( - @mantle, - 0.3 - ) !important; - --yt-grey: @subtext0 !important; - --yt-live-chat-text-input-field-suggestion-background-color: @subtext0 !important; - --yt-live-chat-text-input-field-suggestion-background-color-hover: @subtext1 !important; - --yt-emoji-picker-search-background-color: @surface0 !important; - --yt-emoji-picker-search-color: @text !important; - --yt-emoji-picker-search-placeholder-color: @accent-color !important; - --yt-live-chat-slider-active-color: @accent-color !important; - --yt-live-chat-slider-container-color: @surface0 !important; - --yt-live-chat-slider-markers-color: @text !important; - --yt-live-chat-banner-gradient-scrim: linear-gradient( - @mantle, - transparent - ) !important; - --yt-live-chat-action-panel-gradient-scrim: linear-gradient( - to top, - @mantle, - transparent - ) !important; - --yt-live-chat-automod-button-background-color-hover: fadeout( - @crust, - 0.5 - ) !important; - --yt-live-chat-automod-button-explanation-color: fadeout( - @accent-color, - 0.7 - ) !important; - --yt-live-chat-shimmer-background-color: fadeout(@crust, 0.4) !important; - --yt-live-chat-shimmer-linear-gradient: linear-gradient( - 0deg, - fadeout(@text, 0.1) 40%, - fadeout(@base, 0.3) 50%, - fadeout(@text, 0.1) 60% - ) !important; - --yt-live-chat-vem-background-color: @mantle !important; - --yt-live-chat-product-picker-icon-color: fadeout(@text, 0.5) !important; - --yt-live-chat-product-picker-hover-color: @overlay0 !important; - --yt-live-chat-product-picker-disabled-icon-color: fadeout( - @text, - 0.3 - ) !important; - --yt-live-chat-action-panel-background-color-transparent: ( - null - ) !important; - - --paper-tooltip-background: @overlay0 !important; - --paper-tooltip-text-color: @text !important; - - /* Links */ - --yt-endpoint-color: @accent-color !important; - --yt-endpoint-visited-color: @accent-color !important; - --yt-endpoint-hover-color: @accent-color !important; - - --sb-dark-red-outline: @accent-color !important; - --sb-main-bg-color: @base !important; - --sb-main-fg-color: @text !important; - --sb-grey-bg-color: @base !important; - --sb-grey-fg-color: @subtext0 !important; - --sb-red-bg-color: @accent-color !important; - } - - &:not(.style-scope) { - --primary-text-color: @text !important; - --primary-background-color: @base !important; - --secondary-text-color: @subtext0 !important; - --disabled-text-color: @subtext1 !important; - --divider-color: @overlay0 !important; - --error-color: @red !important; - --primary-color: @accent-color !important; - --light-primary-color: @accent-color !important; - --dark-primary-color: @blue !important; - --accent-color: @accent-color !important; - --light-accent-color: @accent-color !important; - --dark-accent-color: @accent-color !important; - --light-theme-background-color: @base !important; - --light-theme-base-color: @text !important; - --light-theme-text-color: @text !important; - --light-theme-secondary-color: @subtext0 !important; - --light-theme-disabled-color: @subtext1 !important; - --light-theme-divider-color: @overlay0 !important; - --dark-theme-background-color: @base !important; - --dark-theme-base-color: @text !important; - --dark-theme-text-color: @text !important; - --dark-theme-secondary-color: @subtext0 !important; - --dark-theme-disabled-color: @subtext1 !important; - --dark-theme-divider-color: @overlay0 !important; - } - - /* Misc */ - - & when (@logo = 0) { - ytd-topbar-logo-renderer, - svg.ytd-consent-bump-v2-lightbox { - display: none; - } - } - - #channel-name.ytd-video-meta-block { - --yt-endpoint-color: @accent-color !important; - --yt-endpoint-visited-color: @accent-color !important; - color: @accent-color !important; - } - - .yt-page-navigation-progress { - background: @accent-color !important; - } - - /* Selected chapter */ - ytd-macro-markers-list-item-renderer { - --ytd-macro-markers-list-item-background-color: @surface0 !important; - --ytd-macro-markers-list-item-title-color: @text !important; - --ytd-macro-markers-list-item-secondary-color: @subtext1 !important; - --ytd-macro-markers-list-item-timestamp-background-color: @surface1 !important; - } - - ytd-playlist-panel-video-renderer { - --yt-lightsource-section2-color: @surface1 !important; - --yt-lightsource-section4-color: @surface2 !important; - --yt-lightsource-primary-title-color: @text !important; - --yt-lightsource-secondary-title-color: @text !important; - --yt-active-playlist-panel-background-color: @surface0 !important; - } - - ytd-playlist-panel-renderer[collapsible][collapsed][use-color-palette] - .header.ytd-playlist-panel-renderer { - --iron-icon-fill-color: @text !important; - background-color: @base !important; - } - - #container.ytd-masthead { - --iron-icon-fill-color: @text !important; - } - - ytd-feed-filter-chip-bar-renderer[expand-instead-of-scroll] - #chips-wrapper.ytd-feed-filter-chip-bar-renderer { - --iron-icon-fill-color: @text !important; - background-color: @base !important; - } - - #ytd-player #container when (@oled =0) { - background: @crust !important; - } - - .ytp-progress-list when not(@lookup = latte) { - background: fade(@surface0, 80%); - } - .ytp-load-progress when not(@lookup = latte) { - background: fade(@overlay0, 100%); - } - - ytd-expandable-metadata-renderer { - --yt-lightsource-section1-color: @base !important; - --yt-lightsource-section2-color: @surface0 !important; - --yt-lightsource-section3-color: @surface1 !important; - --yt-lightsource-section4-color: @surface2 !important; - --yt-lightsource-primary-title-color: @text !important; - --yt-lightsource-secondary-title-color: @subtext0 !important; - } - - yt-live-chat-renderer { - --yt-button-default-text-color: @text !important; - --yt-button-default-background-color: @base !important; - --yt-button-dark-text-color: @base !important; - --yt-button-dark-background-color: @accent-color !important; - --yt-button-payment-background-color: @accent-color !important; - } - - ytd-author-comment-badge-renderer:not( - [style*="--ytd-author-comment-badge-icon-background-color: transparent;"] - ) { - --yt-basic-background-color: @surface0 !important; - --yt-basic-foreground-title-color: @surface0 !important; - --ytd-author-comment-badge-background-color: @surface0 !important; - --ytd-author-comment-badge-name-color: @text !important; - --ytd-author-comment-badge-icon-color: @text !important; - } - - /* Skeleton */ - #guide-skeleton, - #home-container-skeleton, - #home-chips { - background-color: @base; - z-index: -1; - } - - #guide-skeleton .guide-ghost-icon, - #guide-skeleton .guide-ghost-text, - .masthead-skeleton-icon, - #home-page-skeleton .skeleton-bg-color, - .watch-skeleton .skeleton-bg-color { - background-color: @surface1; - } - - /* Ambient mode */ - #cinematics { - mix-blend-mode: lighten; - } - - .ytp-settings-button.ytp-hd-quality-badge::after, - .ytp-settings-button.ytp-hdr-quality-badge::after, - .ytp-settings-button.ytp-4k-quality-badge::after, - .ytp-settings-button.ytp-5k-quality-badge::after, - .ytp-settings-button.ytp-8k-quality-badge::after, - .ytp-settings-button.ytp-3d-badge-grey::after, - .ytp-settings-button.ytp-3d-badge::after { - background-color: @accent-color; - } - - /* Icons */ - - [fill="red"], - [fill="#F00"], - [fill="#FF0000"], - [fill="#f03"], - [fill="#FF0033"] { - fill: @accent-color !important; - } - - [fill="white"] { - fill: if(@lookup = latte, @base, @text) !important; - } - - /* verification badge */ - [src*="https://www.gstatic.com/images/icons/material/system/1x/check_circle_grey600_36dp.png"] - { - filter: @text-filter; - } - - yt-icon.ytd-logo [fill="white"] { - fill: @crust !important; - } - - .yt-spec-icon-shape { - [fill="#FAFAFA"], - [fill="#000"], - [fill="#fff"], - [fill="#FFF"], - [fill="#FFFFFF"] { - fill: @crust !important; - } - } - - .yt-spec-icon-badge-shape--style-overlay .yt-spec-icon-badge-shape__icon, - .yt-spec-icon-badge-shape { - color: @text; - } - - .yt-spec-icon-badge-shape--type-notification - .yt-spec-icon-badge-shape__badge { - background-color: @accent-color !important; - color: @surface0 !important; - } - - /* Buttons */ - - .yt-spec-button-shape-next--mono { - &.yt-spec-button-shape-next--tonal { - color: @text; - background-color: @surface0; - - [fill="rgb(3,3,3)"], - [fill="rgb(0,0,0)"], - [fill="rgb(255,255,255)"] { - fill: @text !important; - } - - [stroke="rgb(0,0,0)"], - [stroke="rgb(255,255,255)"] { - stroke: @text !important; - } - - /* Accent for filled-in thumbs up (like button) */ - [animated-icon-type="LIKE"] { - g path[fill] { - fill: @accent-color !important; - - + [stroke] { - stroke: @accent-color !important; - } - } - } - - &:hover { - background-color: @surface1; - } - } - - &.yt-spec-button-shape-next--outline { - color: @text; - border-color: @surface2; - - &:hover { - background-color: @surface2; - } - } - - &.yt-spec-button-shape-next--text { - color: @text; - - /* Accent for filled-in thumbs up (like button) */ - path[d="M3,11h3v10H3V11z M18.77,11h-4.23l1.52-4.94C16.38,5.03,15.54,4,14.38,4c-0.58,0-1.14,0.24-1.52,0.65L7,11v10h10.43 c1.06,0,1.98-0.67,2.19-1.61l1.34-6C21.23,12.15,20.18,11,18.77,11z"] { - fill: @accent-color; - } - } - - &.yt-spec-button-shape-next--filled { - color: @crust; - background-color: @accent-color; - - &:hover { - background-color: darken(@accent-color, 5%); - } - } - } - - .yt-spec-button-shape-next--overlay { - &.yt-spec-button-shape-next--tonal, - &.yt-spec-button-shape-next--text { - color: @text; - } - - &.yt-spec-button-shape-next--filled { - color: @crust; - background-color: @accent-color; - } - } - - .yt-spec-button-shape-next--call-to-action { - &.yt-spec-button-shape-next--outline { - color: @accent-color; - border-color: @surface2; - - &:hover { - background-color: fade(@accent-color, 30%); - color: @accent-color; - } - } - - &.yt-spec-button-shape-next--text { - color: @accent-color; - - &:hover { - background-color: fade(@accent-color, 30%); - } - } - - &.yt-spec-button-shape-next--filled { - color: @crust; - background-color: @accent-color; - - &:hover { - background-color: lighten(@accent-color, 5%); - } - } - } - - .yt-spec-button-shape-next--disabled.yt-spec-button-shape-next--filled { - color: @subtext0; - background-color: fade(@surface1, 70%); - } - - /* Search box */ - - ytd-searchbox[has-focus] #container.ytd-searchbox { - border-color: @accent-color; - } - - .sbsb_a { - background: var(--yt-spec-raised-background); - } - .sbdd_b { - border-color: var(--yt-spec-raised-background); - background-color: var(--yt-spec-raised-background); - } - .sbpqs_a, - .gsfs { - color: var(--yt-spec-text-primary); - } - .sbsb_i { - color: var(--yt-spec-call-to-action); - } - .sbsb_d { - background-color: var(--yt-spec-additive-background); - } - .sbdd_c { - visibility: hidden; - } - - /* "Suggestion removed" */ - .sbpqs_c { - color: @overlay1; - } - - .sbpqs_a::before, - .sbqs_c::before { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - background: none; - } - - /* Video description */ - - #description { - [style*="color: rgb(255, 255, 255);"], - [style*="color: rgb(19, 19, 19);"] { - color: @text !important; - } - } - - .yt-core-attributed-string__link--call-to-action-color { - color: @accent-color; - } - - .YtwCourseProgressViewModelHostProgressTitle, - .YtwCourseProgressViewModelHostProgressSubtitle { - color: @text; - } - - .YtwCourseProgressViewModelHostProgressBar { - background-color: fade(@white, 20%); - - .YtwCourseProgressViewModelHostProgressBarFill { - background-color: @text; - } - } - - /* Thumbnails */ - - #time-status:has([aria-label="LIVE"]), - .badge[aria-label="LIVE"], - .badge[aria-label="PREMIERE"], - .badge-shape-wiz--live.badge-shape-wiz--overlay { - --yt-spec-static-overlay-text-primary: @crust; - --yt-spec-static-overlay-icon-active-other: @crust; - } - .badge-shape-wiz--live.badge-shape-wiz--overlay { - background: var(--yt-spec-static-overlay-background-brand); - color: var(--yt-spec-static-overlay-text-primary); - } - #thumbnail [style="background-color: rgba(51, 51, 51, 0.8);"], - .YtInlinePlayerControlsTopRightControlsCircleButton, - .badge-shape-wiz--default.badge-shape-wiz--overlay, - .branding-context-container-inner { - background-color: @surface0 !important; - color: @text; - } - .ytp-sb-unsubscribe { - background-color: @surface2; - color: @text; - } - .ytp-sb-subscribe { - background-color: @accent-color; - color: @crust; - } - ytd-thumbnail-overlay-resume-playback-renderer { - background-color: @surface1; - } - - /* Panels, popups, tooltips */ - - .ytp-tooltip-text { - background: @surface0 !important; - color: @text; - text-shadow: none !important; - } - - .ytp-popup { - background: @surface0 !important; - text-shadow: none; - } - - .ytp-panel-menu, - .ytp-panel-header, - .ytp-panel-footer, - .ytp-menuitem-label, - .ytp-premium-label, - .ytp-menuitem-content, - .ytp-menuitem-label-count, - .ytp-menu-label-secondary, - .ytd-menu-title-renderer { - color: @text; - } - - .ytp-panel-header { - border-bottom-color: @surface2; - } - - .ytp-panel-footer-content-link { - color: @accent-color; - } - - .ytp-panel-back-button { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - - .ytp-menuitem-toggle-checkbox { - background-color: @surface2; - - &::after { - background-color: @subtext0; - } - } - - .ytp-menuitem { - &:not([aria-disabled="true"]):hover { - background-color: @surface1; - } - - svg > path:not([fill="none"]) { - fill: @text !important; - } - - &[aria-haspopup="true"] .ytp-menuitem-content { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - &[role="menuitemradio"][aria-checked="true"] .ytp-menuitem-label { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml,@{svg}"); - } - } - - /* Video player */ - - .ytp-cards-button { - .ytp-cards-button-icon { - use { - fill: @black; - } - path { - fill: @white; - } - } - } - .ytp-cards-teaser { - .ytp-cards-teaser-box { - background-color: @surface2; - border-bottom-color: @surface2; - } - .ytp-cards-teaser-text { - color: @text; - } - } - - .html5-video-player { - color: @white; - - .ytp-swatch-background-color, - .ytp-play-progress { - background: @accent-color !important; - } - - .ytp-svg-fill, - [fill="#fff"] { - fill: @white !important; - } - - .ytp-volume-slider-handle { - &, - &::before { - background-color: @white; - } - &::after { - background-color: fade(@white, 20%); - } - } - - .ytp-time-current, - .ytp-time-separator, - .ytp-time-duration { - color: @white; - } - - .ytp-button, - .ytp-subtitles-button { - &[aria-pressed]::after { - background-color: @accent-color; - } - } - - /* stats for nerds */ - .ytp-sfn { - background: fade(@base, 80%); - color: @text; - } - - .ytp-autonav-toggle-button { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - - &::after { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - } - - &[aria-checked="true"] { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - - &::after { - @svg: escape( - '' - ); - background-image: url("data:image/svg+xml;charset=utf-8,@{svg}"); - } - } - } - } - - #shorts-container { - --yt-spec-static-overlay-text-primary: @white; - .yt-spec-button-shape-next--overlay.yt-spec-button-shape-next--tonal { - color: @white; - } - - .YtwFactoidRendererLabel { - color: @subtext0; - } - - ytd-reel-video-renderer:not([is-watch-while-mode]) { - .yt-spec-button-shape-with-label__label { - color: @subtext1; - } - } - ytd-reel-video-renderer[is-watch-while-mode] - .yt-spec-button-shape-with-label__label { - color: @white; - } - - .yt-spec-button-shape-next--overlay-dark.yt-spec-button-shape-next--tonal, - .YtdDesktopShortsVolumeControlsBackgroundScrim { - background-color: fade(@black, 60%); - color: @white; - } - - .yt-spec-button-shape-next--overlay-dark.yt-spec-button-shape-next--filled { - background-color: @accent-color; - color: @crust; - } - - .YtdDesktopShortsVolumeControlsMuteIcon { - color: @white !important; - } - - /* Buy super thanks button */ - .YtdShortsSuggestedActionStaticHostContainer { - background-color: fade(@black, 60%); - - .YtdShortsSuggestedActionStaticHostLeadingIcon, - .YtdShortsSuggestedActionStaticHostPrimaryText { - color: @text; - } - } - } - - /* Buy super thanks bar */ - #progressContainer.tp-yt-paper-progress { - background-color: @mantle !important; - } - - #comment-chip-container.yt-pdg-comment-chip-renderer, - .slider-knob-inner.tp-yt-paper-slider { - background: @accent-color !important; - } - - #primaryProgress.tp-yt-paper-progress { - background: linear-gradient(139deg, @peach, @maroon, @red, @pink); - } - - #container.ytd-pdg-comment-preview-renderer { - background-color: @mantle !important; - } - - #comment-chip-price.yt-pdg-comment-chip-renderer, - yt-icon.yt-pdg-comment-chip-renderer { - color: @crust; - } - - /* Channel pages */ - .yt-tab-shape-wiz__tab { - color: @subtext1; - } - .yt-tab-shape-wiz__tab--tab-selected { - color: @text; - } - .yt-tab-group-shape-wiz__slider { - background-color: @text; - } - .yt-tab-shape-wiz:hover .yt-tab-shape-wiz__tab-bar { - background-color: @subtext1; - } - .truncated-text-wiz, - .page-header-view-model-wiz__page-header-content-metadata { - color: @subtext1; - } - .page-header-view-model-wiz__page-header-title, - [style="color: rgb(255, 255, 255);"]:has(svg), - .truncated-text-wiz__absolute-button { - color: @text !important; - } - .yt-contextual-sheet-layout-wiz { - background-color: @mantle; - - .yt-list-item-view-model-wiz__container--tappable:hover { - background-color: @surface0; - } - - .yt-list-item-view-model-wiz__title, - .yt-list-item-view-model-wiz__accessory, - .radio-shape-wiz__label-container { - color: @text; - } - } - - /* channel details */ - .profile-badge-view-model-wiz__badge-description { - color: @text !important; - } - - .profile-badge-view-model-wiz__badge-subtitle { - color: @subtext0 !important; - } - - .yt-profile-identity-info-view-model-wiz__divider { - border-color: @surface0 !important; - } - - /* Profiles */ - .yt-profile-card-view-model-wiz { - background-color: @mantle; - } - .yt-profile-identity-info-view-model-wiz__channel-name, - .yt-profile-info-view-model-wiz__section-title, - .yt-comment-interaction-view-model-wiz__video-title, - .yt-shared-subscription-view-model-wiz__channel-name { - color: @text; - } - .yt-profile-identity-info-view-model-wiz__badge, - .yt-profile-identity-info-view-model-wiz__metadata-handle, - .yt-profile-identity-info-view-model-wiz__metadata-content, - .yt-profile-info-view-model-wiz__section-subtitle, - .yt-comment-interaction-view-model-wiz__comment-content { - color: @subtext0; - } - } -} - -@-moz-document url-prefix('https://studio.youtube.com') -{ - :root[dark] { - #catppuccin(@darkFlavor, @accentColor); - } - :root { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - [src="https://www.gstatic.com/youtube/img/creator/yt_studio_logo_white.svg"] - { - @svg: escape( - '' - ); - content: url("data:image/svg+xml,@{svg}"); - } - - &, - html, - html[dark], - html[dark][dark], - &[dark], - &[light], - [light], - html[light], - html[light][light] { - --yt-spec-black-pure-alpha-80: (null) !important; - --yt-spec-black-pure-alpha-60: (null) !important; - --yt-spec-black-1-alpha-98: (null) !important; - --yt-spec-black-1-alpha-95: (null) !important; - --iron-icon-fill-color: unset !important; - - --yt-spec-text-primary: @text !important; - --ytcp-text-primary: @text !important; - --ytcp-text-primary-inverse: @base !important; - --ytcp-static-overlay-text-primary-inverse: @base !important; - --ytcp-wordmark-text: @text !important; - --ytcp-text-secondary: @subtext0 !important; - --ytcp-text-disabled: @subtext1 !important; - --ytcp-overlay-text-primary: @overlay2 !important; - - --ytcp-general-background-a: @base !important; - --yt-spec-base-background: @base !important; - --yt-spec-black-3: @base !important; - - --yt-spec-brand-background-solid: @mantle !important; - --ytcp-brand-background-solid: @mantle !important; - --yt-spec-raised-background: @mantle !important; - --ytcp-general-background-b: @mantle !important; - --ytcp-analytics-reach-background: @mantle !important; - --yt-spec-black-2: @mantle !important; - - --ytcp-general-background-c: @crust !important; - --ytcp-menu-background: @surface0 !important; - - --ytcp-container-border-color: @surface0 !important; - --ytcp-container-hovered-border-color: @surface0 !important; - --ytcp-line-divider-solid: @surface0 !important; - --ytcp-container-border-color-inverse: @subtext0 !important; - --ytcp-line-divider-solid-inverse: @subtext0 !important; - - --ytcp-call-to-action: @accent-color !important; - --ytcp-call-to-action-inverse: @mantle !important; - --ytcp-call-to-action-raised-background: @accent-color !important; - --yt-spec-brand-button-background: @accent-color !important; - --ytcp-call-to-action-raised-disabled: @surface2 !important; - --ytcp-call-to-action-raised-disabled-background: @overlay2 !important; - --ytcp-call-to-action-raised-background-inverse: @base !important; - --ytcp-call-to-action-raised-disabled-inverse: @surface2 !important; - --ytcp-call-to-action-raised-disabled-background-inverse: @overlay2 !important; - - --yt-spec-brand-background-primary: @surface0 !important; - - --yt-compact-link-icon-color: @overlay2 !important; - --ytcp-icon-active: @accent-color !important; - --ytcp-icon-inactive: @overlay2 !important; - --ytcp-icon-disabled: @overlay0 !important; - --ytcp-icon-active-inverse: @overlay1 !important; - --ytcp-icon-disabled-inverse: @subtext1 !important; - - --ytcp-error-red: @red !important; - --ytcp-badge-red: @red !important; - --ytcp-error-red-inverse: @red !important; - --ytcp-themed-red-inverse: @red !important; - --ytcp-themed-red: @accent-color !important; - --ytcp-themed-blue: @accent-color !important; - --ytcp-badge-blue: fade(@accent-color, 30%); - --ytcp-badge-blue-solid: @blue !important; - --ytcp-themed-blue-inverse: @blue !important; - --ytcp-themed-green: @green !important; - --ytmus-genre-primary-melon: @green !important; - --ytcp-themed-green-inverse: @green !important; - --ytcp-analytics-pine: @green !important; - --ytcp-analytics-pine-inverse: @green !important; - --ytcp-analytics-parrot: @green !important; - --ytcp-themed-yellow: @peach !important; - --ytmus-genre-primary-gold: @peach !important; - --ytcp-yellow-inverse: @peach !important; - --ytcp-badge-yellow: @peach !important; - --ytcp-analytics-yellow: @peach !important; - --ytcp-analytics-apricot: @peach !important; - --ytcp-suggested-action: @teal !important; - --ytcp-analytics-overview: @teal !important; - --ytcp-analytics-revenue: @teal !important; - --ytcp-analytics-default-secondary: @teal !important; - --ytcp-analytics-royal-blue: @lavender !important; - --ytcp-analytics-reach: @lavender !important; - --ytcp-analytics-audience: @lavender !important; - --ytcp-analytics-engagement: @pink !important; - --ytcp-analytics-revenue-secondary: @pink !important; - --ytcp-analytics-bubblegum: @flamingo !important; - --ytmus-genre-primary-ruby: @flamingo !important; - --ytmus-genre-primary-salmon: @mauve !important; - --ytmus-genre-primary-orange: @maroon !important; - --ytmus-genre-primary-sky: @sky !important; - --ytmus-genre-primary-sky-inverse: @sky !important; - - --yt-spec-badge-chip-background: @surface1 !important; - --ytcp-focus-inverse: @accent-color !important; - --ytcp-focus: @accent-color !important; - --ytcp-selected-item: @accent-color !important; - --ytcp-hover-item: @overlay2 !important; - --ytcp-chip-active-focus: @accent-color !important; - --ytcp-playhead: @overlay2 !important; - --ytcp-playhead-inverse: @overlay2 !important; - } - - ytcp-button.destructive.ytls-error-dialog { - color: @base !important; - } - - yt-formatted-string.ytls-error-dialog, - tp-yt-iron-icon.ytls-error-dialog { - color: @text !important; - } - } -} - -@-moz-document domain('m.youtube.com') { - html[darker-dark-theme] { - #catppuccin(@darkFlavor, @accentColor); - } - html { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - background-color: @base !important; - color: @text !important; - - /* Ambient mode */ - #cinematics { - mix-blend-mode: lighten; - } - - .mobile-topbar-header[data-mode="watch"], - ytm-mobile-topbar-renderer:not([ambient-topbar]) { - background: @base; - } - - .mobile-topbar-header[data-mode="watch"] .mobile-topbar-logo, - .mobile-topbar-header[data-mode="watch"] .mobile-topbar-title, - .mobile-topbar-header[data-mode="watch"] .mobile-topbar-header-content { - color: @text; - } - - .yt-spec-bottom-sheet-layout__bottom-sheet-renderer-container, - .modern-styling { - background: @surface0; - } - - .yt-spec-bottom-sheet-layout__bottom-sheet-layout-header-wrapper { - border-bottom-color: @surface0; - } - - .yt-spec-bottom-sheet-layout__bottom-sheet-content { - color: @text; - } - - /* Comment box */ - .engagement-panel-container { - background: @mantle; - } - - /* Bottom bar */ - ytm-pivot-bar-renderer { - background: @mantle; - color: @text; - border-top-color: @surface0; - } - - /* Chips */ - .chip-bar { - background-color: @base; - } - - [chip-style*="STYLE_"] { - .chip-container { - color: @text; - background-color: @surface0; - } - - &.selected .chip-container { - color: @crust; - background-color: @accent-color; - } - } - - /* Buttons */ - - .yt-spec-touch-feedback-shape--touch-response { - .yt-spec-touch-feedback-shape__fill { - background-color: @text; - } - - .yt-spec-touch-feedback-shape__stroke { - border-color: @surface1; - } - } - - .yt-spec-touch-feedback-shape--overlay-touch-response-inverse - .yt-spec-touch-feedback-shape__fill { - background-color: @accent-color; - } - .yt-spec-touch-feedback-shape--overlay-touch-response - .yt-spec-touch-feedback-shape__fill { - background-color: @text; - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @text_filter: brightness(0) saturate(100%) invert(31%) sepia(12%) saturate(1015%) hue-rotate(196deg) brightness(94%) contrast(91%); @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @text_filter: brightness(0) saturate(100%) invert(80%) sepia(11%) saturate(726%) hue-rotate(192deg) brightness(104%) contrast(92%); @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @text_filter: brightness(0) saturate(100%) invert(84%) sepia(5%) saturate(1385%) hue-rotate(192deg) brightness(101%) contrast(92%); @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @text_filter: brightness(0) saturate(100%) invert(87%) sepia(6%) saturate(985%) hue-rotate(191deg) brightness(96%) contrast(99%); @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/styles/youtube/catppuccin.user.less b/styles/youtube/catppuccin.user.less new file mode 100644 index 0000000000..799be5f13b --- /dev/null +++ b/styles/youtube/catppuccin.user.less @@ -0,0 +1,1574 @@ +/* ==UserStyle== +@name YouTube Catppuccin +@namespace github.com/catppuccin/userstyles/styles/youtube +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/youtube +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/youtube/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Ayoutube +@description Soothing pastel theme for YouTube +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] + +@var checkbox logo "Enable YouTube logo" 1 +@var checkbox oled "Enable black bars" 0 +@var checkbox sponsorBlock "Enable SponsorBlock segments" 1 +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("youtube.com") { + :root[dark] { + #catppuccin(@darkFlavor); + } + :root:not([dark]) { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + @white: if(@flavor = latte, @base, @text); + @black: if(@flavor = latte, @text, @base); + + color: @text; + background: @base; + + #--variables() { + &, + [dark], + [system-icons], + [darker-dark-theme], + &[dark], + &[system-icons], + &[darker-dark-theme] { + --efyt-control-bar-background-color: @mantle; + --dimmer-text: @text; + + /* Newest Variables */ + --yt-sys-color-baseline--base-background: @base; + --yt-sys-color-baseline--menu-background: @mantle; + --yt-sys-color-baseline--raised-background: @surface0; + --yt-sys-color-baseline--additive-background: @surface0; + --yt-sys-color-baseline--wordmark-text: @text; + --yt-sys-color-baseline--text-primary: @text; + --yt-sys-color-baseline--text-secondary: @subtext0; + --yt-sys-color-baseline--call-to-action: @accent; + --yt-sys-color-baseline--suggested-action: mix(@accent, @base, 30%); + --yt-sys-color-baseline--outline: @surface0; + --yt-sys-color-baseline--outline-opaque: @surface1; + --yt-sys-color-baseline--outline-inverse-opaque: @overlay0; + --yt-sys-color-baseline--overlay-background-medium-light: fade( + @black, + 60% + ); + --yt-sys-color-baseline--overlay-background-heavy: fade(@black, 80%); + --yt-sys-color-baseline--overlay-background-solid: @crust; + --yt-sys-color-baseline--overlay-text-primary: @text; + + --yt-spec-white-1: @text; + --yt-spec-white-2: @subtext0; + --yt-spec-white-3: @subtext1; + --yt-spec-white-4: darken(@subtext1, 5%); + --yt-spec-black-1: @overlay1; + --yt-spec-black-2: @overlay0; + --yt-spec-black-3: @surface2; + --yt-spec-black-4: @surface1; + --yt-spec-black-pure: @surface0; + --yt-spec-grey-1: @text; + --yt-spec-grey-2: @subtext0; + --yt-spec-grey-3: @subtext1; + --yt-spec-grey-4: @overlay2; + --yt-spec-grey-5: @overlay1; + --yt-brand-youtube-red: @accent; + --yt-brand-medium-red: @accent; + --yt-brand-light-red: @accent; + --yt-spec-red-30: @peach; + --yt-spec-red-70: @red; + --yt-spec-red-indicator: @accent; + --yt-spec-pale-blue: @sky; + --yt-spec-light-blue: @sky; + --yt-spec-dark-blue: @sapphire; + --yt-spec-navy-blue: @teal; + --yt-spec-light-green: @green; + --yt-spec-dark-green: @green; + --yt-spec-yellow: @peach; + --yt-spec-black-pure-alpha-5: @subtext0; + --yt-spec-black-pure-alpha-10: @overlay2; + --yt-spec-black-pure-alpha-15: fade(@crust, 85%); + --yt-spec-black-pure-alpha-30: fade(@crust, 70%); + --yt-spec-black-pure-alpha-60: fade(@crust, 40%); + --yt-spec-black-pure-alpha-80: fade(@crust, 20%); + --yt-spec-black-1-alpha-98: fade(@crust, 2%); + --yt-spec-black-1-alpha-95: fade(@crust, 5%); + --yt-spec-white-1-alpha-10: fade(@text, 90%); + --yt-spec-white-1-alpha-20: fade(@text, 80%); + --yt-spec-white-1-alpha-25: fade(@text, 75%); + --yt-spec-white-1-alpha-30: fade(@text, 70%); + --yt-spec-white-1-alpha-70: fade(@text, 30%); + --yt-spec-white-1-alpha-95: fade(@text, 5%); + --yt-spec-white-1-alpha-98: fade(@text, 2%); + --yt-brand-medium-red-alpha-90: fade(@accent, 10%); + --yt-brand-medium-red-alpha-30: fade(@accent, 70%); + --yt-brand-light-red-alpha-30: fade(@accent, 70%); + --yt-spec-light-blue-alpha-30: fade(@sapphire, 70%); + --yt-spec-dark-blue-alpha-30: fade(@sapphire, 70%); + + --yt-spec-base-background: @base; + --yt-spec-raised-background: @surface0; + --yt-spec-menu-background: @mantle; + --yt-spec-inverted-background: @text; + --yt-spec-additive-background: @surface0; + --yt-spec-outline: @surface0; + --yt-spec-shadow: fade(@crust, 75%); + --yt-spec-text-primary: @text; + --yt-spec-text-secondary: @subtext0; + --yt-spec-text-disabled: @subtext1; + --yt-spec-text-primary-inverse: @crust; + --yt-spec-call-to-action: @accent; + --yt-spec-call-to-action-inverse: @accent; + --yt-spec-suggested-action: fade(@accent, 20%); + --yt-spec-suggested-action-inverse: @text; + --yt-spec-icon-active-other: @text; + --yt-spec-button-chip-background-hover: @surface1; + --yt-spec-touch-response: @surface0; + + --yt-spec-touch-response-inverse: @accent; + --yt-spec-brand-icon-active: @accent; + --yt-spec-brand-button-background: @accent; + --yt-spec-brand-link-text: @sapphire; + --yt-spec-wordmark-text: @text; + --yt-spec-error-indicator: @red; + --yt-spec-themed-blue: @accent; + --yt-spec-themed-green: @green; + --yt-spec-ad-indicator: @teal; + --yt-spec-themed-overlay-background: fade(@crust, 80%); + --yt-spec-commerce-badge-background: @green; + --yt-spec-static-brand-red: @accent; + --yt-spec-static-brand-white: @text; + --yt-spec-static-brand-black: @base; + --yt-spec-static-clear-color: fade(@crust, 100%); + --yt-spec-static-clear-black: @base; + --yt-spec-static-ad-yellow: @peach; + --yt-spec-static-grey: @subtext0; + --yt-spec-static-overlay-background-solid: @crust; + --yt-spec-static-overlay-background-heavy: @crust; + --yt-spec-static-overlay-background-medium: fade(@crust, 50%); + --yt-spec-static-overlay-background-light: fade( + @crust, + 90% + ); + --yt-spec-static-overlay-text-primary: @text; + --yt-spec-static-overlay-text-secondary: fade( + @subtext0, + 30% + ); + --yt-spec-static-overlay-text-disabled: fade( + @subtext0, + 70% + ); + --yt-spec-static-overlay-call-to-action: @accent; + --yt-spec-static-overlay-icon-active-other: @crust; + --yt-spec-static-overlay-icon-inactive: @surface1; + --yt-spec-static-overlay-icon-disabled: @surface2; + --yt-spec-static-overlay-button-primary: @accent; + --yt-spec-static-overlay-touch-response: @overlay1; + --yt-spec-static-overlay-touch-response-inverse: @surface1; + --yt-spec-static-overlay-background-brand: @accent; + --yt-spec-assistive-feed-themed-gradient-1: @subtext0; + --yt-spec-assistive-feed-themed-gradient-2: @lavender; + --yt-spec-assistive-feed-themed-gradient-3: @red; + --yt-spec-brand-background-solid: @base; + --yt-spec-brand-background-primary: @base; + --yt-spec-brand-background-secondary: @mantle; + --yt-spec-general-background-a: @base; + --yt-spec-general-background-b: @base; + --yt-spec-general-background-c: @crust; + --yt-spec-error-background: @base; + --yt-spec-10-percent-layer: @surface1; + --yt-spec-snackbar-background: @mantle; + --yt-spec-snackbar-background-updated: @mantle; + --yt-spec-badge-chip-background: if( + @flavor = latte, + @crust, + @surface0 + ); + --yt-spec-verified-badge-background: @overlay0; + --yt-spec-call-to-action-fadeoutd: fade(@sapphire, 70%); + --yt-spec-call-to-action-hover: @accent; + --yt-spec-brand-button-background-hover: @accent; + --yt-spec-brand-link-text-fadeoutd: fade( + @accent, + 70% + ); + --yt-spec-filled-button-focus-outline: @surface0; + --yt-spec-static-overlay-button-hover: @surface1; + --yt-spec-mono-filled-hover: @surface1; + --yt-spec-commerce-filled-hover: @accent; + --yt-spec-mono-tonal-hover: @surface1; + --yt-spec-commerce-tonal-hover: @surface2; + --yt-spec-static-overlay-filled-hover: @overlay1; + --yt-spec-static-overlay-tonal-hover: @surface1; + --yt-spec-paper-tab-ink: fade(@text, 70%); + --yt-spec-filled-button-text: @text; + --yt-spec-selected-nav-text: @text; + --iron-icon-fill-color: @text; + + --yt-spec-overlay-text-primary: @text; + --yt-spec-overlay-background-medium-light: fade(@black, 60%); + --yt-spec-overlay-background-heavy: fade(@black, 80%); + --yt-spec-overlay-background-solid: @black; + + /* Search bar */ + --ytd-searchbox-border-color: @surface0; + --ytd-searchbox-legacy-border-color: @surface0; + --ytd-searchbox-legacy-border-shadow-color: fade( + @crust, + 100% + ); + --ytd-searchbox-legacy-button-color: @mantle; + --ytd-searchbox-legacy-button-border-color: @surface0; + --ytd-searchbox-legacy-button-focus-color: @accent; + --ytd-searchbox-legacy-button-hover-color: @mantle; + --ytd-searchbox-legacy-button-hover-border-color: @surface0; + --ytd-searchbox-legacy-button-icon-color: @accent; + --ytd-searchbox-background: @base; + --ytd-searchbox-text-color: @text; + + /* System icons */ + --yt-spec-icon-inactive: @text; + --yt-spec-icon-disabled: @overlay1; + --yt-spec-brand-icon-inactive: @overlay2; + + /* Live chat */ + --yt-live-chat-background-color: @base; + --yt-live-chat-primary-text-color: @text; + --yt-live-chat-action-panel-background-color: @base; + --yt-live-chat-secondary-background-color: @surface1; + --yt-live-chat-toast-background-color: @surface2; + --yt-live-chat-mode-change-background-color: @base; + --yt-live-chat-secondary-text-color: @subtext0; + --yt-live-chat-tertiary-text-color: fade(@text, 46%); + --yt-live-chat-text-input-field-inactive-underline-color: @subtext0; + + --yt-live-chat-text-input-field-placeholder-color: @subtext0; + --yt-live-chat-enabled-send-button-color: @text; + --yt-live-chat-disabled-icon-button-color: @subtext1; + --yt-live-chat-picker-button-hover-color: @accent; + --yt-live-chat-mention-background-color: @accent; + --yt-live-chat-mention-text-color: @text; + --yt-live-chat-deleted-message-color: @subtext0; + --yt-live-chat-deleted-message-bar-color: @subtext1; + --yt-live-chat-reconnect-message-color: @text; + --yt-live-chat-disabled-button-background-color: @overlay0; + --yt-live-chat-sub-panel-background-color: @base; + --yt-live-chat-sub-panel-background-color-transparent: @mantle; + --yt-live-chat-moderator-color: @lavender; + --yt-live-chat-owner-color: @peach; + --yt-live-chat-message-highlight-background-color: @base; + --yt-live-chat-sponsor-color: @green; + --yt-live-chat-overlay-color: fade(@mantle, 50%); + --yt-live-chat-dialog-background-color: @base; + --yt-emoji-picker-variant-selector-bg-color: @base; + --yt-live-chat-moderation-mode-hover-background-color: fade( + @mantle, + 70% + ); + --yt-grey: @subtext0; + --yt-live-chat-text-input-field-suggestion-background-color: @subtext0; + + --yt-live-chat-text-input-field-suggestion-background-color-hover: @subtext1; + + --yt-emoji-picker-search-background-color: @surface0; + --yt-emoji-picker-search-color: @text; + --yt-emoji-picker-search-placeholder-color: @accent; + --yt-live-chat-slider-active-color: @accent; + --yt-live-chat-slider-container-color: @surface0; + --yt-live-chat-slider-markers-color: @text; + --yt-live-chat-banner-gradient-scrim: linear-gradient( + @mantle, + transparent + ); + --yt-live-chat-action-panel-gradient-scrim: linear-gradient( + to top, + @mantle, + transparent + ); + --yt-live-chat-automod-button-background-color-hover: fade( + @crust, + 50% + ); + --yt-live-chat-automod-button-explanation-color: fade( + @accent, + 30% + ); + --yt-live-chat-shimmer-background-color: fade(@crust, 60%); + --yt-live-chat-shimmer-linear-gradient: linear-gradient( + 0deg, + fade(@text, 90%) 40%, + fade(@base, 70%) 50%, + fade(@text, 90%) 60% + ); + --yt-live-chat-vem-background-color: @mantle; + --yt-live-chat-product-picker-icon-color: fade(@text, 50%); + --yt-live-chat-product-picker-hover-color: @overlay0; + --yt-live-chat-product-picker-disabled-icon-color: fade( + @text, + 70% + ); + --yt-live-chat-action-panel-background-color-transparent: (null); + + --paper-tooltip-background: @surface2; + --paper-tooltip-text-color: @text; + .ytTooltipContainerDefaultTooltipContent { + background: var(--paper-tooltip-background); + color: var(--paper-tooltip-text-color); + } + + /* Links */ + --yt-endpoint-color: @text; + --yt-endpoint-visited-color: @text; + --yt-endpoint-hover-color: @accent; + + --sb-dark-red-outline: @accent; + --sb-main-bg-color: @base; + --sb-main-fg-color: @text; + --sb-grey-bg-color: @base; + --sb-grey-fg-color: @subtext0; + --sb-red-bg-color: @accent; + + & when (@sponsorBlock = 1) { + --sb-category-sponsor: @green; + --sb-category-selfpromo: @yellow; + --sb-category-exclusive_access: @teal; + --sb-category-interaction: @mauve; + --sb-category-poi_highlight: @pink; + --sb-category-intro: @sky; + --sb-category-outro: @blue; + --sb-category-preview: @sapphire; + --sb-category-filler: @lavender; + --sb-category-music_offtopic: @peach; + } + } + + &:not(.style-scope) { + --primary-text-color: @text; + --primary-background-color: @base; + --secondary-text-color: @subtext0; + --disabled-text-color: @subtext1; + --divider-color: @overlay0; + --error-color: @red; + --primary-color: @accent; + --light-primary-color: @accent; + --dark-primary-color: @blue; + --accent-color: @accent; + --light-accent-color: @accent; + --dark-accent-color: @accent; + --light-theme-background-color: @base; + --light-theme-base-color: @text; + --light-theme-text-color: @text; + --light-theme-secondary-color: @subtext0; + --light-theme-disabled-color: @subtext1; + --light-theme-divider-color: @overlay0; + --dark-theme-background-color: @base; + --dark-theme-base-color: @text; + --dark-theme-text-color: @text; + --dark-theme-secondary-color: @subtext0; + --dark-theme-disabled-color: @subtext1; + --dark-theme-divider-color: @overlay0; + } + } + + #--variables() !important; + + /* Misc */ + + & when (@logo = 0) { + ytd-topbar-logo-renderer, + svg.ytd-consent-bump-v2-lightbox { + display: none; + } + } + + #progress.yt-page-navigation-progress { + background: @accent; + } + + /* Selected chapter */ + ytd-macro-markers-list-item-renderer { + --ytd-macro-markers-list-item-background-color: @surface0; + --ytd-macro-markers-list-item-title-color: @text; + --ytd-macro-markers-list-item-secondary-color: @subtext1; + --ytd-macro-markers-list-item-timestamp-background-color: @surface1; + } + + ytd-playlist-panel-video-renderer { + --yt-lightsource-section2-color: @surface1; + --yt-lightsource-section4-color: @surface2; + --yt-lightsource-primary-title-color: @text; + --yt-lightsource-secondary-title-color: @text; + --yt-active-playlist-panel-background-color: @surface0; + } + + ytd-playlist-panel-renderer[collapsible][collapsed][use-color-palette] + .header.ytd-playlist-panel-renderer { + --iron-icon-fill-color: @text; + background-color: @base; + } + + #container.ytd-masthead { + --iron-icon-fill-color: @text; + } + + #background.ytd-masthead, + #frosted-glass { + --yt-frosted-glass-desktop: @base; + --yt-spec-frosted-glass-desktop: @base; + } + + ytd-feed-filter-chip-bar-renderer[expand-instead-of-scroll] + #chips-wrapper.ytd-feed-filter-chip-bar-renderer { + --iron-icon-fill-color: @text; + background-color: @base; + } + + .ytp-progress-list when not(@flavor = latte) { + background: fade(@surface0, 80%); + } + .ytp-load-progress when not(@flavor = latte) { + background: fade(@overlay0, 100%); + } + + ytd-expandable-metadata-renderer { + --yt-lightsource-section1-color: @base; + --yt-lightsource-section2-color: @surface0; + --yt-lightsource-section3-color: @surface1; + --yt-lightsource-section4-color: @surface2; + --yt-lightsource-primary-title-color: @text; + --yt-lightsource-secondary-title-color: @subtext0; + } + + yt-live-chat-renderer { + --yt-button-default-text-color: @text; + --yt-button-default-background-color: @base; + --yt-button-dark-text-color: @base; + --yt-button-dark-background-color: @accent; + --yt-button-payment-background-color: @accent; + } + + yt-icon-button.yt-live-chat-item-list-renderer { + background-color: @accent; + color: @base; + + &:hover { + background-color: darken(@accent, 5%); + } + } + + /* Skeleton */ + #guide-skeleton, + #home-container-skeleton, + #home-chips { + background-color: @base; + z-index: -1; + } + + ytd-app[is-shorts-page] { + background: var( + --yt-spec-base-background + ); // fix unset background on shorts page + } + + #guide-skeleton .guide-ghost-icon, + #guide-skeleton .guide-ghost-text, + .masthead-skeleton-icon, + #home-page-skeleton .skeleton-bg-color, + .watch-skeleton .skeleton-bg-color { + background-color: @surface1; + } + + /* Ambient mode */ + #cinematics, + #cinematic-container { + display: none; + } + + .ytp-settings-button.ytp-hd-quality-badge::after, + .ytp-settings-button.ytp-hdr-quality-badge::after, + .ytp-settings-button.ytp-4k-quality-badge::after, + .ytp-settings-button.ytp-5k-quality-badge::after, + .ytp-settings-button.ytp-8k-quality-badge::after, + .ytp-settings-button.ytp-3d-badge-grey::after, + .ytp-settings-button.ytp-3d-badge::after { + background-color: @accent; + } + + /* Icons */ + + [fill="red"], + [fill="#F00"], + [fill="#FF0000"], + [fill="#f03"], + [fill="#FF0033"] { + fill: @accent; + } + + [fill="white"] { + fill: if(@flavor = latte, @base, @text); + } + + yt-icon.ytd-logo [fill="white"] { + fill: @crust; + } + + .yt-spec-icon-shape { + [fill="#FAFAFA"], + [fill="#000"], + [fill="#fff"], + [fill="#FFF"], + [fill="#FFFFFF"] { + fill: @crust; + } + } + + /* Notifications Bell and Indicator */ + .ytSpecIconBadgeShapeStyleOverlay .ytSpecIconBadgeShapeIcon, + .ytSpecIconBadgeShapeBadge { + color: @text; + } + .ytSpecIconBadgeShapeTypeNotification .ytSpecIconBadgeShapeBadge { + background-color: @accent; + color: @base; + } + + /* Buttons */ + + .yt-spec-button-shape-next--mono { + &.yt-spec-button-shape-next--tonal { + color: @text; + background-color: @surface0; + + [fill="rgb(3,3,3)"], + [fill="rgb(0,0,0)"], + [fill="rgb(255,255,255)"] { + fill: @text; + } + + [stroke="rgb(0,0,0)"], + [stroke="rgb(255,255,255)"] { + stroke: @text; + } + + /* Accent for filled-in thumbs up (like button) */ + [animated-icon-type="LIKE"] { + g path[fill] { + fill: @accent; + + + [stroke] { + stroke: @accent; + } + } + } + + &:hover { + background-color: @surface1; + } + } + + &.yt-spec-button-shape-next--outline { + color: @text; + border-color: @surface2; + + &:hover { + background-color: @surface2; + } + } + + &.yt-spec-button-shape-next--text { + color: @text; + + /* Accent for filled-in thumbs up (like button) */ + path[d="M3,11h3v10H3V11z M18.77,11h-4.23l1.52-4.94C16.38,5.03,15.54,4,14.38,4c-0.58,0-1.14,0.24-1.52,0.65L7,11v10h10.43 c1.06,0,1.98-0.67,2.19-1.61l1.34-6C21.23,12.15,20.18,11,18.77,11z"] { + fill: @accent; + } + + &:hover { + background-color: @surface1; + } + } + + &.yt-spec-button-shape-next--filled { + color: @base; + background-color: @accent; + + &:hover { + background-color: darken(@accent, 5%); + } + } + } + + .yt-spec-button-shape-next--disabled { + color: @overlay1; + } + + .yt-spec-button-shape-next--overlay { + &.yt-spec-button-shape-next--tonal { + color: @text; + background-color: @surface0; + &:hover { + background-color: @surface1; + } + } + &.yt-spec-button-shape-next--text { + color: @text; + &:hover { + background-color: @surface0; + } + } + + &.yt-spec-button-shape-next--filled { + color: @base; + background-color: @accent; + } + + &.yt-spec-button-shape-next--outline { + color: @text; + border-color: @surface1; + &:hover { + background: @surface0; + } + } + } + + .yt-spec-button-shape-next--call-to-action { + &.yt-spec-button-shape-next--outline { + color: @accent; + border-color: @surface2; + + &:hover { + background-color: fade(@accent, 30%); + color: @accent; + } + } + + &.yt-spec-button-shape-next--text { + color: @accent; + + &:hover { + background-color: fade(@accent, 30%); + } + } + + &.yt-spec-button-shape-next--filled { + color: @base; + background-color: @accent; + + &:hover { + background-color: lighten(@accent, 5%); + } + } + } + + .yt-spec-button-shape-next--disabled.yt-spec-button-shape-next--filled { + color: @subtext0; + background-color: fade(@surface1, 70%); + } + + /* Search box */ + + .ytSearchboxComponentInputBox, + .ytSearchboxComponentInputBoxDark { + background: var(--ytd-searchbox-background); + color: var(--ytd-searchbox-text-color); + border-color: var(--ytd-searchbox-border-color); + box-shadow: none; + } + + .ytSearchboxComponentInputBoxHasFocus, + .ytSearchboxComponentInputBoxHasFocusDark { + border-color: @accent; + } + + .ytSuggestionComponentPersonalizedSuggestion { + color: @text; + } + .ytSuggestionComponentHighlighted { + background: @surface1; + } + .ytSuggestionComponentLargerRemovedText { + color: @overlay1; + } + + .ytSearchboxComponentSuggestionsContainer, + .ytSearchboxComponentSuggestionsContainerDark { + background: var(--yt-spec-raised-background); + border-color: var(--yt-spec-raised-background); + } + + .ytSuggestionComponentSuggestion, + .ytSuggestionComponentSuggestionDark { + color: var(--ytd-searchbox-text-color); + } + + .ytSearchboxComponentSearchButton, + .ytSearchboxComponentSearchButtonDark { + color: var(--ytd-searchbox-text-color); + background: var(--yt-spec-raised-background); + border-color: var(--ytd-searchbox-border-color); + } + + .ytSearchboxComponentClearButtonIcon, + .ytSearchboxComponentClearButtonIconDark { + color: var(--ytd-searchbox-text-color); + } + + /* Video description */ + + // Video description background (collapsed on hover) + ytd-watch-metadata { + --yt-saturated-raised-background: @surface1 !important; + --yt-saturated-text-primary: @text !important; + --yt-saturated-text-secondary: @subtext1 !important; + } + // Video description text (expanded) + ytd-text-inline-expander + .ytAttributedStringLinkInheritColor:not( + .ytAttributedStringLink + ) { + color: @text !important; + } + // Video description YouTube links + .ytAttributedStringHighlightTextDecorator { + background-color: @surface2 !important; + } + + /* Links */ + .ytAttributedStringLinkCallToActionColor { + color: @accent; + } + + /* Course Playlist (e.g. https://www.youtube.com/playlist?list=PLZHQObOWTQDNPOjrT6KVlfJuKtYTftqH6) */ + .ytwCourseProgressViewModelHostProgressTitle, + .ytwCourseProgressViewModelHostProgressSubtitle { + color: @text; + } + .ytwCourseProgressViewModelHostProgressBar { + background-color: fade(@white, 20%); + + .ytwCourseProgressViewModelHostProgressBarFill { + background-color: @text; + } + } + + .ytwHowThisWasMadeSectionViewModelSectionTitle, + .ytwHowThisWasMadeSectionViewModelBodyHeader { + color: @text; + } + + .ytwHowThisWasMadeSectionViewModelBodyText { + color: @subtext0; + } + + // "Ask" - AI chat + .ytVideoDescriptionYouchatSectionViewModelSectionTitle { + color: @text; + } + .ytVideoDescriptionYouchatSectionViewModelSubHeaderText { + color: @subtext0; + } + .ytwYouChatItemViewModelHost { + color: @text; + } + .ytwYouChatChipsDataChip { + color: @text; + border-color: @surface2; + + &:hover { + background-color: @surface1; + } + } + .chatInputViewModelChatDisclaimer { + color: @subtext0; + } + + // Timeline/Transcript + .ytwTimelineChapterViewModelTitle, + .ytShelfHeaderLayoutTitle { + color: @text; + } + .ytwTranscriptSegmentViewModelHost { + color: @subtext0; + } + .ytwTranscriptSegmentViewModelTimestamp { + background-color: @surface2; + color: @subtext1; + } + .ytwTranscriptSegmentViewModelTimestampActive { + background-color: @overlay0; + color: @text; + } + + // Video Attributes (Music, Games) + .videoAttributesSectionViewModelTitle, + .ytVideoAttributeViewModelTitle { + color: @text; + } + .ytVideoAttributeViewModelSubtitle, + .ytVideoAttributeViewModelSecondarySubtitle { + color: @subtext1; + } + + /* Thumbnails */ + + .ytp-sb-unsubscribe { + background-color: @surface2; + color: @text; + } + .ytp-sb-subscribe { + background-color: @accent; + color: @base; + } + + // Watch progress bar + .ytThumbnailOverlayProgressBarHostWatchedProgressBar { + background-color: @surface2; + } + .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment { + background: @accent; + } + // Watch progress bar (legacy component) + ytd-thumbnail-overlay-resume-playback-renderer { + background-color: @surface2; + + #progress.ytd-thumbnail-overlay-resume-playback-renderer { + background: @accent; + } + } + + /* Panels, popups, tooltips */ + + .ytp-tooltip-bottom-text { + background: fade(@surface0, 90%); + color: @text; + text-shadow: none; + } + + .ytp-popup { + background: fade(@surface0, 90%); + text-shadow: none; + } + + .ytp-panel-menu, + .ytp-panel-header, + .ytp-panel-footer, + .ytp-menuitem-label, + .ytp-premium-label, + .ytp-menuitem-content, + .ytp-menuitem-label-count, + .ytp-menu-label-secondary, + .ytd-menu-title-renderer { + color: @text; + } + + .ytp-panel-footer-content-link { + color: @accent; + } + + .ytp-panel-back-button { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + } + + .ytp-menuitem[aria-checked="false"] .ytp-menuitem-toggle-checkbox { + &::after { + background-color: @overlay1; + } + } + .ytp-menuitem[aria-checked="true"] .ytp-menuitem-toggle-checkbox { + background-color: @surface2; + + &::after { + background-color: @text; + } + } + + .ytp-menuitem { + &:not([aria-disabled="true"]):hover { + background-color: @surface1; + } + } + + /* Video player */ + + // Shorts and video hover preview progress bars + yt-progress-bar { + .ytProgressBarLineProgressBarPlayed, + .ytProgressBarPlayheadProgressBarPlayheadDot { + background: @accent; + } + + .ytProgressBarLineProgressBarHovered, + .ytProgressBarLineProgressBarBackground { + background: @text; // (background) opacity is already adequately set + } + } + + .ytp-cards-button { + .ytp-cards-button-icon { + use { + fill: @black; + } + path { + fill: @white; + } + } + } + .ytp-cards-teaser { + .ytp-cards-teaser-box { + background-color: @surface2; + border-bottom-color: @surface2; + } + .ytp-cards-teaser-text { + color: @text; + } + } + + .html5-video-player { + color: @white; + & when (@oled = 0) { + background-color: @crust; + } + + .ytp-swatch-background-color, + .ytp-play-progress { + background: @accent; + } + + .ytp-svg-fill, + [fill="#fff"] { + fill: @white; + } + + .ytp-volume-slider-handle { + &, + &::before { + background-color: @white; + } + &::after { + background-color: fade(@white, 20%); + } + } + + .ytp-time-current, + .ytp-time-separator, + .ytp-time-duration { + color: @white; + } + + .ytp-live-badge { + &[disabled]::before { + background: @accent; + } + &::before { + background: @overlay0; + } + } + + .ytp-button, + .ytp-subtitles-button { + &[aria-pressed]::after { + background-color: @accent; + } + } + + /* stats for nerds */ + .ytp-sfn { + background: fade(@base, 80%); + color: @text; + } + + .ytp-autonav-toggle-button { + background-color: @surface2; + + &::after { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + background-color: @overlay1; + } + + &[aria-checked="true"] { + &::after { + @svg: escape( + '' + ); + background-image: url("data:image/svg+xml,@{svg}"); + background-color: @white; + } + } + } + } + + /* Video highlight */ + ytd-rich-item-renderer.ytd-rich-item-renderer-highlight { + background-color: fade(@accent, 10%); + box-shadow: fade(@accent, 10%) 0 0 0 10px; + } + + #shorts-container { + --yt-spec-static-overlay-text-primary: @white; + + .YtwFactoidRendererLabel { + color: @subtext0; + } + .YtwFactoidRendererValue { + color: @text; + } + + ytd-reel-video-renderer:not([is-watch-while-mode]) { + .ytSpecButtonShapeWithLabelLabel { + color: @subtext1; + } + } + ytd-reel-video-renderer[is-watch-while-mode] + .ytSpecButtonShapeWithLabelLabel { + color: @white; + } + + .ytdVolumeControlsMuteIcon { + color: @white; + } + + /* Buy super thanks button */ + .YtdShortsSuggestedActionStaticHostContainer { + background-color: fade(@black, 60%); + + .YtdShortsSuggestedActionStaticHostLeadingIcon, + .YtdShortsSuggestedActionStaticHostPrimaryText { + color: @text; + } + } + } + // Video/thumbnail renderer overlayed buttons + .ytBadgeShapeThumbnailDefaultRedesign, // Timestamp + // Play Next + .yt-spec-button-shape-next--overlay-dark.yt-spec-button-shape-next--tonal[style="background-color: rgba(0, 0, 0, 0.3);"], + .ytdVolumeControlsBackgroundScrim, // Shorts Volume Slider + .ytInlinePlayerControlsTopRightControlsCircleButton // Homepage + { + background: fade(@black, 60%) !important; + color: @white; + } + + .yt-spec-button-shape-next--overlay-dark.yt-spec-button-shape-next--filled { + background: @accent; + color: @base; + } + + /* Video previews */ + + // Background (on hover) + .ytSpecTouchFeedbackShapeHoverEffect { + background-color: @surface0 !important; + } + // Title + .ytLockupMetadataViewModelTitle { + color: @text !important; + } + // Details + .ytLockupMetadataViewModelMetadata { + color: @subtext0 !important; + } + // Badges (e.g. "CC", "New") + .ytBadgeShapeDefault { + color: @subtext0; + background: @surface1; + + &.ytBadgeShapeModern { + background: none; + } + } + // "Fundraiser" + .ytBadgeShapeCommerce { + color: @green; + } + // "Live" + .ytBadgeShapeThumbnailLive { + background: @accent; + color: @base; + } + + /* Shorts titles and views on homepage */ + .shortsLockupViewModelHostOutsideMetadataEndpoint { + color: @text; + } + .shortsLockupViewModelHostOutsideMetadataSubhead { + color: @subtext0; + } + + /* Buy super thanks bar */ + #progressContainer.tp-yt-paper-progress { + background-color: @mantle; + } + + #comment-chip-container.yt-pdg-comment-chip-renderer, + .slider-knob-inner.tp-yt-paper-slider { + background: @accent; + } + + #primaryProgress.tp-yt-paper-progress { + background: linear-gradient(139deg, @peach, @maroon, @red, @pink); + } + + #container.ytd-pdg-comment-preview-renderer { + background-color: @mantle; + } + + #comment-chip-price.yt-pdg-comment-chip-renderer, + yt-icon.yt-pdg-comment-chip-renderer { + color: @crust; + } + + /* Avatar */ + .ytSpecAvatarShapeLiveRing::after { + background: @accent !important; + } + .ytSpecAvatarShapeLiveBadge { + background-color: @accent; + } + .ytSpecAvatarShapeLiveBadgeText { + color: @base; + } + + /* Channel pages */ + + // Channel name + .ytPageHeaderViewModelHost { + .ytPageHeaderViewModelTitle { + color: @text; + } + + // Subscribers and video statistics + .ytPageHeaderViewModelContentMetadata { + color: @subtext0; + } + + // Handle and verified checkmark + [style$="color: rgb(255, 255, 255);"] { + color: @text !important; + } + } + // Channel bio + .ytTruncatedTextHost { + color: @subtext0; + } + // "...More", "and X more links" + .ytAttributionViewModelSuffix .ytAttributedStringLinkCallToActionColor, + .ytTruncatedTextAbsoluteButton { + color: @text; + } + + // Channel tabs + .ytTabShapeTab { + color: @subtext1; + } + .ytTabShapeTabSelected { + color: @text; + } + .tabGroupShapeSlider { + background-color: @text; + } + .ytTabShapeHost:hover .ytTabShapeTabBar { + background-color: @subtext1; + } + + /* Components */ + + /* Menus and context sheets */ + .ytContextualSheetLayoutHost, ytd-menu-popup-renderer { + background-color: @mantle; + } + .ytListItemViewModelTappable:hover { + background-color: @surface0; + } + .ytPanelHeaderViewModelTitle, + .ytListItemViewModelTitle, + .ytListItemViewModelAccessory { + color: @text; + } + .ytListItemViewModelSubtitle { + color: @subtext1; + } + /* Dialogs */ + .ytSpecDialogLayoutHost { + background-color: @mantle; + + .ytDialogHeaderViewModelText { + color: @text; + } + } + + /* Dropdowns */ + .ytDropdownViewModelTitle { + color: @text; + } + .ytDropdownViewModelLabel { + color: @subtext0; + } + .ytDropdownViewModelSupportError { + color: @red; + } + .ytDropdownViewModelDropdownContainerErrorBorder { + border-color: @red; + } + .ytStandardsTextareaShapeTextareaContainerOutline:focus-within { + border-color: @text; + } + + /* Toggles/Switches */ + + .ytSwitchShapeTrack { + background-color: @surface2; + } + .ytSwitchShapeKnob { + background-color: @mantle; + } + .ytSwitchShapeTrackActive { + background-color: @accent; + } + + /* Textareas */ + .ytStandardsTextareaShapeTextarea { + color: @text; + } + .ytStandardsTextareaShapePlaceholder { + color: @subtext0; + } + .ytStandardsTextareaShapeTextarea::placeholder { + color: transparent !important; // defaults important overrides this + } + + /* Comments */ + .ytSubThreadConnection, + .ytSubThreadContinuation { + border-left-color: @surface1; + } + .ytSubThreadConnection { + border-bottom-color: @surface1; + } + .ytSubThreadHovered > .ytSubThreadThreadline .ytSubThreadConnection, + .ytSubThreadHovered > .ytSubThreadThreadline .ytSubThreadContinuation { + border-left-color: @overlay0; + } + .ytSubThreadHovered > .ytSubThreadThreadline .ytSubThreadConnection { + border-bottom-color: @overlay0; + } + + /* Profile Card */ + // (Click a user's profile picture in the comments to view.) + .ytProfileCardViewModelHost { + background-color: @mantle; + + // Name and handle + .ytProfileIdentityInfoViewModelChannelName, + .ytProfileIdentityInfoViewModelMetadataHandleWithBoldFont { + color: @text; + } + // Verification badge + .ytProfileIdentityInfoViewModelBadge { + filter: @text-filter; + } + // Statistics + .ytProfileIdentityInfoViewModelMetadataContent { + color: @subtext0; + } + + // Subsection (e.g. "On this channel") + .ytProfileInfoViewModelSectionTitle { + color: @text; + } + .ytProfileInfoViewModelSectionSubtitle { + color: @subtext1; + } + .ytProfileInfoViewModelSectionHeartIcon { + filter: @subtext1-filter; + } + + // Subsection - "Recent comments on this channel" + .ytCommentInteractionViewModelVideoTitle { + color: @text; + } + .ytCommentInteractionViewModelCommentContent { + color: @subtext1; + } + } + + /* Live chat replay */ + .ytVideoMetadataCarouselViewModelHost, + .YtVideoMetadataCarouselViewModelHost { + background-color: @surface0; + + .ytCarouselTitleViewModelTitle, + .YtCarouselTitleViewModelTitle, + .yt-core-attributed-string, + .yt-icon-shape { + color: @text; + } + .ytTextCarouselItemViewModelHost { + color: @subtext1; + } + } + + /* Category tag pills */ + .ytChipShapeInactive { + background-color: @surface0; + color: @text; + } + .ytChipShapeActive { + background-color: @accent; + color: @base; + } + } +} + +@-moz-document url-prefix("https://studio.youtube.com") { + :root[dark] { + #catppuccin(@darkFlavor); + } + :root { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + [src="https://www.gstatic.com/youtube/img/creator/yt_studio_logo_white.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + + &, + html, + html[dark], + html[dark][dark], + &[dark], + &[light], + [light], + html[light], + html[light][light] { + --yt-spec-black-pure-alpha-80: (null); + --yt-spec-black-pure-alpha-60: (null); + --yt-spec-black-1-alpha-98: (null); + --yt-spec-black-1-alpha-95: (null); + --iron-icon-fill-color: unset; + + --yt-spec-text-primary: @text; + --ytcp-text-primary: @text; + --ytcp-text-primary-inverse: @base; + --ytcp-static-overlay-text-primary-inverse: @base; + --ytcp-wordmark-text: @text; + --ytcp-text-secondary: @subtext0; + --ytcp-text-disabled: @subtext1; + --ytcp-overlay-text-primary: @overlay2; + + --ytcp-general-background-a: @base; + --yt-spec-base-background: @base; + --yt-spec-black-3: @base; + + --yt-spec-brand-background-solid: @mantle; + --ytcp-brand-background-solid: @mantle; + --yt-spec-raised-background: @mantle; + --ytcp-general-background-b: @mantle; + --ytcp-analytics-reach-background: @mantle; + --yt-spec-black-2: @mantle; + + --ytcp-general-background-c: @crust; + --ytcp-menu-background: @surface0; + + --ytcp-container-border-color: @surface0; + --ytcp-container-hovered-border-color: @surface0; + --ytcp-line-divider-solid: @surface0; + --ytcp-container-border-color-inverse: @subtext0; + --ytcp-line-divider-solid-inverse: @subtext0; + + --ytcp-call-to-action: @accent; + --ytcp-call-to-action-inverse: @mantle; + --ytcp-call-to-action-raised-background: @accent; + --yt-spec-brand-button-background: @accent; + --ytcp-call-to-action-raised-disabled: @surface2; + --ytcp-call-to-action-raised-disabled-background: @overlay2; + --ytcp-call-to-action-raised-background-inverse: @base; + --ytcp-call-to-action-raised-disabled-inverse: @surface2; + --ytcp-call-to-action-raised-disabled-background-inverse: @overlay2; + + --yt-spec-brand-background-primary: @surface0; + + --yt-compact-link-icon-color: @overlay2; + --ytcp-icon-active: @accent; + --ytcp-icon-inactive: @overlay2; + --ytcp-icon-disabled: @overlay0; + --ytcp-icon-active-inverse: @overlay1; + --ytcp-icon-disabled-inverse: @subtext1; + + --ytcp-error-red: @red; + --ytcp-badge-red: @red; + --ytcp-error-red-inverse: @red; + --ytcp-themed-red-inverse: @red; + --ytcp-themed-red: @accent; + --ytcp-themed-blue: @accent; + --ytcp-badge-blue: fade(@accent, 30%); + --ytcp-badge-blue-solid: @blue; + --ytcp-themed-blue-inverse: @blue; + --ytcp-themed-green: @green; + --ytmus-genre-primary-melon: @green; + --ytcp-themed-green-inverse: @green; + --ytcp-analytics-pine: @green; + --ytcp-analytics-pine-inverse: @green; + --ytcp-analytics-parrot: @green; + --ytcp-themed-yellow: @peach; + --ytmus-genre-primary-gold: @peach; + --ytcp-yellow-inverse: @peach; + --ytcp-badge-yellow: @peach; + --ytcp-analytics-yellow: @peach; + --ytcp-analytics-apricot: @peach; + --ytcp-suggested-action: @teal; + --ytcp-analytics-overview: @teal; + --ytcp-analytics-revenue: @teal; + --ytcp-analytics-default-secondary: @teal; + --ytcp-analytics-royal-blue: @lavender; + --ytcp-analytics-reach: @lavender; + --ytcp-analytics-audience: @lavender; + --ytcp-analytics-engagement: @pink; + --ytcp-analytics-revenue-secondary: @pink; + --ytcp-analytics-bubblegum: @flamingo; + --ytmus-genre-primary-ruby: @flamingo; + --ytmus-genre-primary-salmon: @mauve; + --ytmus-genre-primary-orange: @maroon; + --ytmus-genre-primary-sky: @sky; + --ytmus-genre-primary-sky-inverse: @sky; + + --yt-spec-badge-chip-background: @surface1; + --ytcp-focus-inverse: @accent; + --ytcp-focus: @accent; + --ytcp-selected-item: @accent; + --ytcp-hover-item: @overlay2; + --ytcp-chip-active-focus: @accent; + --ytcp-playhead: @overlay2; + --ytcp-playhead-inverse: @overlay2; + } + + ytcp-button.destructive.ytls-error-dialog { + color: @base; + } + + yt-formatted-string.ytls-error-dialog, + tp-yt-iron-icon.ytls-error-dialog { + color: @text; + } + } +} + +@-moz-document domain("m.youtube.com") { + html[darker-dark-theme] { + #catppuccin(@darkFlavor); + } + html { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + + background-color: @base !important; + color: @text !important; + + /* Ambient mode */ + #cinematics { + mix-blend-mode: lighten; + } + + .mobile-topbar-header[data-mode="watch"], + ytm-mobile-topbar-renderer:not([ambient-topbar]) { + background: @base; + } + + .mobile-topbar-header[data-mode="watch"] .mobile-topbar-logo, + .mobile-topbar-header[data-mode="watch"] .mobile-topbar-title, + .mobile-topbar-header[data-mode="watch"] .mobile-topbar-header-content { + color: @text; + } + + .yt-spec-bottom-sheet-layout__bottom-sheet-renderer-container, + .modern-styling { + background: @surface0; + } + + .yt-spec-bottom-sheet-layout__bottom-sheet-layout-header-wrapper { + border-bottom-color: @surface0; + } + + .yt-spec-bottom-sheet-layout__bottom-sheet-content { + color: @text; + } + + /* Comment box */ + .engagement-panel-container { + background: @mantle; + } + + /* Bottom bar */ + ytm-pivot-bar-renderer { + background: @mantle; + color: @text; + border-top-color: @surface0; + } + + /* Chips */ + .chip-bar { + background-color: @base; + } + + [chip-style*="STYLE_"] { + .chip-container { + color: @text; + background-color: @surface0; + } + + &.selected .chip-container { + color: @base; + background-color: @accent; + } + } + + /* Buttons */ + + .yt-spec-touch-feedback-shape--touch-response { + .yt-spec-touch-feedback-shape__fill { + background-color: @text; + } + + .yt-spec-touch-feedback-shape__stroke { + border-color: @surface1; + } + } + + .yt-spec-touch-feedback-shape--overlay-touch-response-inverse + .yt-spec-touch-feedback-shape__fill { + background-color: @accent; + } + .yt-spec-touch-feedback-shape--overlay-touch-response + .yt-spec-touch-feedback-shape__fill { + background-color: @text; + } + } +} diff --git a/styles/youtube/preview.webp b/styles/youtube/preview.webp deleted file mode 100644 index 98091dbe53..0000000000 --- a/styles/youtube/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e9d8e64822efa59ced67d7a3174a86777deb1705cfe9a5caff483d640b7d715 -size 1115368 diff --git a/styles/zen-browser-docs/README.md b/styles/zen-browser-docs/README.md new file mode 100644 index 0000000000..6b3656e6cd --- /dev/null +++ b/styles/zen-browser-docs/README.md @@ -0,0 +1,35 @@ + + + +

+ Logo
+ + Catppuccin for Zen Browser Docs + +

+ +

+ + +

+ +## Usage + +See [the userstyle usage instructions](https://userstyles.catppuccin.com/getting-started/usage/). + + +## ๐Ÿ’ Current Maintainer +- [ashish0kumar](https://github.com/ashish0kumar) + + +  + +

+ +

+ +

+ Copyright © 2021-present Catppuccin Org +

+ + diff --git a/styles/zen-browser-docs/catppuccin.user.less b/styles/zen-browser-docs/catppuccin.user.less new file mode 100644 index 0000000000..b8f5d4906f --- /dev/null +++ b/styles/zen-browser-docs/catppuccin.user.less @@ -0,0 +1,98 @@ +/* ==UserStyle== +@name Zen Browser Docs Catppuccin +@namespace github.com/catppuccin/userstyles/styles/zen-browser-docs +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/zen-browser-docs +@version 2026.08.16 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/zen-browser-docs/catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Azen-browser-docs +@description Soothing pastel theme for Zen Browser Docs +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("zen-browser.app") { + :root[data-theme="light"], + .light { + #catppuccin(@lightFlavor); + } + + :root[data-theme="dark"], + .dark { + #catppuccin(@darkFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + --zen-paper: @mantle; + --zen-dark: @subtext1; + --zen-subtle: @surface0; + + --color-fd-background: @mantle; + --color-fd-popover: @mantle; + --color-fd-secondary: @base; + --color-fd-accent: @surface0; + --color-fd-card: @crust; + --color-fd-border: @surface0; + --color-fd-ring: @overlay0; + + --color-fd-primary: @accent; + --color-fd-muted: fade(@subtext1, 5%); + + --color-fd-foreground: @subtext1; + --color-fd-accent-foreground: @subtext1; + --color-fd-card-foreground: @subtext1; + --color-fd-primary-foreground: @subtext1; + --color-fd-secondary-foreground: @subtext1; + --color-fd-popover-foreground: @subtext1; + --color-fd-muted-foreground: @subtext1; + + --color-blue-500: @blue; + --color-red-500: @red; + --color-orange-500: @peach; + + .text-coral, + .zen-link, + .extra a, + .text-\[\#fe846b\], + .text-\[\#f7a74b\], + .text-\[\#f76f53\], + .hover\:text-coral:hover { + color: @accent; + } + + .text-\[\#e3401f\], + .dark\:text-\[\#D02908\] { + color: @red; + } + + .hover\:text-fd-accent-foreground:hover { + color: @text; + } + + .dark\:text-white\/50 { + color: @subtext0; + } + + #nd-sidebar { + --color-fd-secondary: @base; + --color-fd-muted: fade(@subtext1, 5%); + --color-fd-muted-foreground: @text; + } + + img[src="/icon.svg"] { + @svg: escape( + '' + ); + content: url("data:image/svg+xml,@{svg}"); + } + } +} diff --git a/template/catppuccin.user.css b/template/catppuccin.user.css deleted file mode 100644 index 8f9bc3b05c..0000000000 --- a/template/catppuccin.user.css +++ /dev/null @@ -1,115 +0,0 @@ -/* ==UserStyle== -@name Catppuccin -@namespace github.com/catppuccin/userstyles/styles/ -@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ -@version 0.0.1 -@updateURL https://github.com/catppuccin/userstyles/raw/main/styles//catppuccin.user.css -@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3A -@description Soothing pastel theme for -@author Catppuccin -@license MIT - -@preprocessor less -@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] -@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] -@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] -==/UserStyle== */ - -@-moz-document domain('') { - /* This section applies the light/dark themes automatically based on the user's system theme. - Use the below example CSS to start if the website you are theming doesn't have a light/dark mode toggle. - For an actual example of this, see https://github.com/catppuccin/userstyles/blob/39288b593278e5efa48007d5fc001292cf910672/styles/brave-search/catppuccin.user.css#L16-L29. - */ - @media (prefers-color-scheme: light) { - :root { - #catppuccin(@lightFlavor, @accentColor); - } - } - @media (prefers-color-scheme: dark) { - :root { - #catppuccin(@darkFlavor, @accentColor); - } - } - - /* If the website you are theming *does* have a light/dark mode toggle, - you can conditionally enable light/dark flavors by targeting whatever - attribute that website uses to indicate the theme. *The example below gives you an idea of what - to look for. The website you are theming may use a class-based approach (e.g. :root.theme-dark), - or any of the myriad of other methods like this.* - Use the below example CSS to start if this is the case. - For an actual example of this, see https://github.com/catppuccin/userstyles/blob/39288b593278e5efa48007d5fc001292cf910672/styles/youtube/catppuccin.user.css#L21-L30. - */ - :root[data-theme="dark"] { - #catppuccin(@darkFlavor, @accentColor); - } - :root[data-theme="light"] { - #catppuccin(@lightFlavor, @accentColor); - } - - #catppuccin(@lookup, @accent) { - @rosewater: @catppuccin[@@lookup][@rosewater]; - @flamingo: @catppuccin[@@lookup][@flamingo]; - @pink: @catppuccin[@@lookup][@pink]; - @mauve: @catppuccin[@@lookup][@mauve]; - @red: @catppuccin[@@lookup][@red]; - @maroon: @catppuccin[@@lookup][@maroon]; - @peach: @catppuccin[@@lookup][@peach]; - @yellow: @catppuccin[@@lookup][@yellow]; - @green: @catppuccin[@@lookup][@green]; - @teal: @catppuccin[@@lookup][@teal]; - @sky: @catppuccin[@@lookup][@sky]; - @sapphire: @catppuccin[@@lookup][@sapphire]; - @blue: @catppuccin[@@lookup][@blue]; - @lavender: @catppuccin[@@lookup][@lavender]; - @text: @catppuccin[@@lookup][@text]; - @subtext1: @catppuccin[@@lookup][@subtext1]; - @subtext0: @catppuccin[@@lookup][@subtext0]; - @overlay2: @catppuccin[@@lookup][@overlay2]; - @overlay1: @catppuccin[@@lookup][@overlay1]; - @overlay0: @catppuccin[@@lookup][@overlay0]; - @surface2: @catppuccin[@@lookup][@surface2]; - @surface1: @catppuccin[@@lookup][@surface1]; - @surface0: @catppuccin[@@lookup][@surface0]; - @base: @catppuccin[@@lookup][@base]; - @mantle: @catppuccin[@@lookup][@mantle]; - @crust: @catppuccin[@@lookup][@crust]; - @accent-color: @catppuccin[@@lookup][@@accent]; - - color-scheme: if(@lookup = latte, light, dark); - - ::selection { - background-color: fade(@accent-color, 30%); - } - - input, - textarea { - &::placeholder { - color: @subtext0 !important; - } - } - - /* Start styling your website here: */ - background-color: @base; - - /* If you need to specify an overwrite specific to a flavor - * (e.g. only when the flavor is set to latte), you can use a `when` guard clause. */ - & when (@lookup = latte) { - /* ... */ - } - /* You can also negate the statement above by using - * a `when not` guard clause. */ - & when not (@lookup = latte) { - /* ... */ - } - } -} - -/* prettier-ignore */ -@catppuccin: { - @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; - @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; - @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; - @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; -} - -// vim:ft=less diff --git a/template/catppuccin.user.less b/template/catppuccin.user.less new file mode 100644 index 0000000000..d90daf4b01 --- /dev/null +++ b/template/catppuccin.user.less @@ -0,0 +1,67 @@ +/* ==UserStyle== +@name Catppuccin +@namespace github.com/catppuccin/userstyles/styles/ +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/ +@version 2000.01.01 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles//catppuccin.user.less +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3A +@description Soothing pastel theme for +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappรฉ", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ + +@import "https://userstyles.catppuccin.com/lib/std/v1.less"; + +@-moz-document domain("") { + /* This section applies the light/dark themes automatically based on the user's system theme. + Use the below example CSS to start if the website you are theming doesn't have a light/dark mode toggle. + For an actual example of this, see https://github.com/catppuccin/userstyles/blob/39288b593278e5efa48007d5fc001292cf910672/styles/brave-search/catppuccin.user.css#L16-L29. + */ + :root { + @media (prefers-color-scheme: light) { + #catppuccin(@lightFlavor); + } + @media (prefers-color-scheme: dark) { + #catppuccin(@darkFlavor); + } + } + + /* If the website you are theming *does* have a light/dark mode toggle, + you can conditionally enable light/dark flavors by targeting whatever + attribute that website uses to indicate the theme. *The example below gives you an idea of what + to look for. The website you are theming may use a class-based approach (e.g. :root.theme-dark), + or any of the myriad of other methods like this.* + Use the below example CSS to start if this is the case. + For an actual example of this, see https://github.com/catppuccin/userstyles/blob/39288b593278e5efa48007d5fc001292cf910672/styles/youtube/catppuccin.user.css#L21-L30. + */ + :root[data-theme="dark"] { + #catppuccin(@darkFlavor); + } + :root[data-theme="light"] { + #catppuccin(@lightFlavor); + } + + #catppuccin(@flavor) { + #lib.palette(); + #lib.defaults(); + + /* Start styling your website here: */ + background-color: @base; + + /* If you need to specify an overwrite specific to a flavor + * (e.g. only when the flavor is set to latte), you can use a `when` guard clause. */ + & when (@flavor = latte) { + /* ... */ + } + /* You can also negate the statement above by using + * a `when not` guard clause. */ + & when not(@flavor = latte) { + /* ... */ + } + } +} diff --git a/template/preview.webp b/template/preview.webp deleted file mode 100644 index d58ea81f46..0000000000 --- a/template/preview.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:676bd77f20e746524ea7b3ccab01bb124546246d5f880e754f61109fc4191305 -size 21134