/*
  ============================================================
  NUVISTAR — DESIGN TOKENS
  Design tokens and reset. Import with shared.css in every HTML file.
  ============================================================
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* ── Color Palette ───────────────────────────────────────── */
:root {
  --ink:         #0c1a2e;
  --ink-mid:     #3a4f6a;
  --ink-light:   #7a8fa8;
  --surface:     #f5f7fa;
  --card:        #ffffff;
  --border:      rgba(12, 26, 46, 0.10);
  --accent:      #0057ff;
  --accent-dim:  #e8eeff;
  --accent-txt:  #0040cc;
  --teal:        #00b87a;
  --teal-dim:    #e0f7ef;
  --teal-txt:    #007a50;
  --amber:       #d48a0c;
  --amber-dim:   #fdf3e0;
  --amber-txt:   #8a5a00;
  --red:         #d63b3b;
  --red-dim:     #fdeaea;
  --red-txt:     #961c1c;
  --font-serif:  'DM Serif Display', Georgia, serif;
  --font-sans:   'Manrope', system-ui, sans-serif;
  --font-mono:   'DM Mono', 'Courier New', monospace;
}

body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--surface);
  overflow-x: hidden;
}

/* ── Utilities ───────────────────────────────────────────── */
.mt-0  { margin-top: 0; }
.mt-1  { margin-top: 8px; }
.mt-2  { margin-top: 16px; }
.mt-3  { margin-top: 24px; }
.mt-4  { margin-top: 32px; }
.mb-1  { margin-bottom: 8px; }
.mb-2  { margin-bottom: 16px; }
.mb-3  { margin-bottom: 24px; }
.mb-4  { margin-bottom: 32px; }
.flex  { display: flex; }
.flex-col { flex-direction: column; }
.flex-1  { flex: 1; }
.text-center { text-align: center; }
