Spaces:
Running
Running
| /* ========== CSS Variables & Theme Switching ========== */ | |
| :root { | |
| /* Teal Palette */ | |
| --teal-50: #f0fdfa; | |
| --teal-100: #ccfbf1; | |
| --teal-200: #99f6e4; | |
| --teal-300: #5eead4; | |
| --teal-400: #2dd4bf; | |
| --teal-500: #14b8a6; | |
| --teal-600: #0d9488; | |
| --teal-700: #0f766e; | |
| --teal-800: #115e59; | |
| --teal-900: #134e4a; | |
| /* Complementary Colors */ | |
| --purple-500: #a855f7; | |
| --purple-600: #9333ea; | |
| --amber-500: #f59e0b; | |
| --rose-500: #f43f5e; | |
| /* Glassmorphism */ | |
| --glass-bg: rgba(255, 255, 255, 0.1); | |
| --glass-border: rgba(255, 255, 255, 0.2); | |
| --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); | |
| } | |
| [data-theme="dark"] { | |
| --glass-bg: rgba(15, 23, 42, 0.4); | |
| --glass-border: rgba(255, 255, 255, 0.1); | |
| } | |
| /* ========== Global Styles ========== */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |
| overflow-x: hidden; | |
| } | |
| /* ========== Hero Background & Animations ========== */ | |
| .hero-bg { | |
| background: | |
| radial-gradient(circle at 20% 50%, rgba(20, 184, 166, 0.1) 0%, transparent 50%), | |
| radial-gradient(circle at 80% 80%, rgba(168, 85, 247, 0.1) 0%, transparent 50%), | |
| radial-gradient(circle at 40% 20%, rgba(245, 158, 11, 0.05) 0%, transparent 50%); | |
| animation: pulse 8s infinite alternate; | |
| } | |
| @keyframes pulse { | |
| 0% { opacity: 0.3; } | |
| 100% { opacity: 0.6; } | |
| } | |
| .floating { | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| @keyframes float { | |
| 0%, 100% { transform: translateY(0px); } | |
| 50% { transform: translateY(-20px); } | |
| } | |
| .rotate-slow { | |
| animation: rotate 30s linear infinite; | |
| transform-origin: center; | |
| } | |
| @keyframes rotate { | |
| from { transform: rotate(0deg); } | |
| to { transform: rotate(360deg); } | |
| } | |
| /* ========== Typewriter Effect ========== */ | |
| .typewriter-container { | |
| position: relative; | |
| } | |
| #typewriter::after { | |
| content: '|'; | |
| animation: blink 1s infinite; | |
| color: var(--teal-500); | |
| } | |
| @keyframes blink { | |
| 0%, 50% { opacity: 1; } | |
| 51%, 100% { opacity: 0; } | |
| } | |
| /* ========== Glassmorphism Cards ========== */ | |
| .model-card, .benchmark-card, .use-case-card, .stat-card, .spec-table-container { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(10px); | |
| -webkit-backdrop-filter: blur(10px); | |
| border: 1px solid var(--glass-border); | |
| box-shadow: var(--glass-shadow); | |
| transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| } | |
| .model-card:hover, .benchmark-card:hover, .use-case-card:hover, .stat-card:hover { | |
| transform: translateY(-8px); | |
| box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); | |
| } | |
| /* ========== Buttons & CTAs ========== */ | |
| .cta-primary { | |
| background: linear-gradient(135deg, var(--teal-400), var(--teal-600)); | |
| box-shadow: 0 4px 20px rgba(20, 184, 166, 0.3); | |
| } | |
| .cta-primary:hover { | |
| transform: translateY(-3px) scale(1.05); | |
| box-shadow: 0 8px 30px rgba(20, 184, 166, 0.4); | |
| } | |
| .cta-secondary { | |
| background: var(--glass-bg); | |
| border: 2px solid var(--teal-400); | |
| color: var(--teal-600); | |
| } | |
| .cta-secondary:hover { | |
| background: var(--teal-500); | |
| color: white; | |
| transform: translateY(-3px); | |
| } | |
| /* ========== Tech Tags ========== */ | |
| .tech-tag { | |
| background: linear-gradient(135deg, var(--teal-100), var(--teal-200)); | |
| color: var(--teal-800); | |
| border: 1px solid var(--teal-300); | |
| } | |
| [data-theme="dark"] .tech-tag { | |
| background: linear-gradient(135deg, var(--teal-900), var(--teal-800)); | |
| color: var(--teal-200); | |
| border-color: var(--teal-700); | |
| } | |
| .tech-tag:nth-child(2n) { | |
| background: linear-gradient(135deg, var(--purple-100), var(--purple-200)); | |
| color: var(--purple-800); | |
| border-color: var(--purple-300); | |
| } | |
| [data-theme="dark"] .tech-tag:nth-child(2n) { | |
| background: linear-gradient(135deg, var(--purple-900), var(--purple-800)); | |
| color: var(--purple-200); | |
| border-color: var(--purple-700); | |
| } | |
| /* ========== Specifications Table ========== */ | |
| .specs-table { | |
| border-collapse: separate; | |
| border-spacing: 0; | |
| } | |
| .specs-table th { | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| font-size: 0.85rem; | |
| } | |
| .specs-table td { | |
| border-bottom: 1px solid var(--glass-border); | |
| transition: background 0.3s ease; | |
| } | |
| .specs-table tbody tr:hover td { | |
| background: var(--glass-bg); | |
| } | |
| .winner-badge { | |
| background: linear-gradient(135deg, var(--amber-500), var(--rose-500)); | |
| color: white; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 9999px; | |
| font-size: 0.75rem; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| display: inline-block; | |
| } | |
| /* ========== Benchmark Charts ========== */ | |
| .chart-container { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1.5rem; | |
| } | |
| .chart-bar { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| } | |
| .chart-label { | |
| min-width: 80px; | |
| font-weight: 600; | |
| font-size: 0.9rem; | |
| } | |
| .bar-fill { | |
| height: 32px; | |
| border-radius: 16px; | |
| position: relative; | |
| flex-grow: 1; | |
| max-width: 0; | |
| animation: fillBar 1.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; | |
| box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.2); | |
| } | |
| @keyframes fillBar { | |
| to { | |
| max-width: var(--bar-width); | |
| } | |
| } | |
| .chart-value { | |
| font-weight: 700; | |
| font-size: 1.1rem; | |
| min-width: 60px; | |
| text-align: right; | |
| color: var(--teal-600); | |
| } | |
| /* ========== FAQ Accordion ========== */ | |
| .faq-item { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid var(--glass-border); | |
| transition: all 0.3s ease; | |
| } | |
| .faq-question { | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .faq-question:hover { | |
| background: var(--glass-bg); | |
| } | |
| .faq-question.active i { | |
| transform: rotate(180deg); | |
| } | |
| .faq-answer { | |
| max-height: 0; | |
| overflow: hidden; | |
| transition: max-height 0.4s ease, padding 0.4s ease; | |
| } | |
| .faq-answer.open { | |
| max-height: 300px; | |
| } | |
| /* ========== Recommendation Card ========== */ | |
| .recommendation-card { | |
| background: linear-gradient(135deg, rgba(20, 184, 166, 0.1), rgba(168, 85, 247, 0.1)); | |
| border: 2px solid var(--glass-border); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .recommendation-card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); | |
| animation: shimmer 3s infinite; | |
| } | |
| @keyframes shimmer { | |
| 0% { left: -100%; } | |
| 100% { left: 100%; } | |
| } | |
| /* ========== Scroll Animations ========== */ | |
| .slide-in-left { | |
| opacity: 0; | |
| transform: translateX(-60px); | |
| animation: slideInLeft 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards; | |
| } | |
| .slide-in-right { | |
| opacity: 0; | |
| transform: translateX(60px); | |
| animation: slideInRight 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards; | |
| } | |
| @keyframes slideInLeft { | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes slideInRight { | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| /* ========== Particle Effect ========== */ | |
| #particles-js { | |
| position: absolute; | |
| width: 100%; | |
| height: 100%; | |
| pointer-events: none; | |
| } | |
| .particle { | |
| position: absolute; | |
| width: 4px; | |
| height: 4px; | |
| background: var(--teal-400); | |
| border-radius: 50%; | |
| opacity: 0.6; | |
| animation: floatParticle 15s infinite linear; | |
| } | |
| @keyframes floatParticle { | |
| 0% { | |
| transform: translateY(100vh) translateX(0); | |
| opacity: 0; | |
| } | |
| 10% { | |
| opacity: 0.6; | |
| } | |
| 90% { | |
| opacity: 0.6; | |
| } | |
| 100% { | |
| transform: translateY(-100px) translateX(100px); | |
| opacity: 0; | |
| } | |
| } | |
| /* ========== Responsive Typography ========== */ | |
| @media (max-width: 768px) { | |
| h1 { | |
| font-size: 2.5rem ; | |
| } | |
| h2 { | |
| font-size: 2rem ; | |
| } | |
| .specs-table { | |
| font-size: 0.85rem; | |
| } | |
| .chart-label { | |
| min-width: 60px; | |
| font-size: 0.8rem; | |
| } | |
| .chart-value { | |
| font-size: 0.9rem; | |
| min-width: 50px; | |
| } | |
| } | |
| /* ========== Custom Tailwind Extensions ========== */ | |
| .bg-gradient-teal { | |
| background: linear-gradient(135deg, var(--teal-400), var(--teal-600)); | |
| } | |
| .text-gradient-teal { | |
| background: linear-gradient(135deg, var(--teal-400), var(--teal-600)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .border-gradient-teal { | |
| border-image: linear-gradient(135deg, var(--teal-400), var(--teal-600)) 1; | |
| } |