.card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-lg); border-radius: var(--radius-card); cursor: pointer; transition: flex-grow var(--duration-card) var(--ease-spring), opacity 400ms var(--ease-smooth), filter 400ms var(--ease-smooth); overflow: hidden; min-height: 0; } /* Card A — Deep Violet gradient */ .card--a { background: linear-gradient(160deg, var(--color-card-a-from), var(--color-card-a-to)); } /* Card B — Electric Blue gradient */ .card--b { background: linear-gradient(160deg, var(--color-card-b-from), var(--color-card-b-to)); } /* Tap feedback */ .card:active { transform: scale(0.98); transition: transform 80ms ease; } /* After choice — faded (not chosen) */ .card--faded { opacity: 0.65; filter: brightness(0.8) saturate(0.85); } /* After choice — chosen */ .card--chosen { opacity: 1; } /* Tap hint on chosen card */ .card--tap-next { cursor: pointer; } /* ---------- Text ---------- */ .card-text { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--color-text); text-align: center; line-height: 1.3; word-break: break-word; max-width: 280px; } /* ---------- Stats ---------- */ .card-stats { position: absolute; bottom: var(--space-md); right: var(--space-md); text-align: right; animation: statsReveal 500ms var(--ease-spring) forwards; } .card-percent { display: block; font-family: var(--font-mono); font-size: 28px; font-weight: 700; line-height: 1; } .card--a .card-percent { color: var(--color-stat-a); } .card--b .card-percent { color: var(--color-stat-b); } .card-count { display: block; font-family: var(--font-mono); font-size: 13px; font-weight: 500; color: var(--color-muted); margin-top: 2px; } /* ---------- Hint ---------- */ .card-hint { position: absolute; bottom: var(--space-sm); left: 50%; transform: translateX(-50%); font-size: 11px; color: var(--color-muted); opacity: 0; animation: hintFadeIn 600ms 800ms var(--ease-smooth) forwards; white-space: nowrap; } /* ---------- Animations ---------- */ @keyframes statsReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @keyframes hintFadeIn { from { opacity: 0; } to { opacity: 0.6; } }