/* ══════════════════════════════════════════════
   Data Ligase — shared site styles
══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --white:      oklch(98.5% 0.005 90);
  --ink:        oklch(11% 0.012 240);
  --ink-2:      oklch(34% 0.016 240);
  --ink-3:      oklch(55% 0.012 240);
  --teal:       oklch(55% 0.155 192);
  --teal-mid:   oklch(74% 0.10 192);
  --teal-light: oklch(93% 0.05 192);
  --slate:      oklch(55% 0.155 252);
  --rule:       oklch(88% 0.006 240);
  --rule-dark:  oklch(22% 0.016 240);
  --bg-dark:    oklch(10% 0.014 240);
  --bg-dark-2:  oklch(15% 0.014 240);
  --amber:      oklch(80% 0.12 65);
  --mono: 'DM Mono', monospace;
  --serif: 'Libre Baskerville', serif;
  --sans: 'DM Sans', sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--bg-dark); font-family: var(--sans); color: var(--white); }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb { background: var(--rule-dark); border-radius: 3px; }

/* Fade-in on scroll */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
@keyframes grow {
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  100%{transform:scaleY(1);opacity:0}
}

main { display: block; }
a { color: inherit; }
