Files

33 lines
1.8 KiB
Markdown

# CRR brand
Canonical CRR visual assets and framework-independent CSS, consumed by both apps.
- `assets/logo.png`: the original Tournament logo, copied without conversion.
- `assets/favicon.png`: the original Tournament favicon.
- `styles/tokens.css`: shared palette around `#ed1c24`, font stack, radii,
shadows, spacing and focus-ring values.
- `styles/base.css`: box sizing, body defaults, links, controls, focus and tables.
- `styles/components.css`: the existing primary/quiet button, panel and error
alert patterns used by both Vue and Jinja. Existing class names are supported
directly so templates retain their own structure.
Load tokens, base and components **before** the application's own stylesheet.
Application CSS owns sizes, typography hierarchy, responsive layout, control
spacing, specialist badges and print-card dimensions. Local variable names are
aliases of `--crr-*` tokens, keeping existing styles/components compatible.
Tournament resolves `@crr-brand` through Vite and uses `assets/` as its public
asset directory. Shifts mounts this directory at `/brand` using FastAPI
`StaticFiles`; Jinja uses `url_for('brand', ...)` so `ROOT_PATH` is respected.
Its PDF exporter reads this same logo. Both Docker builds copy the package from
the repository-root context, preserving its relative path to each application.
Brand-only changes trigger both application CI jobs. This package contains no
domain code or UI framework components and has no independent public version.
After changing branding, run both app checks/builds and `make branding-visual-check`
to compare desktop/mobile geometry and Tournament print cards against the legacy
baseline. `make migration-visual-check` compares rendered pages to the approved
Phase 2 screenshots. Baseline staging and Playwright prerequisites are documented
in `migration/README.md`.