kimi-kombat-arena / style.css
totes's picture
How do Kimi-K2 Instruct and Kimi-K2 Thinking differ and which is the more powerful?
3c7057b verified
/* ========== 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 !important;
}
h2 {
font-size: 2rem !important;
}
.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;
}