Class_generator/css/navigation.css
StillHammer fe7153d28b Fix compatibility system and improve UX
- Add intelligent content-game compatibility system with visual badges
- Fix Adventure Reader to work with Dragon's Pearl content structure
- Implement multi-column games grid for faster navigation
- Add pronunciation display for Chinese vocabulary and sentences
- Fix navigation breadcrumb to show proper hierarchy (Home > Levels > Content)
- Add back buttons to all navigation pages
- Improve JSONContentLoader to preserve story structure
- Add comprehensive debugging and diagnostic tools

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:29:21 +08:00

295 lines
5.3 KiB
CSS
Raw Permalink 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 {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
position: relative;
}
.breadcrumb.hidden {
transform: translateY(-100%);
}
.breadcrumb.visible {
transform: translateY(0);
}
.breadcrumb-item {
background: rgba(59, 130, 246, 0.1);
border: 1px solid rgba(59, 130, 246, 0.2);
color: var(--primary-color);
padding: 6px 12px;
border-radius: 20px;
font-size: 0.85rem;
font-weight: 500;
transition: var(--transition);
position: relative;
cursor: pointer;
}
.breadcrumb-item:hover {
background: rgba(59, 130, 246, 0.2);
color: var(--primary-color);
transform: translateY(-1px);
}
.breadcrumb-item.active {
background: var(--primary-color);
color: white;
border-color: var(--primary-color);
font-weight: 600;
}
.back-button {
background: rgba(239, 68, 68, 0.1);
border: 1px solid rgba(239, 68, 68, 0.3);
color: #dc2626;
padding: 6px 16px;
border-radius: 20px;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: var(--transition);
margin-right: 8px;
}
.back-button:hover {
background: rgba(239, 68, 68, 0.2);
transform: translateY(-1px);
}
.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;
}
}