Class_generator/css/navigation.css
StillHammer b004382cee Initial commit: Interactive English Learning Platform
- Complete SPA architecture with dynamic module loading
- 9 different educational games (whack-a-mole, memory, quiz, etc.)
- Rich content system supporting multimedia (audio, images, video)
- Chinese study mode with character recognition
- Adaptive game system based on available content
- Content types: vocabulary, grammar, poems, fill-blanks, corrections
- AI-powered text evaluation for open-ended answers
- Flexible content schema with backward compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 14:25:13 +08:00

286 lines
5.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* === NAVIGATION BREADCRUMB === */
.breadcrumb {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 8px 20px;
border-radius: var(--border-radius);
box-shadow: var(--shadow);
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
transform: translateY(0);
transition: transform 0.3s ease-in-out;
}
.breadcrumb.hidden {
transform: translateY(-100%);
}
.breadcrumb.visible {
transform: translateY(0);
}
.breadcrumb-item {
background: transparent;
border: 2px solid transparent;
color: var(--text-secondary);
padding: 6px 12px;
border-radius: 16px;
font-size: 0.85rem;
font-weight: 500;
transition: var(--transition);
position: relative;
}
.breadcrumb-item:hover {
background: var(--background-color);
color: var(--text-primary);
}
.breadcrumb-item.active {
background: var(--primary-color);
color: white;
border-color: var(--primary-color);
}
.breadcrumb-item:not(:last-child)::after {
content: '';
position: absolute;
right: -15px;
top: 50%;
transform: translateY(-50%);
color: var(--text-secondary);
font-weight: 600;
pointer-events: none;
}
/* === ANIMATIONS DE TRANSITION === */
.page-transition-enter {
opacity: 0;
transform: translateX(30px);
}
.page-transition-enter-active {
opacity: 1;
transform: translateX(0);
transition: all 0.3s ease-out;
}
.page-transition-exit {
opacity: 1;
transform: translateX(0);
}
.page-transition-exit-active {
opacity: 0;
transform: translateX(-30px);
transition: all 0.3s ease-in;
}
/* === BODY PADDING FOR FIXED BREADCRUMB === */
body {
padding-top: 50px;
}
/* === NAVIGATION RESPONSIVE === */
@media (max-width: 768px) {
.breadcrumb {
padding: 6px 15px;
margin-bottom: 10px;
}
.breadcrumb-item {
padding: 4px 10px;
font-size: 0.8rem;
}
.breadcrumb-item:not(:last-child)::after {
right: -10px;
font-size: 0.75rem;
}
body {
padding-top: 40px;
}
}
/* === CONTENT SCANNING STYLES === */
.loading-content, .no-content, .error-content {
text-align: center;
padding: 40px 20px;
color: var(--text-secondary);
font-style: italic;
background: #f8f9fa;
border-radius: 12px;
border: 2px dashed #e5e7eb;
}
.error-content {
color: var(--error-color);
border-color: var(--error-color);
background: #fef2f2;
}
.content-info {
background: #f0f9ff;
padding: 15px;
border-radius: 8px;
text-align: center;
margin-top: 20px;
border-left: 4px solid var(--primary-color);
}
.show-all-btn {
background: var(--primary-color);
color: white;
border: none;
padding: 8px 16px;
border-radius: 20px;
margin-top: 10px;
cursor: pointer;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.show-all-btn:hover {
background: #2563EB;
transform: translateY(-1px);
}
/* === ENHANCED LEVEL CARDS === */
.level-card {
position: relative;
overflow: visible;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
}
.card-header .icon {
font-size: 2.5rem;
}
.compatibility {
font-size: 1.2rem;
padding: 2px;
border-radius: 4px;
}
.compatibility.high-compat {
background: rgba(16, 185, 129, 0.1);
}
.compatibility.medium-compat {
background: rgba(245, 158, 11, 0.1);
}
.compatibility.low-compat {
background: rgba(239, 68, 68, 0.1);
}
.content-stats {
display: flex;
gap: 8px;
margin: 10px 0;
flex-wrap: wrap;
}
.difficulty-badge {
padding: 2px 8px;
border-radius: 12px;
font-size: 0.75rem;
font-weight: bold;
text-transform: uppercase;
}
.difficulty-easy {
background: #10B981;
color: white;
}
.difficulty-medium {
background: #F59E0B;
color: white;
}
.difficulty-hard {
background: #EF4444;
color: white;
}
.difficulty-intermediate {
background: #6366F1;
color: white;
}
.items-count, .time-estimate {
background: #f3f4f6;
color: var(--text-secondary);
padding: 2px 6px;
border-radius: 8px;
font-size: 0.75rem;
}
.detailed-stats {
font-size: 0.8rem;
color: var(--text-secondary);
margin-top: 8px;
border-top: 1px solid #f3f4f6;
padding-top: 8px;
}
@media (max-width: 768px) {
.card-header {
flex-direction: column;
align-items: center;
gap: 5px;
}
.content-stats {
justify-content: center;
}
.detailed-stats {
text-align: center;
}
}
@media (max-width: 480px) {
.breadcrumb {
padding: 5px 12px;
gap: 6px;
}
.breadcrumb-item {
padding: 4px 8px;
font-size: 0.75rem;
}
.breadcrumb-item:not(:last-child)::after {
right: -8px;
}
body {
padding-top: 35px;
}
.content-stats {
flex-direction: column;
gap: 5px;
}
.loading-content, .no-content, .error-content {
padding: 30px 15px;
}
}