From d8377b57bc7fd9269ba9e276ccaf3b21e947a8cf Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Sat, 30 May 2026 02:26:29 -0400 Subject: [PATCH] =?UTF-8?q?my-sea=20cards:=20fix=20rotated=20significator/?= =?UTF-8?q?cross=20blur=20=E2=80=94=20drop=20the=204-shadow=20contour=20ch?= =?UTF-8?q?ain=20on=20rotated=20image=20cards,=20keep=20depth=20=E2=80=94?= =?UTF-8?q?=20TDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The image-card contour stroke is 4 chained `drop-shadow()`s; each re-rasterizes the already-downscaled card (408→~64px), so on a ROTATED card the compounded re-sampling reads as BLUR. It's NOT the angle — even the 5° significator blurs, while the 90° cross blurs hardest; the upright COVER (same filter, no rotation) + the unrotated preview modal stay crisp. Verified live (dpr 1): a lone depth drop-shadow on a rotated card is crisp, the 4-shadow chain is not. Fix: the rotated image cards (`.sea-sig-card` -5° + `.sea-pos-cross .sea-card-slot` 90°/270°) drop the contour chain, keeping only the depth drop-shadow → crisp. Upright cards keep the full contour. Zeroing `--img-stroke-w` wouldn't help (the blur is the chained-shadow re-rasterization, not the stroke offset). RWS's contour was a redundant double-frame over its printed border anyway, so its rotated cards lose nothing visible. Verified in Firefox: the enlarged 5° significator renders crisp (sharp title + edges) with depth + printed border intact. Code architected by Disco DeDisco Co-Authored-By: Claude Opus 4.8 (1M context) --- src/static_src/scss/_card-deck.scss | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/static_src/scss/_card-deck.scss b/src/static_src/scss/_card-deck.scss index 89ce7d4..4e94991 100644 --- a/src/static_src/scss/_card-deck.scss +++ b/src/static_src/scss/_card-deck.scss @@ -870,6 +870,20 @@ body.deck-family-english { --img-stroke-w: 0.125rem; } +// ROTATED image cards (the 5° spread significator + the 90°/270° cross) drop the +// 4-cardinal CONTOUR-stroke chain, keeping ONLY the depth drop-shadow. Each +// contour drop-shadow re-rasterizes the already-downscaled card image (408→64px +// here), so a rotation compounds that re-sampling into visible BLUR — verified +// 2026-05-30: a lone depth shadow on a rotated card stays crisp, the 4-shadow +// chain does not (it's NOT the angle; even the 5° sig blurs). Upright cards keep +// the full contour. The override sets `filter` outright (zeroing `--img-stroke-w` +// wouldn't help — the blur is the chained-shadow re-rasterization, not the +// offset). Source-ordered after the base + english rules to win the 0-3-0 tie. +.sea-sig-card.sig-stage-card--image .sig-stage-card-img, +.sea-pos-cross .sea-card-slot--image .sig-stage-card-img { + filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 1)); +} + // ─── My Sign picker — sizing + state-gated reveal ──────────────────────────── // Two-phase layout: landing (DRY 1-chair hex w. SCAN SIGN center) → picker // (sig-card grid below an always-present stage frame). SAVE SIGN rides