feat: remove header row, add unlock gate + ring animation to Satz card

- Remove lang/points header from all 3 card types
- PairSentenceCard: Verstanden button locked until audio played OR
  translate button held for 2 seconds
- Hold button shows circular gold ring filling up over 2s while held
- TTS button highlights gold when unlocked
- .pair-btn-locked style for disabled state

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-28 13:04:38 +02:00
parent f299769ee9
commit a0572c928b
4 changed files with 89 additions and 60 deletions

View File

@@ -71,12 +71,31 @@
cursor: pointer;
padding: 0;
flex-shrink: 0;
transition: background 0.15s;
transition: background 0.15s, color 0.15s;
color: #7A6E55;
-webkit-user-select: none;
user-select: none;
}
.pair-icon-btn:hover { background: #E0DAC8; }
.pair-icon-btn.active { background: #E0DAC8; }
.pair-icon-btn.active { background: #C4A85A22; color: #B07840; }
/* Hold-to-translate button */
.pair-hold-wrap {
width: 38px;
height: 38px;
flex-shrink: 0;
cursor: pointer;
-webkit-user-select: none;
user-select: none;
border-radius: 10px;
overflow: visible;
}
/* Ring fill animation — 2 seconds */
@keyframes holdRing {
from { stroke-dashoffset: 100.53; }
to { stroke-dashoffset: 0; }
}
/* ── Image area ── */
.pair-image-wrap {
@@ -278,6 +297,11 @@
background: #5C3D22;
color: #F5EDE0;
}
.pair-btn-locked {
background: #E0DDD5;
color: #B0A898;
cursor: not-allowed;
}
.pair-btn-yes {
background: #3D7055;
color: #fff;