- Skip PNG cache when ?tier= param is set to prevent serving stale T0 images
- Move {% if %} guard before diamond_colors dict in player_card.html
- Extract base #fullCard styles outside refractor conditional in tier_style.html
- Make run-local.sh DB host configurable, clean up Playwright check
Follow-up to PR #179
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move diamond left to align bottom point with center column divider
- Keep all border widths uniform across tiers (remove T4 bold borders)
- Remove corner accents entirely (T4 differentiated by glow + prismatic)
- Fix T4 header z-index: don't override position on absolutely-positioned
topright stat elements (stealing, running, bunting, hit & run)
- Add ?tier= query param for dev preview of tier styling on base cards
- Add run-local.sh for local API testing against dev database
- Add .env.local and .run-local.pid to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Address two review findings from PR #94:
1. Race condition: concurrent requests could both launch Chromium when
_browser is None. Wrap the init check in asyncio.Lock so only one
coroutine creates the browser process.
2. Font duplication: the WOFF2 files are variable fonts covering all
needed weights. Consolidate 5 @font-face blocks (3x Open Sans,
2x Source Sans 3) into 2 using CSS font-weight range syntax,
saving ~163KB of redundant base64 per render.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Recovered player_card.html and related templates from old server
- Required for card generation endpoints (/players/{id}/battingcard)
- Fixes TemplateNotFound errors in production