Files
Nexus.Reader/ejajBook/src/NexusReader.Web.Client/Components/Molecules/KnowledgeCheck.razor.css
T

108 lines
2.4 KiB
CSS

.knowledge-check-container {
width: 100%;
margin-top: 1rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.skeleton-loader {
width: 100%;
height: 120px;
background-color: var(--nexus-card);
border-radius: 8px;
position: relative;
overflow: hidden;
border: 1px solid rgba(255,255,255,0.05);
}
.skeleton-loader .shimmer {
position: absolute;
top: 0;
left: -100%;
width: 50%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
animation: loadingShimmer 1.5s infinite ease-in-out;
}
@keyframes loadingShimmer {
100% { left: 200%; }
}
.quiz-block {
display: flex;
flex-direction: column;
gap: 1rem;
padding: 1rem;
background-color: var(--nexus-card);
border-radius: 8px;
border: 1px solid rgba(255,255,255,0.1);
transition: all 0.3s ease;
}
.quiz-block.state-correct {
border-color: var(--nexus-neon);
box-shadow: 0 0 10px rgba(0, 255, 153, 0.1);
}
.quiz-block.state-incorrect {
border-color: rgba(255, 60, 60, 0.6);
animation: shakePulse 0.4s ease-in-out;
}
@keyframes shakePulse {
0% { transform: translateX(0); }
25% { transform: translateX(-4px); box-shadow: -4px 0 10px rgba(255,60,60,0.3); }
50% { transform: translateX(4px); box-shadow: 4px 0 10px rgba(255,60,60,0.3); }
75% { transform: translateX(-4px); box-shadow: -4px 0 10px rgba(255,60,60,0.3); }
100% { transform: translateX(0); }
}
.options-container {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.quiz-option {
padding: 0.8rem;
background-color: var(--nexus-card);
border: 1px solid rgba(255,255,255,0.1);
color: var(--nexus-text);
border-radius: 6px;
cursor: pointer;
text-align: left;
transition: all 0.2s;
font-family: var(--nexus-font-sans);
}
.quiz-option:hover:not(:disabled) {
background-color: rgba(255,255,255,0.05);
}
.quiz-option:disabled {
cursor: default;
}
.option-correct {
background-color: rgba(0, 255, 153, 0.15) !important;
border-color: var(--nexus-neon) !important;
color: white;
}
.option-incorrect {
background-color: rgba(255, 60, 60, 0.15) !important;
border-color: #ff3c3c !important;
color: white;
}
.option-revealed-correct {
border-color: var(--nexus-neon) !important;
border-style: dashed;
}
.option-faded {
opacity: 0.5;
}