/* ==========================================================================
   tanvir-newaz.wiki - Master Design System & Core Stylesheet
   Version: 2.0 (Google News & High-Contrast Certified)
   ========================================================================== */

:root {
  --bg-color: #070A0D;
  --surface-color: #101417;
  --surface-card: #0F1418;
  --surface-elevated: #141A20;
  
  --foreground: #e0e3e7;
  --text-primary: #F9FAFB;
  --text-secondary: #9CA3AF;
  --text-muted: #6B7280;
  
  --primary: #4edea3;
  --primary-glow: #00FF88;
  --primary-dark: #10b981;
  --border-glass: rgba(255, 255, 255, 0.08);
  --border-emerald: rgba(16, 185, 129, 0.28);
}

/* Base Document Styles */
html {
  background-color: var(--bg-color);
  color: var(--foreground);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-color);
  color: var(--foreground);
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

/* Mesh Background effect */
.mesh-gradient {
  background: radial-gradient(circle at 50% 0%, rgba(16, 185, 129, 0.07) 0%, transparent 60%),
              radial-gradient(circle at 100% 30%, rgba(0, 255, 136, 0.03) 0%, transparent 50%),
              var(--bg-color);
}

/* Typography Defaults & Contrast Fixes */
h1, h2, h3, h4, h5, h6 {
  color: #FFFFFF !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2rem, 5vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.65rem); }
h4 { font-size: 1.25rem; }

p {
  color: #d1d5db;
  line-height: 1.75;
}

/* Semantic Utility Classes (Shadcn / Tailwind Fallbacks) */
.text-foreground { color: #e0e3e7 !important; }
.text-text-primary { color: #F9FAFB !important; }
.text-text-secondary { color: #9CA3AF !important; }
.text-text-muted { color: #6B7280 !important; }
.text-muted { color: #9CA3AF !important; }
.text-on-surface { color: #e0e3e7 !important; }
.text-on-surface-variant { color: #bbcabf !important; }
.text-primary { color: #4edea3 !important; }

/* Text Gradient Effect */
.text-gradient {
  background: linear-gradient(135deg, #4edea3 0%, #00FF88 50%, #60ff99 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  display: inline-block;
}

/* Cards & Surfaces */
.bg-card {
  background-color: rgba(15, 20, 24, 0.85) !important;
}

.bg-surface-elevated {
  background-color: var(--surface-elevated) !important;
}

.border-border {
  border-color: var(--border-glass) !important;
}

.card-glow {
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5), 0 0 20px -5px rgba(0, 255, 136, 0.12) !important;
  border: 1px solid rgba(78, 222, 163, 0.22) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.card-glow:hover {
  border-color: rgba(78, 222, 163, 0.45) !important;
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.6), 0 0 25px -3px rgba(0, 255, 136, 0.2) !important;
}

/* Form Controls & Inputs (Dark Theme Friendly) */
input, textarea, select {
  background-color: rgba(16, 20, 23, 0.75) !important;
  color: #F9FAFB !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  font-family: inherit;
}

input::placeholder, textarea::placeholder {
  color: #6B7280 !important;
}

input:focus, textarea:focus, select:focus {
  border-color: #4edea3 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #4edea3, 0 0 12px rgba(78, 222, 163, 0.25) !important;
}

/* Links & Accents */
a {
  color: #4edea3;
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: #00FF88;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #070A0D;
}
::-webkit-scrollbar-thumb {
  background: #262a2e;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #313539;
}
