cards 48–49 polarity-split titles; sea-stage mobile breakpoints; @comment fix — TDD
- migration 0015 fills card 49 levity_reversal=The Vibrational Mould of Man, gravity_reversal=The All-Bestowing Eagle (card 48 already seeded in 0004)
- _tarot_fan.html: 4 new data-* attrs (data-levity-emanation / data-gravity-emanation / data-levity-reversal / data-gravity-reversal); upright + reversal slots render full polarity-split title in name slot when set, qualifier slots blank
- StageCard.fromDataset: parse the 4 new attrs; populateCard: emanationOverride / reversalOverride per polarity bypasses the standard name+qualifier rendering
- model: emanation_for / reversal_for fall back to name_title (group prefix stripped) instead of full self.name; reversal_for uses self.reversal_qualifier (was leftover self.reversal post-rename)
- sea-stage-content: --sig-card-w lifted from inline style to SCSS w. portrait ≤480px / landscape ≤500h breakpoints both stepping to 130px (mirrors fan modal triggers); default 180px
- _tarot_fan.html: rewrite multi-line {# #} that rendered as page text into {% comment %}{% endcomment %}
Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -424,15 +424,17 @@
|
||||
line-height: 1;
|
||||
background: none;
|
||||
border: none;
|
||||
color: rgba(var(--secUser), 0.6);
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 1);
|
||||
color: rgba(var(--terUser), 0.6);
|
||||
cursor: pointer;
|
||||
padding: 1rem;
|
||||
transition: color 0.15s;
|
||||
pointer-events: auto;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
|
||||
&:hover { color: rgba(var(--secUser), 1); }
|
||||
&:hover { color: rgba(var(--ninUser), 1); }
|
||||
// Suppress browser focus ring on mouse/touch clicks; retain it for keyboard nav
|
||||
&:focus:not(:focus-visible) { outline: none; box-shadow: none; }
|
||||
&--prev { left: 1rem; }
|
||||
&--next { right: 1rem; }
|
||||
}
|
||||
@@ -1392,6 +1394,12 @@ $_glow-gravity: 0 0 0.8rem 0.15rem rgba(var(--quaUser), 0.6);
|
||||
}
|
||||
|
||||
.sea-stage-content {
|
||||
// Card width drives the stage-card AND the stat block (which reuses
|
||||
// --sig-card-w via the shared stat-block-shared mixin's calc rules).
|
||||
// Override per breakpoint below to keep the stage from blowing up on small
|
||||
// screens.
|
||||
--sig-card-w: 180px;
|
||||
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
@@ -1401,6 +1409,15 @@ $_glow-gravity: 0 0 0.8rem 0.15rem rgba(var(--quaUser), 0.6);
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
// Sea-stage mobile breakpoints — mirror the fan modal's portrait/landscape
|
||||
// trigger thresholds so behavior across staging surfaces stays consistent.
|
||||
@media (orientation: portrait) and (max-width: 480px) {
|
||||
.sea-stage-content { --sig-card-w: 130px; }
|
||||
}
|
||||
@media (orientation: landscape) and (max-height: 500px) {
|
||||
.sea-stage-content { --sig-card-w: 130px; }
|
||||
}
|
||||
|
||||
// Stage card — size matches sig-select stage (--sig-card-w driven by inline style)
|
||||
.sea-stage-card {
|
||||
flex-shrink: 0;
|
||||
|
||||
Reference in New Issue
Block a user