@import "tailwindcss";

@theme {
  --font-sans: "Roboto", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Montserrat", sans-serif;
  
  --color-accent: #ff5e00;
  --color-accent-dim: #b34200;
  --color-bg-deep: #0b0c10;
  --color-bg-secondary: #1f2833;
}

:root {
  --accent: #ff5e00;
  --accent-dim: #b34200;
  --bg-deep: #0b0c10;
  --bg-secondary: #1f2833;
  
  /* Novas Variáveis Futuristas */
  --glass-surface: rgba(255, 255, 255, 0.02);
  --glass-border: rgba(255, 255, 255, 0.05);
  --neon-glow: rgba(255, 94, 0, 0.4);
}

body {
  background-color: var(--bg-deep);
  color: #c5c6c7;
  font-family: 'Roboto', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #050505;
}
::-webkit-scrollbar-thumb {
  background: #333;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* --- ANIMATIONS --- */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroReveal {
  0% {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes pulse-slow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes scanline {
  0% { transform: translateY(-100%); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateY(100%); opacity: 0; }
}

@keyframes glitch {
  0% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.animate-hero-reveal {
  animation: heroReveal 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.animate-pulse-slow {
  animation: pulse-slow 4s infinite ease-in-out;
}

.animate-scanline {
  animation: scanline 3s linear infinite;
}

.animate-glitch {
  animation: glitch 0.3s cubic-bezier(.25, .46, .45, .94) both infinite;
}

.animate-spin-slow {
  animation: spin 3s linear infinite;
}

.animate-fade-in {
  animation: fadeInOpacity 0.5s ease-out forwards;
}
@keyframes fadeInOpacity { from { opacity: 0; } to { opacity: 1; } }

.delay-200 { animation-delay: 200ms; }
.delay-500 { animation-delay: 500ms; }
.delay-700 { animation-delay: 700ms; }
.delay-1000 { animation-delay: 1000ms; }
.delay-1500 { animation-delay: 1500ms; }
.delay-2000 { animation-delay: 2000ms; }

/* --- O NOVO CSS DO CARD FUTURISTA --- */
.card-futurista {
  /* Materialidade: Vidro Fosco */
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  
  /* Arredondamento e Bordas */
  border-radius: 24px;
  border: 1px solid var(--glass-border);
  
  /* Iluminação e Profundidade */
  box-shadow: 
    inset 0 1px 0 0 rgba(255, 255, 255, 0.05), /* Rim light superior */
    inset 0 0 20px 0 rgba(0, 0, 0, 0.5),      /* Profundidade interna */
    0 10px 40px -10px rgba(0, 0, 0, 0.8);     /* Sombra de elevação */
    
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  overflow: hidden;
  
  /* Performance Hint */
  will-change: transform, box-shadow;
}

.card-futurista:hover {
  transform: translateY(-5px) scale(1.01);
  border-color: rgba(255, 94, 0, 0.3); /* Borda acende em laranja */
  
  box-shadow: 
    inset 0 1px 0 0 rgba(255, 255, 255, 0.1),
    inset 0 0 30px 0 rgba(255, 94, 0, 0.05), /* Glow interno laranja sutil */
    0 20px 50px 0 rgba(0, 0, 0, 0.9),
    0 0 20px 0 rgba(255, 94, 0, 0.15); /* Glow externo */
    
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
}

/* Efeito de Reflexo (Shine) passando */
.card-futurista::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.03), transparent);
  transform: skewX(-25deg);
  transition: 0.5s;
  pointer-events: none;
}

.card-futurista:hover::before {
  left: 200%;
  transition: 0.7s ease-in-out;
}

/* CLIP PATHS */
.clip-path-slant {
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
}

/* Utilitários */
.text-accent { color: var(--accent); }
.bg-accent { background-color: var(--accent); }

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes blink-smooth {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

.animate-blink-smooth {
  animation: blink-smooth 3s infinite ease-in-out;
}

@keyframes gradient-x {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.animate-gradient-x {
  background-size: 200% 200%;
  animation: gradient-x 3s ease infinite;
}

/* =====================================================
   PERFORMANCE: Glow Orbs via CSS (sem JS thread)
   ===================================================== */
@keyframes glow-pulse-orange {
  0%, 100% { opacity: 0.1; }
  50%       { opacity: 0.25; }
}
@keyframes glow-pulse-purple {
  0%, 100% { opacity: 0.08; }
  50%       { opacity: 0.18; }
}

.glow-orb-orange {
  opacity: 0.1;
  animation: glow-pulse-orange 15s ease-in-out infinite;
  animation-fill-mode: both;
  will-change: opacity;
}
.glow-orb-purple {
  opacity: 0.08;
  animation: glow-pulse-purple 20s ease-in-out infinite;
  animation-delay: 2s;
  animation-fill-mode: both;
  will-change: opacity;
}

/* =====================================================
   PERFORMANCE: Content Visibility (below-the-fold)
   ===================================================== */
.cv-auto {
  content-visibility: auto;
  contain-intrinsic-size: 0 600px;
}

/* Remove will-change de elementos que não animam mais */
.card-futurista {
  will-change: auto;
}
