/* @wenjing/design-tokens — bundled tokens.css + keyframes.css */

/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --animation-fade-in: fadeIn 0.5s ease-out;
  --animation-fade-in-fast: fadeIn 0.18s ease-out;
  --animation-slide-up: slideUp 0.6s ease-out;
  --animation-float: float 6s ease-in-out infinite;
  --animation-blink: blink 1.1s steps(2, start) infinite;
  --animation-scan: scan 2.4s ease-in-out infinite;
  --animation-bar-fill: barFill 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  --animation-soft-pulse: softPulse 2.4s ease-in-out infinite;
  --animation-zoom-in: zoomIn 0.22s cubic-bezier(0.22, 1, 0.36, 1);
  --color-brand-50: #f3f6f8;
  --color-brand-100: #e3eaee;
  --color-brand-200: #c7d4db;
  --color-brand-300: #9eb6c0;
  --color-brand-400: #7595a3;
  --color-brand-500: #5a7d8c;
  --color-brand-600: #456575;
  --color-brand-700: #3a5666;
  --color-brand-800: #2a4554;
  --color-brand-900: #1e3543;
  --color-brand-950: #14252f;
  --color-accent-orange: #e87820;
  --color-accent-orange-dark: #c2691a;
  --color-accent-orange-light: #f5a522;
  --color-accent-orange-soft: #fde4be;
  --color-accent-teal: #4a8ec5;
  --color-accent-teal-dark: #2d6f9e;
  --color-accent-red: #c32547;
  --color-accent-red-dark: #9b132c;
  --color-accent-green: #8dc142;
  --color-accent-green-dark: #6a962c;
  --color-accent-slate: #5a7d8c;
  --color-accent-slate-dark: #3a5666;
  --color-surface-cream: #f4ede2;
  --color-surface-cream-light: #faf7f0;
  --color-surface-warm: #ebe5d8;
  --color-link: #3a7eb8;
  --gradient-hero-glow: radial-gradient(60% 80% at 20% 20%, rgba(74,142,197,0.20) 0%, transparent 60%), radial-gradient(50% 60% at 90% 10%, rgba(245,165,34,0.20) 0%, transparent 60%), linear-gradient(135deg, #14252f 0%, #2a4554 45%, #3a5666 100%);
  --gradient-top-stripe: linear-gradient(90deg, #f5a522 0%, #e87820 100%);
  --gradient-card-gradient: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 100%);
  --gradient-grid-pattern: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none'><path d='M0 0H40M0 0V40' stroke='rgba(255,255,255,0.04)' stroke-width='1'/></svg>");
  --shadow-glow: 0 30px 80px -30px rgba(232, 120, 32, 0.35);
  --shadow-card: 0 8px 24px -12px rgba(30, 53, 67, 0.18);
  --shadow-card-hover: 0 24px 48px -16px rgba(30, 53, 67, 0.28);
  --font-family-sans: Inter, -apple-system, BlinkMacSystemFont, '"PingFang SC"', '"Microsoft YaHei"', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-display: '"Plus Jakarta Sans"', Inter, '"PingFang SC"', '"Microsoft YaHei"', sans-serif;
}

/* AUTO-GENERATED from packages/design-tokens/src/keyframes.ts */

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

@keyframes scan {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(120%);
  }
}

@keyframes barFill {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

@keyframes softPulse {
  0%, 100% {
    opacity: 0.85;
  }
  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes topLoaderBlink {
  0%, 100% {
    opacity: 0.25;
  }
  50% {
    opacity: 0.85;
  }
}

@keyframes topLoaderPulse {
  0%, 100% {
    opacity: 0.55;
    transform: translateY(-50%) scale(0.9);
  }
  50% {
    opacity: 1;
    transform: translateY(-50%) scale(1.15);
  }
}

@keyframes topLoaderSheen {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(320%);
  }
}

