/* Divergence design tokens - shared by landing and event pages */
:root {
  --bg: #0f0f13;
  --bg-2: #0a0a0d;
  --surface: #18181f;
  --surface-2: #22222c;
  --surface-3: #2a2a36;
  --border: #2e2e3a;
  --border-2: #3a3a48;
  --text: #e8e8f0;
  --text-2: #c8c8d4;
  --muted: #888899;
  --muted-2: #5e5e6d;
  --accent: #7c6af7;
  --accent-2: #a855f7;
  --accent-bg: rgba(124,106,247,0.12);
  --accent-border: rgba(124,106,247,0.35);
  --green: #3ecf8e;
  --amber: #f59e0b;
  --red: #ef4444;
  --blue: #3b82f6;
  --orange: #f97316;
  --cyan: #06b6d4;
  --radius: 10px;
  --radius-lg: 14px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

a { color: inherit; text-decoration: none; }

/* Divergence logo */
.dv-logo { display: inline-flex; align-items: center; gap: 10px; }
.dv-logo-mark {
  width: 34px; height: 34px;
  background: linear-gradient(135deg, #7c6af7 0%, #a855f7 100%);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.dv-logo-mark svg { display: block; }
.dv-logo-wordmark { font-size: 18px; font-weight: 700; letter-spacing: -0.4px; color: var(--text); }
.dv-logo-tagline  { font-size: 10px; color: var(--muted); letter-spacing: 0.2px; }

/* Category chips */
.cat-chip {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding: 3px 8px; border-radius: 4px;
}
.cat-war      { background: rgba(239,68,68,0.14);   color: var(--red); }
.cat-economy  { background: rgba(62,207,142,0.14);  color: var(--green); }
.cat-politics { background: rgba(124,106,247,0.14); color: var(--accent); }
.cat-ai       { background: rgba(6,182,212,0.14);   color: var(--cyan); }
.cat-health   { background: rgba(245,158,11,0.14);  color: var(--amber); }
.cat-other    { background: rgba(136,136,153,0.14); color: var(--muted); }

/* Utility */
.eyebrow {
  font-size: 10px; font-weight: 700;
  letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--muted);
}
.eyebrow-accent { color: var(--accent); }
.mono {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-feature-settings: normal;
}

/* Feature gating ------------------------------------------------------------------- */
.gated-block {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius, 8px);
}
.gated-blur {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  opacity: 0.6;
}
.gated-cta {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(15,15,19,0.55) 0%, rgba(15,15,19,0.85) 100%);
  border-radius: inherit;
  z-index: 5;
  filter: none;
}
.gated-cta a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: var(--accent);
  color: #fff;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 14px rgba(124,106,247,0.45), 0 0 0 1px rgba(255,255,255,0.08);
  transition: opacity 0.15s, transform 0.15s;
  filter: none;
  white-space: nowrap;
}
.gated-cta a:active { transform: translateY(1px); }
.gated-cta a:hover { opacity: 0.88; }
.gated-inline-lock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--accent);
  background: var(--accent-bg);
  border: 1px solid var(--accent-border);
  border-radius: 6px;
  padding: 2px 8px;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
