Class_generator/Legacy/css/navigation.css
StillHammer 38920cc858 Complete architectural rewrite with ultra-modular system
Major Changes:
- Moved legacy system to Legacy/ folder for archival
- Built new modular architecture with strict separation of concerns
- Created core system: Module, EventBus, ModuleLoader, Router
- Added Application bootstrap with auto-start functionality
- Implemented development server with ES6 modules support
- Created comprehensive documentation and project context
- Converted SBS-7-8 content to JSON format
- Copied all legacy games and content to new structure

New Architecture Features:
- Sealed modules with WeakMap private data
- Strict dependency injection system
- Event-driven communication only
- Inviolable responsibility patterns
- Auto-initialization without commands
- Component-based UI foundation ready

Technical Stack:
- Vanilla JS/HTML/CSS only
- ES6 modules with proper imports/exports
- HTTP development server (no file:// protocol)
- Modular CSS with component scoping
- Comprehensive error handling and debugging

Ready for Phase 2: Converting legacy modules to new architecture

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:08:39 +08:00

295 lines
5.3 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 {
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;
}
}