Spaces:
Sleeping
Sleeping
| /* Custom styles and utilities beyond Tailwind */ | |
| :root { | |
| --ring: 0 0% 100%; | |
| --shadow-glow: 0 0 20px rgba(99,102,241,0.3), 0 0 40px rgba(99,102,241,0.2); | |
| } | |
| /* Fallback styles in case Tailwind doesn't load */ | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| background-color: #0f172a; | |
| color: #f1f5f9; | |
| line-height: 1.6; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| /* Global text justification */ | |
| p, li, div { | |
| text-align: justify; | |
| text-justify: inter-word; | |
| } | |
| /* Override for specific elements that should be left-aligned */ | |
| .btn-primary, .btn-secondary, .btn-ghost, | |
| .tab, .chip, .metric-value, .metric-label { | |
| text-align: left; | |
| } | |
| /* Ensure h2 headers in section headers are centered */ | |
| .section-header h2 { | |
| text-align: center ; | |
| } | |
| /* Add proper margins to main content */ | |
| .container { | |
| margin-left: auto; | |
| margin-right: auto; | |
| padding-left: 2rem; | |
| padding-right: 2rem; | |
| } | |
| @media (max-width: 768px) { | |
| .container { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| } | |
| h1, h3, h5, h6 { | |
| font-weight: 700; | |
| line-height: 1.2; | |
| margin: 0 0 1rem 0; | |
| } | |
| /* Ensure card titles have proper styling */ | |
| .card-title { | |
| font-weight: 600 ; | |
| font-size: 1.125rem ; | |
| line-height: 1.4 ; | |
| margin-bottom: 0.75rem ; | |
| color: #f1f5f9 ; | |
| text-align: left ; | |
| } | |
| h1 { font-size: 2.5rem; } | |
| h3 { font-size: 1.5rem; } | |
| /* Only apply basic h2 styles to non-section-header h2s */ | |
| h2:not(.section-header h2) { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| line-height: 1.2; | |
| margin: 0 0 1rem 0; | |
| } | |
| /* Override any conflicting h2 styles for section headers */ | |
| .section-header h2 { | |
| font-size: 3rem ; | |
| font-weight: 800 ; | |
| line-height: 1.2 ; | |
| margin: 0 0 1rem 0 ; | |
| text-align: center ; | |
| } | |
| @media (min-width: 1024px) { | |
| .section-header h2 { | |
| font-size: 4rem ; | |
| } | |
| } | |
| section { | |
| padding: 4rem 0; | |
| } | |
| .container { | |
| max-width: 80rem; | |
| margin: 0 auto; | |
| padding: 0 1rem; | |
| } | |
| .grid { | |
| display: grid; | |
| gap: 1.5rem; | |
| } | |
| .grid.lg\\:grid-cols-2 { | |
| grid-template-columns: 1fr; | |
| } | |
| @media (min-width: 1024px) { | |
| .grid.lg\\:grid-cols-2 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| } | |
| .grid.md\\:grid-cols-3 { | |
| grid-template-columns: 1fr; | |
| } | |
| @media (min-width: 768px) { | |
| .grid.md\\:grid-cols-3 { | |
| grid-template-columns: repeat(3, 1fr); | |
| } | |
| } | |
| .flex { | |
| display: flex; | |
| } | |
| .items-center { | |
| align-items: center; | |
| } | |
| .justify-between { | |
| justify-content: space-between; | |
| } | |
| .gap-3 { | |
| gap: 0.75rem; | |
| } | |
| .gap-6 { | |
| gap: 1.5rem; | |
| } | |
| .gap-12 { | |
| gap: 3rem; | |
| } | |
| .text-4xl { | |
| font-size: 2.25rem; | |
| } | |
| .text-6xl { | |
| font-size: 3.75rem; | |
| } | |
| .font-extrabold { | |
| font-weight: 800; | |
| } | |
| .leading-tight { | |
| line-height: 1.25; | |
| } | |
| .mt-5 { | |
| margin-top: 1.25rem; | |
| } | |
| .mt-8 { | |
| margin-top: 2rem; | |
| } | |
| .mt-6 { | |
| margin-top: 1.5rem; | |
| } | |
| .text-slate-300 { | |
| color: #cbd5e1; | |
| } | |
| .text-slate-400 { | |
| color: #94a3b8; | |
| } | |
| .text-indigo-400 { | |
| color: #818cf8; | |
| } | |
| .max-w-2xl { | |
| max-width: 42rem; | |
| } | |
| .text-lg { | |
| font-size: 1.125rem; | |
| } | |
| .text-sm { | |
| font-size: 0.875rem; | |
| } | |
| .text-xs { | |
| font-size: 0.75rem; | |
| } | |
| .hidden { | |
| display: none; | |
| } | |
| @media (min-width: 640px) { | |
| .sm\\:inline { | |
| display: inline; | |
| } | |
| } | |
| @media (min-width: 768px) { | |
| .md\\:flex { | |
| display: flex; | |
| } | |
| } | |
| @media (min-width: 1024px) { | |
| .lg\\:py-24 { | |
| padding-top: 6rem; | |
| padding-bottom: 6rem; | |
| } | |
| .lg\\:text-6xl { | |
| font-size: 3.75rem; | |
| } | |
| } | |
| /* Base link styles */ | |
| .link { | |
| color: rgb(165 180 252); | |
| transition: all 0.2s ease; | |
| } | |
| .link:hover { | |
| text-decoration: underline; | |
| color: rgb(129 140 248); | |
| } | |
| .btn-primary { | |
| @apply inline-flex items-center gap-2 px-3 py-2 rounded-xl bg-indigo-500 hover:bg-indigo-400 text-white font-semibold shadow-glow transition; | |
| } | |
| .btn-secondary { | |
| @apply inline-flex items-center gap-2 px-3 py-2 rounded-xl bg-slate-800 hover:bg-slate-700 text-slate-100 border border-white/10 transition; | |
| } | |
| .btn-ghost { | |
| @apply inline-flex items-center gap-2 px-3 py-2 rounded-xl text-indigo-300 hover:text-white hover:bg-white/5 transition; | |
| } | |
| .btn-icon { | |
| @apply inline-flex items-center justify-center w-10 h-10 rounded-xl bg-slate-800 hover:bg-slate-700 border border-white/10 transition; | |
| } | |
| .icon { width: 20px; height: 20px; } | |
| .section { @apply py-16 lg:py-24; } | |
| /* Reduce gap specifically between Architecture and Training sections */ | |
| #architecture { | |
| padding-bottom: 2rem ; | |
| } | |
| #training { | |
| padding-top: 2rem ; | |
| } | |
| .container { @apply max-w-7xl mx-auto px-4; } | |
| .section-header h2 { | |
| @apply text-3xl lg:text-4xl font-extrabold; | |
| position: relative; | |
| display: block; | |
| text-align: center; | |
| background: linear-gradient(135deg, #f1f5f9 0%, #818cf8 50%, #f1f5f9 100%); | |
| background-size: 200% 200%; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| animation: gradientShift 3s ease-in-out infinite; | |
| text-shadow: 0 0 30px rgba(129, 140, 248, 0.3); | |
| margin-bottom: 0.5rem; | |
| } | |
| .section-header h2::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient(135deg, #818cf8, #a855f7, #ec4899); | |
| border-radius: 0.5rem; | |
| padding: 0.25rem; | |
| z-index: -1; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| animation: pulseGlow 2s ease-in-out infinite; | |
| } | |
| .section-header h2:hover::before { | |
| opacity: 0.1; | |
| } | |
| @keyframes gradientShift { | |
| 0%, 100% { | |
| background-position: 0% 50%; | |
| } | |
| 50% { | |
| background-position: 100% 50%; | |
| } | |
| } | |
| @keyframes pulseGlow { | |
| 0%, 100% { | |
| box-shadow: 0 0 20px rgba(129, 140, 248, 0.2); | |
| } | |
| 50% { | |
| box-shadow: 0 0 40px rgba(129, 140, 248, 0.4); | |
| } | |
| } | |
| .section-header p { | |
| color: #94a3b8; | |
| font-size: 0.95rem; | |
| line-height: 1.5; | |
| font-style: italic; | |
| text-align: left; | |
| margin-top: 0.75rem; | |
| margin-bottom: 0; | |
| max-width: none; | |
| } | |
| .section-header { | |
| text-align: left; | |
| margin-bottom: 2.5rem; | |
| } | |
| .card { | |
| @apply rounded-2xl bg-slate-900/60 border border-white/10 backdrop-blur; | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| height: 2px; | |
| background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.5), transparent); | |
| transform: translateX(-100%); | |
| transition: transform 0.6s ease; | |
| } | |
| .card:hover::before { | |
| transform: translateX(100%); | |
| } | |
| .card:hover { | |
| transform: translateY(-4px); | |
| border-color: rgba(129, 140, 248, 0.3); | |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); | |
| } | |
| .card.glass { | |
| @apply bg-slate-900/50; | |
| } | |
| .card-body { @apply p-6; } | |
| .card-title { @apply text-lg font-semibold mb-2; } | |
| .feature { | |
| @apply rounded-2xl p-6 bg-slate-900/60 border border-white/10 backdrop-blur; | |
| } | |
| .feature-icon { width: 28px; height: 28px; color: rgb(129 140 248); @apply mb-3; } | |
| .chip { | |
| @apply inline-flex items-center px-4 py-2 rounded-full text-sm font-medium transition-all duration-300; | |
| background: linear-gradient(135deg, rgba(129, 140, 248, 0.1), rgba(168, 85, 247, 0.1)); | |
| border: 1px solid rgba(129, 140, 248, 0.2); | |
| color: #cbd5e1; | |
| position: relative; | |
| overflow: hidden; | |
| backdrop-filter: blur(10px); | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | |
| } | |
| .chip::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); | |
| transition: left 0.5s ease; | |
| } | |
| .chip:hover::before { | |
| left: 100%; | |
| } | |
| .chip:hover { | |
| background: linear-gradient(135deg, rgba(129, 140, 248, 0.2), rgba(168, 85, 247, 0.2)); | |
| border-color: rgba(129, 140, 248, 0.4); | |
| color: #f1f5f9; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 15px rgba(129, 140, 248, 0.2); | |
| } | |
| .chip:active { | |
| transform: translateY(0); | |
| box-shadow: 0 2px 8px rgba(129, 140, 248, 0.3); | |
| } | |
| .tabs { | |
| @apply flex flex-wrap gap-3; | |
| justify-content: center; | |
| margin-bottom: 2rem; | |
| } | |
| .tab { | |
| @apply px-6 py-3 rounded-2xl bg-slate-800/50 border border-white/10 text-slate-200 transition-all duration-300; | |
| position: relative; | |
| overflow: hidden; | |
| font-weight: 600; | |
| font-size: 0.95rem; | |
| min-width: 140px; | |
| text-align: center; | |
| backdrop-filter: blur(10px); | |
| } | |
| .tab::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.2), transparent); | |
| transition: left 0.6s ease; | |
| } | |
| .tab:hover::before { | |
| left: 100%; | |
| } | |
| .tab:hover { | |
| transform: translateY(-2px); | |
| border-color: rgba(129, 140, 248, 0.3); | |
| box-shadow: 0 8px 25px rgba(129, 140, 248, 0.15); | |
| background: rgba(129, 140, 248, 0.1); | |
| } | |
| .tab.active { | |
| @apply bg-gradient-to-r from-indigo-500/30 to-purple-500/30 border-indigo-400/60 text-indigo-100; | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 30px rgba(129, 140, 248, 0.3); | |
| background: linear-gradient(135deg, rgba(129, 140, 248, 0.2), rgba(168, 85, 247, 0.2)); | |
| } | |
| .tab.active::after { | |
| content: ''; | |
| position: absolute; | |
| bottom: 0; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| width: 60%; | |
| height: 3px; | |
| background: linear-gradient(90deg, #818cf8, #a855f7); | |
| border-radius: 2px; | |
| animation: pulseGlow 2s ease-in-out infinite; | |
| } | |
| .diagram { | |
| display: none; | |
| opacity: 0; | |
| transform: translateY(20px); | |
| transition: all 0.3s ease; | |
| min-height: 300px; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| .diagram.visible { | |
| display: block; | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| pre.mermaid { | |
| @apply rounded-2xl bg-slate-900/70 border border-white/10 p-4 overflow-auto; | |
| text-align: center; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| min-height: 300px; | |
| } | |
| pre.mermaid svg { | |
| max-width: 100%; | |
| height: auto; | |
| margin: 0 auto; | |
| display: block; | |
| } | |
| /* Ensure Mermaid diagrams are properly centered */ | |
| .diagram.visible { | |
| display: block; | |
| width: 100%; | |
| } | |
| .diagram pre.mermaid { | |
| width: 100%; | |
| max-width: 100%; | |
| } | |
| .metric { @apply bg-slate-900/60 border border-white/10 rounded-2xl p-6 text-center; } | |
| .metric-value { @apply text-4xl font-extrabold text-indigo-300; } | |
| .metric-label { @apply text-slate-400 mt-1; } | |
| .list { | |
| @apply pl-5 space-y-2 text-slate-300; | |
| list-style: none; | |
| } | |
| .list li { | |
| position: relative; | |
| padding-left: 1.5rem; | |
| line-height: 1.6; | |
| transition: all 0.2s ease; | |
| } | |
| .list li::before { | |
| content: '▶'; | |
| position: absolute; | |
| left: 0; | |
| top: 0; | |
| color: #818cf8; | |
| font-size: 0.75rem; | |
| transition: all 0.2s ease; | |
| } | |
| .list li:hover { | |
| color: #f1f5f9; | |
| transform: translateX(4px); | |
| } | |
| .list li:hover::before { | |
| color: #a855f7; | |
| transform: scale(1.2); | |
| } | |
| .avatar { | |
| @apply rounded-2xl bg-slate-800 border border-white/10 p-6 text-center font-semibold; | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| min-width: 120px; | |
| min-height: 80px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .avatar::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.2), transparent); | |
| transition: left 0.6s ease; | |
| } | |
| .avatar:hover::before { | |
| left: 100%; | |
| } | |
| .avatar:hover { | |
| transform: translateY(-4px); | |
| border-color: rgba(129, 140, 248, 0.4); | |
| box-shadow: 0 10px 25px rgba(129, 140, 248, 0.2); | |
| background: linear-gradient(135deg, rgba(129, 140, 248, 0.1), rgba(168, 85, 247, 0.1)); | |
| } | |
| /* Enhanced Team section styling */ | |
| #team .container { | |
| text-align: center; | |
| } | |
| .team-info { | |
| margin-top: 2rem; | |
| } | |
| .university-info { | |
| margin-bottom: 3rem; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .university-name { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| background: linear-gradient(135deg, #818cf8, #a855f7, #ec4899); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| animation: gradientShift 3s ease-in-out infinite; | |
| text-shadow: 0 0 20px rgba(129, 140, 248, 0.3); | |
| } | |
| .course-code { | |
| font-size: 1.1rem; | |
| font-weight: 600; | |
| color: #94a3b8; | |
| background: rgba(129, 140, 248, 0.1); | |
| padding: 0.5rem 1rem; | |
| border-radius: 1rem; | |
| border: 1px solid rgba(129, 140, 248, 0.2); | |
| display: inline-block; | |
| } | |
| .team-members { | |
| display: flex; | |
| justify-content: center; | |
| flex-wrap: wrap; | |
| gap: 1.5rem; | |
| margin-top: 2rem; | |
| } | |
| .member-card { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 0.75rem; | |
| padding: 1.5rem; | |
| background: rgba(15, 23, 42, 0.6); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| border-radius: 1rem; | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| min-width: 120px; | |
| backdrop-filter: blur(10px); | |
| } | |
| .member-card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.1), transparent); | |
| transition: left 0.6s ease; | |
| } | |
| .member-card:hover::before { | |
| left: 100%; | |
| } | |
| .member-card:hover { | |
| transform: translateY(-5px); | |
| border-color: rgba(129, 140, 248, 0.4); | |
| box-shadow: 0 15px 35px rgba(129, 140, 248, 0.2); | |
| background: rgba(129, 140, 248, 0.05); | |
| } | |
| .member-avatar { | |
| width: 60px; | |
| height: 60px; | |
| border-radius: 50%; | |
| background: linear-gradient(135deg, #818cf8, #a855f7); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| color: white; | |
| text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); | |
| box-shadow: 0 8px 20px rgba(129, 140, 248, 0.3); | |
| transition: all 0.3s ease; | |
| } | |
| .member-card:hover .member-avatar { | |
| transform: scale(1.1); | |
| box-shadow: 0 12px 25px rgba(129, 140, 248, 0.4); | |
| } | |
| .member-name { | |
| font-size: 1rem; | |
| font-weight: 600; | |
| color: #e2e8f0; | |
| transition: color 0.3s ease; | |
| } | |
| .member-card:hover .member-name { | |
| color: #818cf8; | |
| } | |
| /* Responsive design for team members */ | |
| @media (max-width: 768px) { | |
| .team-members { | |
| gap: 1rem; | |
| } | |
| .member-card { | |
| padding: 1rem; | |
| min-width: 100px; | |
| } | |
| .member-avatar { | |
| width: 50px; | |
| height: 50px; | |
| font-size: 1.25rem; | |
| } | |
| .university-name { | |
| font-size: 1.25rem; | |
| } | |
| } | |
| /* Enhanced shadow and animation utilities */ | |
| .shadow-glow { | |
| box-shadow: var(--shadow-glow); | |
| transition: box-shadow 0.3s ease; | |
| } | |
| .shadow-glow:hover { | |
| box-shadow: 0 0 30px rgba(99,102,241,0.4), 0 0 60px rgba(99,102,241,0.3); | |
| } | |
| .animate-pulse-slow { | |
| animation: pulse-slow 8s ease-in-out infinite; | |
| } | |
| @keyframes pulse-slow { | |
| 0%, 100% { transform: scale(1); opacity: .7; } | |
| 50% { transform: scale(1.05); opacity: 1; } | |
| } | |
| /* Additional animations */ | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes slideInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| .animate-fade-in-up { | |
| animation: fadeInUp 0.6s ease-out; | |
| } | |
| .animate-slide-in-right { | |
| animation: slideInRight 0.6s ease-out; | |
| } | |
| /* Enhanced button states */ | |
| .btn-primary:active { | |
| transform: translateY(1px); | |
| box-shadow: 0 5px 15px rgba(99,102,241,0.3); | |
| } | |
| .btn-secondary:active { | |
| transform: translateY(1px); | |
| } | |
| .btn-ghost:active { | |
| transform: translateY(1px); | |
| } | |
| /* Enhanced card interactions */ | |
| .card { | |
| transition: all 0.3s ease; | |
| } | |
| .card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 20px 40px rgba(0,0,0,0.3); | |
| } | |
| .card.glass:hover { | |
| background: rgba(15, 23, 42, 0.7); | |
| backdrop-filter: blur(20px); | |
| } | |
| /* Enhanced feature cards */ | |
| .feature { | |
| transition: all 0.3s ease; | |
| } | |
| .feature:hover { | |
| transform: translateY(-4px); | |
| background: rgba(15, 23, 42, 0.8); | |
| border-color: rgba(99, 102, 241, 0.3); | |
| } | |
| .feature-icon { | |
| transition: all 0.3s ease; | |
| } | |
| .feature:hover .feature-icon { | |
| color: rgb(99, 102, 241); | |
| transform: scale(1.1); | |
| } | |
| /* Enhanced chip interactions */ | |
| .chip { | |
| transition: all 0.2s ease; | |
| } | |
| .chip:hover { | |
| background: rgba(99, 102, 241, 0.1); | |
| border-color: rgba(99, 102, 241, 0.3); | |
| color: rgb(129, 140, 248); | |
| transform: translateY(-1px); | |
| } | |
| /* Enhanced tab interactions */ | |
| .tab { | |
| transition: all 0.2s ease; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .tab::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent); | |
| transition: left 0.5s ease; | |
| } | |
| .tab:hover::before { | |
| left: 100%; | |
| } | |
| .tab:hover { | |
| transform: translateY(-1px); | |
| } | |
| .tab.active { | |
| background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(79, 70, 229, 0.1)); | |
| box-shadow: 0 4px 15px rgba(99, 102, 241, 0.2); | |
| } | |
| /* Enhanced diagram styling */ | |
| pre.mermaid { | |
| transition: all 0.3s ease; | |
| position: relative; | |
| } | |
| pre.mermaid:hover { | |
| border-color: rgba(99, 102, 241, 0.3); | |
| box-shadow: 0 10px 30px rgba(0,0,0,0.2); | |
| } | |
| /* Enhanced metric cards */ | |
| .metric { | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| background: rgba(15, 23, 42, 0.6); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| border-radius: 1rem; | |
| padding: 1.5rem; | |
| text-align: center; | |
| min-height: 120px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| .metric::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| height: 2px; | |
| background: linear-gradient(90deg, transparent, rgb(99, 102, 241), transparent); | |
| transform: translateX(-100%); | |
| transition: transform 0.6s ease; | |
| } | |
| .metric:hover::before { | |
| transform: translateX(100%); | |
| } | |
| .metric:hover { | |
| transform: translateY(-4px); | |
| border-color: rgba(99, 102, 241, 0.4); | |
| background: rgba(15, 23, 42, 0.8); | |
| box-shadow: 0 10px 30px rgba(99, 102, 241, 0.2); | |
| } | |
| .metric-value { | |
| transition: all 0.3s ease; | |
| font-size: 2.5rem; | |
| font-weight: 800; | |
| color: rgb(129, 140, 248); | |
| margin: 0; | |
| text-align: center; | |
| width: 100%; | |
| display: block; | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .metric:hover .metric-value { | |
| color: rgb(99, 102, 241); | |
| transform: scale(1.1); | |
| text-shadow: 0 0 20px rgba(99, 102, 241, 0.5); | |
| } | |
| .metric-label { | |
| transition: all 0.3s ease; | |
| color: rgb(148, 163, 184); | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| margin-top: 0.5rem; | |
| text-align: center; | |
| width: 100%; | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .metric:hover .metric-label { | |
| color: rgb(203, 213, 225); | |
| transform: translateY(-2px); | |
| } | |
| /* Add a subtle glow effect on hover */ | |
| .metric::after { | |
| content: ''; | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| width: 0; | |
| height: 0; | |
| background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 70%); | |
| border-radius: 50%; | |
| transform: translate(-50%, -50%); | |
| transition: all 0.3s ease; | |
| z-index: 1; | |
| } | |
| .metric:hover::after { | |
| width: 200px; | |
| height: 200px; | |
| } | |
| /* Enhanced avatar styling */ | |
| .avatar { | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .avatar::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient(45deg, transparent, rgba(99, 102, 241, 0.1), transparent); | |
| transform: translateX(-100%) translateY(-100%); | |
| transition: transform 0.6s ease; | |
| } | |
| .avatar:hover::before { | |
| transform: translateX(100%) translateY(100%); | |
| } | |
| .avatar:hover { | |
| transform: translateY(-2px); | |
| border-color: rgba(99, 102, 241, 0.3); | |
| background: rgba(99, 102, 241, 0.05); | |
| } | |
| /* Team member card styles */ | |
| .member-card { | |
| @apply rounded-2xl bg-slate-900/60 border border-white/10 p-4 text-center transition-all duration-300 hover:bg-slate-800/80 hover:border-indigo-400/30 hover:transform hover:-translate-y-1; | |
| } | |
| .member-avatar { | |
| @apply text-4xl mb-2 w-16 h-16 mx-auto flex items-center justify-center rounded-full bg-gradient-to-br from-indigo-500/20 to-purple-500/20 border border-indigo-400/30; | |
| } | |
| .member-name { | |
| @apply block text-lg font-semibold text-slate-200 mb-1; | |
| } | |
| .member-role { | |
| @apply block text-sm text-slate-400 font-medium; | |
| } | |
| /* Enhanced text justification and spacing */ | |
| .section p, .section li, .section div:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.tab):not(.chip):not(.metric-value):not(.metric-label) { | |
| text-align: justify; | |
| text-justify: inter-word; | |
| hyphens: auto; | |
| } | |
| /* Ensure proper margins for all sections */ | |
| .section { | |
| margin-left: 2rem; | |
| margin-right: 2rem; | |
| } | |
| @media (max-width: 768px) { | |
| .section { | |
| margin-left: 1rem; | |
| margin-right: 1rem; | |
| } | |
| } | |
| /* Enhanced responsive improvements */ | |
| @media (max-width: 1024px) { | |
| .container { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| .section { | |
| padding-top: 4rem; | |
| padding-bottom: 4rem; | |
| } | |
| .section-header h2 { | |
| font-size: 2.5rem; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .section-header h2 { | |
| font-size: 2rem; | |
| line-height: 1.2; | |
| } | |
| .section-header p { | |
| font-size: 0.9rem; | |
| } | |
| .card-body { | |
| padding: 1rem; | |
| } | |
| .feature { | |
| padding: 1rem; | |
| } | |
| .metric-value { | |
| font-size: 2rem; | |
| } | |
| .tabs { | |
| flex-direction: column; | |
| gap: 0.5rem; | |
| } | |
| .tab { | |
| text-align: center; | |
| padding: 0.75rem 1rem; | |
| } | |
| /* Hero section mobile improvements */ | |
| .hero h1 { | |
| font-size: 2.5rem; | |
| line-height: 1.1; | |
| } | |
| .hero p { | |
| font-size: 1rem; | |
| } | |
| /* Button improvements for mobile */ | |
| .btn-primary, | |
| .btn-secondary, | |
| .btn-ghost { | |
| padding: 0.75rem 1.5rem; | |
| font-size: 0.9rem; | |
| } | |
| /* Chip improvements for mobile */ | |
| .chip { | |
| padding: 0.5rem 1rem; | |
| font-size: 0.8rem; | |
| } | |
| /* Diagram improvements for mobile */ | |
| pre.mermaid { | |
| font-size: 0.8rem; | |
| padding: 1rem; | |
| overflow-x: auto; | |
| } | |
| /* Metric cards mobile layout */ | |
| .metric { | |
| padding: 1rem; | |
| } | |
| .metric-value { | |
| font-size: 1.75rem; | |
| } | |
| /* Avatar improvements for mobile */ | |
| .avatar { | |
| padding: 1rem; | |
| font-size: 0.9rem; | |
| } | |
| /* Team member card mobile improvements */ | |
| .member-card { | |
| padding: 1rem; | |
| } | |
| .member-avatar { | |
| @apply text-3xl w-12 h-12; | |
| } | |
| .member-name { | |
| @apply text-base; | |
| } | |
| .member-role { | |
| @apply text-xs; | |
| } | |
| /* Navigation improvements */ | |
| nav { | |
| display: none; | |
| } | |
| /* Header mobile layout */ | |
| header .flex { | |
| gap: 1rem; | |
| } | |
| /* Feature grid mobile */ | |
| .grid.md\\:grid-cols-3 { | |
| grid-template-columns: 1fr; | |
| gap: 1rem; | |
| } | |
| .grid.md\\:grid-cols-2 { | |
| grid-template-columns: 1fr; | |
| gap: 1rem; | |
| } | |
| .grid.lg\\:grid-cols-2 { | |
| grid-template-columns: 1fr; | |
| gap: 1rem; | |
| } | |
| .grid.lg\\:grid-cols-3 { | |
| grid-template-columns: 1fr; | |
| gap: 1rem; | |
| } | |
| .grid.md\\:grid-cols-5 { | |
| grid-template-columns: repeat(2, 1fr); | |
| gap: 0.75rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .container { | |
| padding-left: 0.75rem; | |
| padding-right: 0.75rem; | |
| } | |
| .section { | |
| padding-top: 3rem; | |
| padding-bottom: 3rem; | |
| } | |
| .section-header h2 { | |
| font-size: 1.75rem; | |
| } | |
| .hero h1 { | |
| font-size: 2rem; | |
| } | |
| .hero p { | |
| font-size: 0.9rem; | |
| } | |
| .btn-primary, | |
| .btn-secondary, | |
| .btn-ghost { | |
| padding: 0.625rem 1.25rem; | |
| font-size: 0.85rem; | |
| } | |
| .chip { | |
| padding: 0.375rem 0.75rem; | |
| font-size: 0.75rem; | |
| } | |
| .metric-value { | |
| font-size: 1.5rem; | |
| } | |
| .avatar { | |
| padding: 0.75rem; | |
| font-size: 0.8rem; | |
| } | |
| /* Team member card very small screen improvements */ | |
| .member-card { | |
| padding: 0.75rem; | |
| } | |
| .member-avatar { | |
| @apply text-2xl w-10 h-10; | |
| } | |
| .member-name { | |
| @apply text-sm; | |
| } | |
| .member-role { | |
| @apply text-xs; | |
| } | |
| .grid.md\\:grid-cols-5 { | |
| grid-template-columns: 1fr; | |
| gap: 0.5rem; | |
| } | |
| /* Stack hero content vertically on very small screens */ | |
| .hero .grid { | |
| grid-template-columns: 1fr; | |
| gap: 2rem; | |
| } | |
| .hero .grid > div:first-child { | |
| order: 2; | |
| } | |
| .hero .grid > div:last-child { | |
| order: 1; | |
| } | |
| } | |
| /* Print styles */ | |
| @media print { | |
| .btn-primary, | |
| .btn-secondary, | |
| .btn-ghost, | |
| .btn-icon { | |
| background: none ; | |
| color: black ; | |
| border: 1px solid black ; | |
| } | |
| .card, | |
| .feature { | |
| border: 1px solid #ccc ; | |
| background: white ; | |
| } | |
| .shadow-glow { | |
| box-shadow: none ; | |
| } | |
| .animate-pulse-slow { | |
| animation: none ; | |
| } | |
| } | |
| /* Focus states for accessibility */ | |
| .btn-primary:focus, | |
| .btn-secondary:focus, | |
| .btn-ghost:focus, | |
| .tab:focus, | |
| .chip:focus { | |
| outline: 2px solid rgb(99, 102, 241); | |
| outline-offset: 2px; | |
| } | |
| /* Loading states */ | |
| .loading { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .loading::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent); | |
| animation: loading 1.5s infinite; | |
| } | |
| @keyframes loading { | |
| 0% { left: -100%; } | |
| 100% { left: 100%; } | |
| } | |