sea stage: gate the FLIP-back 0.3 polarity tint to the cloned dubbodeck (Sea Select); my_sea/visit monodeck backs render un-tinted

- the `.sea-stage--gravity/levity .sea-stage-card.is-flipped-to-back::after` 0.3 fill differentiates the two halves of a monodeck CLONED into a two-toned dubbodeck — only meaningful in Sea Select. my_sea / my_sea_visit draw a single monodeck that is never cloned, so the tint was just noise on their FLIP'd card-back
- the shared `_sea_stage.html` now takes a `sea_stage_dubbo` flag; only `_sea_overlay.html` (the gameroom Sea Select felt) passes it → `.sea-stage--dubbo` on #id_sea_stage. The two tint rules gate on `.sea-stage--dubbo.sea-stage--gravity/levity`; non-dubbo stages fall through to the empty, fill-less base `::after` (no visible overlay)

[[project-deck-segment-model]]

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-06-08 11:29:04 -04:00
parent bd9155c13b
commit 1a83c5f01c
3 changed files with 12 additions and 4 deletions

View File

@@ -2354,10 +2354,15 @@ $_sea-title-els: '.fan-card-name, .sig-qualifier-above, .sig-qualifier-below, .f
border-radius: 0.4rem; border-radius: 0.4rem;
} }
} }
.sea-stage--gravity .sea-stage-card.is-flipped-to-back { // The 0.3 fill only earns its keep where a monodeck is CLONED into a two-toned
// gravity/levity dubbodeck (Sea Select — `.sea-stage--dubbo`, flagged by
// _sea_overlay.html) and the two stacks must read apart. my_sea / my_sea_visit
// draw from a single monodeck that is never cloned, so their flipped back stays
// un-tinted (no `--dubbo` flag → only the empty, fill-less base `::after` above).
.sea-stage--dubbo.sea-stage--gravity .sea-stage-card.is-flipped-to-back {
&::after { background: rgba(var(--quiUser), 0.3); } &::after { background: rgba(var(--quiUser), 0.3); }
} }
.sea-stage--levity .sea-stage-card.is-flipped-to-back { .sea-stage--dubbo.sea-stage--levity .sea-stage-card.is-flipped-to-back {
&::after { background: rgba(var(--terUser), 0.3); } &::after { background: rgba(var(--terUser), 0.3); }
} }

View File

@@ -146,7 +146,10 @@ via epic:sea_save. `?seat` threads the CARTE-selected seat onto the action URLs.
</div> </div>
{# Sea stage — portaled big-card viewer (position:fixed, escapes the snap). #} {# Sea stage — portaled big-card viewer (position:fixed, escapes the snap). #}
{% include "apps/gameboard/_partials/_sea_stage.html" %} {# `sea_stage_dubbo` flags the gameroom's cloned two-toned dubbodeck so the #}
{# FLIP-back polarity tint applies HERE only (my_sea/visit draw a monodeck #}
{# that is never cloned — no tint there). See _card-deck.scss. #}
{% include "apps/gameboard/_partials/_sea_stage.html" with sea_stage_dubbo=True %}
</div> </div>
</div> </div>

View File

@@ -6,7 +6,7 @@
{# #} {# #}
{# Shared by the gameroom SEA SELECT phase and the my-sea picker — same #} {# Shared by the gameroom SEA SELECT phase and the my-sea picker — same #}
{# HTML, same SeaDeal module bindings; only the parent overlay differs. #} {# HTML, same SeaDeal module bindings; only the parent overlay differs. #}
<div class="sea-stage" id="id_sea_stage" style="display:none"> <div class="sea-stage{% if sea_stage_dubbo %} sea-stage--dubbo{% endif %}" id="id_sea_stage" style="display:none">
<div class="sea-stage-backdrop"></div> <div class="sea-stage-backdrop"></div>
<div class="sea-stage-content"> <div class="sea-stage-content">
<div class="sig-stage-card sea-stage-card"> <div class="sig-stage-card sea-stage-card">