progress bar skip button, labeled arrow hint

This commit is contained in:
2026-06-11 16:38:25 +02:00
parent 23027d54d7
commit 30044e00e9
3 changed files with 193 additions and 97 deletions

View File

@@ -875,6 +875,97 @@ select.form-input { cursor: pointer; }
transform: translate(-50%, -50%) !important;
}
/* -----------------------------------------------------------------
4.10 Skip Button Progress Bar (Onboarding)
----------------------------------------------------------------- */
.skip-btn-locked {
position: relative;
overflow: hidden;
opacity: 0.6;
}
.skip-btn-locked::after {
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 0%;
background: rgba(0, 0, 0, 0.12);
border-radius: 6px;
animation: skip-fill 5s linear forwards;
pointer-events: none;
}
@keyframes skip-fill {
from { width: 0%; }
to { width: 100%; opacity: 0; }
}
/* -----------------------------------------------------------------
4.11 Drawing Hint Arrow after Onboarding
----------------------------------------------------------------- */
#drawing-hint-arrow {
position: fixed;
z-index: 1500;
display: flex;
align-items: center;
gap: 4px;
pointer-events: none;
animation: hint-fade-in 400ms ease;
transition: opacity 300ms ease;
}
#drawing-hint-arrow.fade-out {
opacity: 0;
}
.drawing-hint-label {
background: var(--color-primary);
color: white;
font-family: var(--font-body);
font-size: 0.78rem;
font-weight: 600;
padding: 6px 14px;
border-radius: 20px;
white-space: nowrap;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
gap: 6px;
}
.drawing-hint-chevrons {
display: flex;
gap: 0;
color: var(--color-primary);
font-size: 1.2rem;
font-weight: 900;
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
}
.drawing-hint-chevrons i:nth-child(1) {
animation: chevron-pulse 1.2s ease-in-out infinite;
opacity: 0.4;
}
.drawing-hint-chevrons i:nth-child(2) {
animation: chevron-pulse 1.2s ease-in-out 0.3s infinite;
opacity: 0.7;
}
@keyframes chevron-pulse {
0%, 100% { transform: translateX(0); opacity: 0.3; }
50% { transform: translateX(3px); opacity: 1; }
}
@keyframes hint-fade-in {
from { opacity: 0; transform: translateX(-10px); }
to { opacity: 1; transform: translateX(0); }
}
/* Mobile */
@media (max-width: 768px) {
.shepherd-element { max-width: 300px !important; }