diff --git a/src/static_src/scss/_card-deck.scss b/src/static_src/scss/_card-deck.scss index d54c737..5949e3a 100644 --- a/src/static_src/scss/_card-deck.scss +++ b/src/static_src/scss/_card-deck.scss @@ -353,35 +353,26 @@ // shared `.tarot-fan-wrap` ancestor by `game-kit.js:_populateStage` and // `_flipActive` so the stat block can pick up the opposite-polarity bg // without JS having to touch the stat block directly. -.tarot-fan-wrap[data-polarity="gravity"] .fan-stage-block { - background: rgba(var(--secUser), 1); - border-color: rgba(var(--priUser), 0.15); - color: rgba(var(--priUser), 1); - .stat-face-label { color: rgba(var(--quiUser), 1); } - // Sprint A.7.5 — chip uses --secUser by default; under gravity the - // stat-block bg IS --secUser, so the chip would be invisible. Flip - // to --priUser to stay on the opposite-polarity side per the - // [[feedback-card-polarity-convention]]. - .stat-face-chip { color: rgba(var(--priUser), 1); } - .stat-keywords li { - color: rgba(var(--priUser), 1); - border-bottom-color: rgba(var(--priUser), 0.18); - } -} -.tarot-fan-wrap[data-polarity="levity"] .fan-stage-block { +// Sprint A.7.5 user-spec 2026-05-25 PM — gravity polarity stat-block bg +// flipped from --secUser to --priUser to match the applet's pattern (which +// keeps the stat-block bg as --priUser under both polarities). User +// observation: "polarity seems to be reversed everywhere but the My Sign +// applet". Card + stat-block now share the SAME polarity bg (--priUser +// under gravity) — explicit revision of the prior opposite-polarity rule. +// Inner color overrides (label/chip/keywords) collapse to match the levity +// branch since both now sit on --priUser bg. +.tarot-fan-wrap[data-polarity="gravity"] .fan-stage-block, +.tarot-fan-wrap[data-polarity="levity"] .fan-stage-block { background: rgba(var(--priUser), 1); border-color: rgba(var(--terUser), 0.15); color: rgba(var(--secUser), 1); - // Sprint A.7.5 — label drops to --secUser to match the new applet - // convention. Was --terUser; --secUser still has comfortable contrast - // against the --priUser bg + lets the title (--quaUser/--terUser per - // arcana) stay the focal text. .stat-face-label { color: rgba(var(--secUser), 1); } .stat-keywords li { color: rgba(var(--quiUser), 1); border-bottom-color: rgba(var(--terUser), 0.18); } } +// Levity rule above (combined w. gravity since both now use --priUser bg). .fan-card { position: absolute; @@ -1254,11 +1245,14 @@ html:has(.sig-backdrop) { } .sig-overlay[data-polarity="gravity"], .my-sign-page[data-polarity="gravity"] { - // Stat block: invert priUser/secUser so gravity gets the same stark contrast as leavened cards + // Sprint A.7.5 user-spec 2026-05-25 PM — stat-block bg under gravity + // collapses to the default --priUser (was --secUser w. inverted + // priUser/secUser), matching the My Sign applet's universal --priUser + // stat-block. Label/chip/keyword overrides below collapse too — the + // default rules (tuned for --priUser bg) cover both polarities now. .sig-stat-block { - background: rgba(var(--secUser), 0.75); - color: rgba(var(--priUser), 1); - border-color: rgba(var(--priUser), 0.15); + // bg falls through to the default `rgba(var(--priUser), 0.5)` set + // at `.sig-stage .sig-stat-block` above; no per-polarity override. } // Caution tooltip: --tooltip-bg is black so priUser text (dark) would be invisible — // override to secUser (light) so body text reads against the dark backdrop. @@ -1271,13 +1265,9 @@ html:has(.sig-backdrop) { .sig-stage-card .fan-card-reversal-qualifier, .sig-stage-card .sig-qualifier-above, .sig-stage-card .sig-qualifier-below { color: rgba(var(--terUser), 1); } - // Stat-face label: gravity stat-block bg is --secUser (opposite of gravity card's - // --priUser bg), so the label takes the levity-card text color (--quiUser) to - // stay legible against the lighter stat-block. - .sig-stat-block .stat-face-label { color: rgba(var(--quiUser), 1); } - // Sprint A.7.5 — chip flips to --priUser under gravity (default --secUser - // would be invisible on the --secUser stat-block bg). - .sig-stat-block .stat-face-chip { color: rgba(var(--priUser), 1); } + // Sprint A.7.5 — label + chip overrides under gravity dropped; the + // shared --secUser default (tuned for --priUser bg) applies in both + // polarities now that gravity stat-block bg = --priUser. // Upright + reversal title glow — gravity .sig-stage-card .fan-card-name, .sig-stage-card .sig-qualifier-above, @@ -2145,28 +2135,21 @@ $_sea-title-els: '.fan-card-name, .sig-qualifier-above, .sig-qualifier-below, .f // unchanged — `.is-reversed` still just toggles which face renders; // it does NOT shift the bg (orientation is preview-only, polarity is // the persisted axis that paints the surfaces). -.sea-stage--gravity .sea-stat-block { - background: rgba(var(--secUser), 0.85); - border-color: rgba(var(--priUser), 0.15); - .stat-face-label { color: rgba(var(--quiUser), 1); } - // Sprint A.7.5 — chip flips to --priUser under gravity (bg is --secUser). - .stat-face-chip { color: rgba(var(--priUser), 1); } - .stat-keywords li { - color: rgba(var(--priUser), 1); - border-bottom-color: rgba(var(--priUser), 0.18); - } -} -.sea-stage--levity .sea-stat-block { +// Sprint A.7.5 user-spec 2026-05-25 PM — gravity stat-block bg flipped to +// match the My Sign applet (always --priUser regardless of polarity). Both +// gravity + levity collapse to the same colors since both sit on --priUser +// bg now; the original opposite-polarity inversion is dropped. +.sea-stage--gravity .sea-stat-block, +.sea-stage--levity .sea-stat-block { background: rgba(var(--priUser), 0.85); border-color: rgba(var(--terUser), 0.15); - // Sprint A.7.5 — label flipped to --secUser (was --terUser) to match - // the new applet convention. --secUser still contrasts well w. --priUser bg. .stat-face-label { color: rgba(var(--secUser), 1); } .stat-keywords li { color: rgba(var(--quiUser), 1); border-bottom-color: rgba(var(--terUser), 0.18); } } +// Levity rule above (combined w. gravity since both now use --priUser bg). @media (orientation: landscape) { html.sea-open body .container .navbar,