Re-theme site to Tokyo-11 (Tokyo Night, orange action, purple accent, Semi radius) - #438
Merged
Conversation
…cent, Semi radius) Owner-ruled palette swap (theme-options study, palette 11) on top of #425's token-layer pass: new colour/radius tokens in _theme-tokens.scss, Bootstrap variable + runtime var(--bs-*)/var(--theme-*) wiring in styles.scss (incl. the AAA button-ink flip and a WCAG/APCA audit fold-in: opaque accent focus ring, .btn-close/.fbtoggle target-size fixes, a lightened muted token), accent wiring across D14/chips/toggles/selection outlines, a sitewide sweep of hardcoded old-palette literals onto token references, and matching DisplayLeftRailFidelity.spec.ts updates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4 tasks
…I onto Tokyo-11 PR #431 landed after the original sweep with its own hardcoded #302-derived literals (CardbackApplyPrompt.tsx, useCardbackReminderGate.tsx, PDFWaitPanel.tsx, SlotCardbackControl.tsx, plus a new DisplayPage.tsx line) - migrated onto var(--bs-*)/var(--theme-*) tokens the same way the rest of the sweep was, including simplifying the primary/info/success at-rest button text to use the token directly (Tokyo-11's action colours are light enough, unlike #302's, so the separate hand-picked tint literals aren't needed any more). CardbackPdfWaitFidelity.spec.ts's own literal assertions updated to match, comment-linked per row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 tasks
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.
Description
Implements the owner-ruled Tokyo-11 re-theme (theme-options palette-exploration study, palette 11 "Tokyo × orange-action + purple-accent", Semi corner radius, strict-AAA contrast bar). This is
_theme-tokens.scss's (PR #425) first real "retheme the site" exercise. Three follow-up scope extensions from the coordinator (Bootstrap runtime-var bridge, spacing/type scale, and a WCAG/APCA audit fold-in from PR #432's report) are folded into the same PR.Token diff (old #302 → Tokyo-11)
#0f2537#1a1b26#22303f#24283b$secondary)#4e5d6c#2f3549#4e5d6b#2f3548#2b3e50#222234#16202b#16161e#ebebeb#c0caf5#8fa0b0#a3aad0#abb6c2#df6919#ff9e64#5cb85c#9ece6a#d9534f#f7768e#ffc107#e0af68#5bc0de#7dcfff#1a1b26#bb9af706px08px10px10pxAccent surface list
D14 confidence pill (
.statepill.suggested) + score badge; Sources toggle ON state; Front/Back toggle active state; version-selection glow (.mpccard-highlight, bothSelectVersionResults/CardResultSet); the print sheet's selected-slot outline; the funnel's "suggested" chip/corner markers. Never small paragraph text — accent measures 6.74:1 on the D14 band, below strict-normal 7:1 (near-strict, legible on bold pill text/borders only). Bootstrap's global$link-colordeliberately stays on$primary, not accent — see theming.md's "accent scope boundary."AAA numbers
Body text-on-panel 7.54:1 / on-raised 9.02:1. Buttons: primary 8.40, success 9.35, warning 8.55 (all STRICT-AAA); danger 6.46 (AAA-large only — documented deviation, white ink would be far worse at 2.65). Accent-on-band 6.74 (near-strict, UI-role only). Focus ring (opaque accent) 7.39/6.30/5.26 vs body/raised/panel — clears the 3:1 non-text floor everywhere.
Provenance
Palette derived from Tokyo Night (MIT, © 2018-present Enkia — verified LICENSE.txt) — colour values only, no code.
$theme-infodraws from the same upstream project's cyan swatch (not part of the study's own 10-token set). Full provenance header lives in_theme-tokens.scss. Doc-instruction finding:docs/features/theming.mdhad no provenance-comment convention before this PR (this is its first real consumer) — added one in place, per this task's own ask.Coordinator scope extensions folded in
styles.scssnow explicitly assigns$primary/$secondary/$success/$danger/$warning/$info/$body-bg/$body-colorfrom tokens, so Bootstrap 5.3's own_root.scssemits every--bs-*custom property (and-rgbvariant) from them for free — no separate JS runtime state needed._theme-tokens.scssemits a parallel, deliberately-lean--theme-*bridge only for tokens with no Bootstrap equivalent (avoiding a second source of truth for the same value).$theme-space-1..6(4/8-based) and$theme-font-2xs..xladded, explicitly future-specs-only — no existing surface was re-spaced; an off-scale-values table lives in theming.md.$theme-accentring (was 25%-alpha$primary, measured 1.18-1.56:1) — now 3:1+ everywhere via one shared$focus-ring-*override..btn-close:$btn-close-width21px→25px (WCAG 2.5.8),$btn-close-colorrouted to$theme-text(was invisible dark-on-dark)..fbtoggle(owner-ruled amendment):min-height: 24pxadded (measured 51-55×23px).$theme-mutedlightened#8fa0b0→#a3aad0(APCA Lc 44.1 finding; no APCA library in this repo, remediated via the WCAG proxy instead — numbers and the WCAG-vs-APCA policy note are in theming.md).Doc updates in this PR
docs/features/theming.md: token table, provenance convention, runtime-var contract, spacing/type scale + off-scale table, AAA/WCAG-2.2/APCA-advisory policy section, accent scope boundary — all rewritten/extended in place.docs/proposals/mockups/proposal-h/SPEC-display-left-rail.md: §D.0's palette table is historical (Sitewide retheme: adopt the /display reference-mockup aesthetic (palette, shapes) across the app #302-era) — added a superseding pointer to theming.md rather than rewriting the whole historical doc.Wiki: site look changed sitewide (palette + radius) — flag for a wiki screenshot/description update at merge time.
Verification
:rootcustom properties at 1400px and 390px, 15 tokens × 2 viewports = 30 comparisons): 0 mismatches.DisplayLeftRailFidelity.spec.ts: 15 tests, all green — includes 2 new permanent guards (AAA contrast pair + focus-ring/btn-close/fbtoggle target-size, all reading real computed styles/boundingBox(), not authored CSS)./display+/printPlaywright coverage (DisplayPage, SelectVersionSection, DisplaySlotStates, DisplayFinishFooter, CardSlot, PagePreview, PDFGenerator, GridSelectorModal×2, GeneralUIAccessibility, ChangeQueryModal, Navbar, alltests/visual/*) at 4 workers: 135 passed, 2 flaky-then-passed-on-retry (confirmed pre-existing worker-contention flakes, not caused by this change — both pass clean in isolation), 13 skipped (pre-existing).npx tsc --noEmit: clean.npm test(jest): 65 suites / 573 tests pass.npx prettier@2.7.1 --check: clean on every changed file.next build: compiles cleanly.origin/master(2 commits landed after this branch's base — Port/drop the 6 Proposal-H-parked Playwright spec files #427, Graduate crash-drill script, fix test snapshot-sequence pinning #405) — clean merge, no conflicts, re-verified tsc/jest/the fidelity+CardSlot+PagePreview+PDFGenerator suites post-merge./home/ubuntu/.claude/jobs/e893dbef/tmp/theme-build/(not committed — local verification artifacts).Checklist
pre-commitand installed the hooks withpre-commit installbefore creating any commits./editorat 1400px/390px, a modal, and/print(screenshots above) — confirmed the palette, ink flips, and accent wiring render as specced.