Skip to content

feat(nyt-games): init#2146

Draft
wingio wants to merge 11 commits intocatppuccin:mainfrom
wingio:nyt-games
Draft

feat(nyt-games): init#2146
wingio wants to merge 11 commits intocatppuccin:mainfrom
wingio:nyt-games

Conversation

@wingio
Copy link
Copy Markdown

@wingio wingio commented Feb 26, 2026

🎉 Theme for NYT Games 🎉

NYT Games is a collection of word and puzzle games by the New York Times. It includes the crossword, Wordle, Connections, and several more.

image

💬 Additional Comments 💬

While a lot is shared between the different games and subpages, there are occasional differences that we're a bit annoying to account for.

  • Some pages appear to be written in different frameworks or with different levels of mangling.
  • Despite having a lot of named color variables they still hardcode colors for a lot of elements.
  • Icons are mostly implemented as background images, so modifying thier colors could be very annoying.

🗒 Checklist 🗒

  • I have read and followed Catppuccin's submission guidelines.
  • I have made a new directory underneath /styles/<name-of-website> containing the contents of the /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.
  • I have made sure to update the userstyles.yml file with information about the new userstyle.
  • I have included the following files:
    • catppuccin.user.less - all the CSS for the userstyle, based on the template.

@scarcekoi
Copy link
Copy Markdown
Member

Icons are mostly implemented as background images, so modifying thier colors could be very annoying.

The ones that are svgs can be themed like so: https://userstyles.catppuccin.com/contributing/guides/images-and-svgs
It might be tedious if there are a lot. From a glance they seem to be svgs in background-images so they can be themed like so: https://userstyles.catppuccin.com/contributing/guides/images-and-svgs/#external-svg-url.

@wingio
Copy link
Copy Markdown
Author

wingio commented Feb 26, 2026

Icons are mostly implemented as background images, so modifying thier colors could be very annoying.

The ones that are svgs can be themed like so: https://userstyles.catppuccin.com/contributing/guides/images-and-svgs
It might be tedious if there are a lot. From a glance they seem to be svgs in background-images so they can be themed like so: https://userstyles.catppuccin.com/contributing/guides/images-and-svgs/#external-svg-url.

i figured I'd have to do that, ill probably just put them all in a big chunk at the bottom

Comment on lines +166 to +172
--bg-pips-region-transparency: 70%;
--bg-pips-region-purple: color-mix(in srgb, @mauve, transparent var(--bg-pips-region-transparency));
--bg-pips-region-orange: color-mix(in srgb, @peach, transparent var(--bg-pips-region-transparency));
--bg-pips-region-pink: color-mix(in srgb, @pink, transparent var(--bg-pips-region-transparency));
--bg-pips-region-blue: color-mix(in srgb, @blue, transparent var(--bg-pips-region-transparency));
--bg-pips-region-navy: color-mix(in srgb, @sky, transparent var(--bg-pips-region-transparency));
--bg-pips-region-green: color-mix(in srgb, @green, transparent var(--bg-pips-region-transparency));
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure exactly what this is for but just fwiw, you can do fade(@mauve, 70%) to change the opacity of palette colors directly!

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh thats neat

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +222 to +227

// Use thicker weights in light mode for improved contrast
& when (@flavor = latte) {
border-width: 2px;
font-weight: bold;
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm unfortunately our style guide forbids non-color related changes to styling. Could you show me what the latte mode looks like for this component without this?

--bg-tile-sudoku-unfilled: @surface0;

--bg-tile-sudoku-directly-highlighted: @peach;
--bg-tile-sudoku-highlighted-indirectly: color-mix(in srgb, @surface0, @yellow 50%);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For mixing colors, we can use Less's mix function: https://lesscss.org/functions/#color-operations-mix.

Comment on lines +519 to +534
/* We love hardcoded svgs :) */
& when (@flavor =latte) {
background-image: url("data:image/svg+xml;charset=US-ASCII,<svg%20xmlns%3D\"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg\"%20width%3D\"18\"%20height%3D\"18\"%20viewBox%3D\"0%200%2018%2018\"><path%20d%3D\"M15%2017.7H3c-1.5%200-2.8-1.2-2.8-2.8V3C.2%201.5%201.4.2%203%20.2h12c1.5%200%202.8%201.2%202.8%202.8v12c0%201.5-1.3%202.7-2.8%202.7zM3%201.7c-.7%200-1.2.6-1.2%201.3v12c0%20.7.6%201.3%201.2%201.3h12c.7%200%201.2-.6%201.2-1.3V3c0-.7-.6-1.2-1.2-1.2H3zM9%2012l-3.4%201.7.7-3.7-2.8-2.6%203.8-.5L9%203.5l1.7%203.4%203.8.5-2.8%202.6.7%203.7\"%20fill%3D\"%23df8e1d\"%2F><%2Fsvg>")
}

& when (@flavor =frappe) {
background-image: url("data:image/svg+xml;charset=US-ASCII,<svg%20xmlns%3D\"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg\"%20width%3D\"18\"%20height%3D\"18\"%20viewBox%3D\"0%200%2018%2018\"><path%20d%3D\"M15%2017.7H3c-1.5%200-2.8-1.2-2.8-2.8V3C.2%201.5%201.4.2%203%20.2h12c1.5%200%202.8%201.2%202.8%202.8v12c0%201.5-1.3%202.7-2.8%202.7zM3%201.7c-.7%200-1.2.6-1.2%201.3v12c0%20.7.6%201.3%201.2%201.3h12c.7%200%201.2-.6%201.2-1.3V3c0-.7-.6-1.2-1.2-1.2H3zM9%2012l-3.4%201.7.7-3.7-2.8-2.6%203.8-.5L9%203.5l1.7%203.4%203.8.5-2.8%202.6.7%203.7\"%20fill%3D\"%23e5c890\"%2F><%2Fsvg>")
}

& when (@flavor =macchiato) {
background-image: url("data:image/svg+xml;charset=US-ASCII,<svg%20xmlns%3D\"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg\"%20width%3D\"18\"%20height%3D\"18\"%20viewBox%3D\"0%200%2018%2018\"><path%20d%3D\"M15%2017.7H3c-1.5%200-2.8-1.2-2.8-2.8V3C.2%201.5%201.4.2%203%20.2h12c1.5%200%202.8%201.2%202.8%202.8v12c0%201.5-1.3%202.7-2.8%202.7zM3%201.7c-.7%200-1.2.6-1.2%201.3v12c0%20.7.6%201.3%201.2%201.3h12c.7%200%201.2-.6%201.2-1.3V3c0-.7-.6-1.2-1.2-1.2H3zM9%2012l-3.4%201.7.7-3.7-2.8-2.6%203.8-.5L9%203.5l1.7%203.4%203.8.5-2.8%202.6.7%203.7\"%20fill%3D\"%23eed49f\"%2F><%2Fsvg>")
}

& when (@flavor =mocha) {
background-image: url("data:image/svg+xml;charset=US-ASCII,<svg%20xmlns%3D\"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg\"%20width%3D\"18\"%20height%3D\"18\"%20viewBox%3D\"0%200%2018%2018\"><path%20d%3D\"M15%2017.7H3c-1.5%200-2.8-1.2-2.8-2.8V3C.2%201.5%201.4.2%203%20.2h12c1.5%200%202.8%201.2%202.8%202.8v12c0%201.5-1.3%202.7-2.8%202.7zM3%201.7c-.7%200-1.2.6-1.2%201.3v12c0%20.7.6%201.3%201.2%201.3h12c.7%200%201.2-.6%201.2-1.3V3c0-.7-.6-1.2-1.2-1.2H3zM9%2012l-3.4%201.7.7-3.7-2.8-2.6%203.8-.5L9%203.5l1.7%203.4%203.8.5-2.8%202.6.7%203.7\"%20fill%3D\"%23f9e2af\"%2F><%2Fsvg>")
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see our image theming documentation: https://userstyles.catppuccin.com/contributing/guides/images-and-svgs/.

We can do a similar thing but make editing the SVG easier — set a variable to the SVG contents, use our palette variables (almost like normal - @{mauve} instead of @mauve), and then escape it to use in the data URI. That's under https://userstyles.catppuccin.com/contributing/guides/images-and-svgs/#inlined-svg-data-url.

It might be simpler though, depending on what this is, to use https://userstyles.catppuccin.com/contributing/guides/images-and-svgs/#monochrome-img-elements.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually learned about this from a previous comment and have it updated locally

Comment on lines +552 to +555
/* Normal text color on yellow has poor contrast in dark themes */
& when not(@flavor =latte) {
color: @crust;
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you show a screenshot of what this looks like without this? We usually use base as the text color for foregrounds on accent-colored backgrounds, fwiw — so it might make sense to set the text color to @base for all of these, not just latte.

Copy link
Copy Markdown
Member

@uncenter uncenter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great so far, sorry for the review comments, I couldn't help myself from giving some tips :)

@wingio
Copy link
Copy Markdown
Author

wingio commented Mar 3, 2026

its my first time doing a theme like this so all feedback is appreciated!

@WalkQuackBack WalkQuackBack added the 0.kind: init A new userstyle label Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.kind: init A new userstyle

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants