Feature set 181. - #96
Merged
Merged
Conversation
Carry the redesign into the games hub, the four cabinets, /stats and /dashboard. The mark moves to assets/mark.css and is shared. It was structural CSS living in home.css, which is the wrong owner once four other pages want it; mark.css holds .mark, .mark-wrap, the two colour tokens and FFIV's pair of them. That last part is what makes the wordmark turn gold on any page loading ff4.css without each page opting in. home.css keeps only what is genuinely its own: the ground tokens and the FFIV hotspot. The wordmark replaces the improvised brands everywhere. The games pages had moogle.png beside the word "moogleAPI"; /stats and /dashboard had a hexagon glyph and the word. Both are the mark now. It is red on the hub, /stats and /dashboard, and each cabinet's own colour on the four games. .nav-brand sets --mark-red from var(--gold) rather than a literal, and every cabinet already overrides --gold on body to assert its identity, so Kupodle's mark comes out its green and Battle Square's its purple with no per-game rules at all. /stats and /dashboard move to the site's dark ground — the same #0d1017 family as the landing page's dark mode. Dark only, and the tokens are set flat with no data-theme, because these are private pages for one signed-in person and a ground toggle there is a control nobody needs. They are named to match home.css so they can become the dark half of a pair later if that changes. Chrome moved; data did not. --green, --red and --yellow encode state and --accent2 carries figures, so they stay cool and semantic rather than turning into the brand red. Stats' Chart.js colours needed the same treatment by hand: the charts paint to a canvas and never see the stylesheet, so its grid, ticks and series are a second place the ground has to be kept in step. The games hub gains the light/dark ground, following the same data-theme the landing page sets, with a toggle in its nav. It lives in games/style.css rather than games.css because that file is shared with the four cabinets, and it says :not(.ff-mode) for the same cascade reason home.css does — the selector ties with ff4.css's palette and loads after it. The four cabinets keep their own palettes and get no toggle. Their identity is the point. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #95, which redesigned
/and left the rest of the site behind. This carries it into the games hub, the four cabinets,/statsand/dashboard.The mark is shared now
It was structural CSS sitting in
home.css, which is the wrong owner once five other pages want it.assets/mark.cssholds.mark,.mark-wrap, the two colour tokens, and FFIV's pair of them — that last part is what makes the wordmark turn gold on any page that loadsff4.csswithout each page opting in.home.csskeeps only what is genuinely its own: the ground tokens and the FFIV hotspot.One mark, different colours
--mark-red/,/games,/stats,/dashboard--gold#f8d030ff4.cssowns it.nav-brandsets--mark-red: var(--gold)rather than a literal, and every cabinet already overrides--goldonbodyto assert itself — so Kupodle's mark comes out its green and Battle Square's its purple with no per-game rules at all.ff4.css's.ff-mode .nav-brandhad to gain the FFIV pair explicitly: it sets--goldto plain white, which would otherwise have left the wordmark white-on-white with no gold "moogle"./stats and /dashboard
Moved to the site's dark ground — the same
#0d1017family as the landing page's dark mode, replacing a#25282cpalette with a blue accent and a gold text brand.Dark only, tokens set flat with no
data-theme. These are private pages for one signed-in person and a ground toggle there is a control nobody needs. They are named to matchhome.cssso they can become the dark half of a pair later if that changes.Chrome moved; data did not.
--green,--redand--yellowencode state and--accent2carries figures, so they stay cool and semantic rather than turning into the brand red — a column of red numbers reads as a column of problems.Stats' Chart.js colours needed the same treatment by hand. The charts paint to a canvas and never see the stylesheet, so its grid, ticks, defaults and series are a second place the ground has to be kept in step — noted in a comment there, because it will not be obvious next time.
The games hub
Gains the light/dark ground, following the same
data-themethe landing page sets, with a toggle in its nav so the choice carries between them. The hub was already wearing the silver palette via a second:rootingames/style.css; this adds the dark half beside it.Scoped by living in that file.
games.cssis shared with the four cabinets, so a dark block there would reach them. And it says:not(.ff-mode)for the same cascade reasonhome.cssdoes: the selector ties withff4.css's palette on specificity and loads after it, so without the exclusion dark mode repaints FFIV in ink.The four cabinets keep their palettes and get no toggle.
Verified
dotnet format --verify-no-changesclean, Release build 0 warnings / 0 errors, 575 tests passing.Rendered and checked:
/light, the hub in both grounds, Kupodle (green mark intact), and/stats+/dashboard. The admin pages are auth-gated and correctly 302 to/signin, so those two were rendered from disk locally rather than by working around the redirect — their data calls 404 in that view, which is expected and not what was under review.Not verified: the Stats charts with real data in them, since the local render has no session.
🤖 Generated with Claude Code