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

/* ── Brand palette (from style sheet + SVG assets) ──────────────
   Dark blue:  #05048b   (brand primary, from SVG gradient)
   Deep navy:  #00003f   (brand dark, from SVG gradient)
   Mid blue:   #3d6fc8   (secondary blue)
   Light blue: #6ba5d8   (pattern accent, keypatternsample)
   Orange:     #f28a00   (accent, from style sheet)
──────────────────────────────────────────────────────────────── */

:root {
  --bg:            #0b0a38;
  --bg-card:       #12104a;
  --bg-header:     #0a0930;
  --bg-footer:     #070620;
  --text:          #f0f1ff;
  --muted:         rgba(240, 241, 255, 1);
  --border:        rgba(255, 255, 255, 0.09);
  --gradient:      linear-gradient(135deg, #1a19c8 0%, #05048b 60%, #00003f 100%);
  --gradient-text: linear-gradient(135deg, #6ba5d8 0%, #a0b8ff 100%);
  --orange:        #f28a00;
  --orange-dim:    rgba(242, 138, 0, 0.15);
  --green:         #00c87a;
  --green-dim:     rgba(0, 200, 122, 0.15);
  --accent:        #3d6fc8;
  --accent-dim:    rgba(61, 111, 200, 0.18);
  --shadow-sm:     0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-md:     0 6px 24px rgba(0, 0, 0, 0.4);
  --shadow-hover:  0 10px 36px rgba(26, 25, 200, 0.35);
}

[data-theme="light"] {
  --bg:            #f0f2ff;
  --bg-card:       #ffffff;
  --bg-header:     #ffffff;
  --bg-footer:     #e8ebfa;
  --text:          #0a0930;
  --muted:         rgba(10, 9, 48, 0.52);
  --border:        rgba(0, 0, 0, 0.09);
  --gradient:      linear-gradient(135deg, #05048b 0%, #1a19c8 60%, #3d6fc8 100%);
  --gradient-text: linear-gradient(135deg, #05048b 0%, #3d6fc8 100%);
  --orange:        #e07a00;
  --orange-dim:    rgba(224, 122, 0, 0.12);
  --green:         #009a5c;
  --green-dim:     rgba(0, 154, 92, 0.12);
  --accent:        #05048b;
  --accent-dim:    rgba(5, 4, 139, 0.1);
  --shadow-sm:     0 2px 8px rgba(0, 0, 0, 0.07);
  --shadow-md:     0 6px 24px rgba(0, 0, 0, 0.1);
  --shadow-hover:  0 10px 36px rgba(5, 4, 139, 0.2);
}

/* ── Base ── */

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  transition: background 0.25s, color 0.25s;
  -webkit-font-smoothing: antialiased;
  position: relative;
  overflow-x: hidden;
}

/* Background pattern texture — url() paths are relative to this CSS file */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("../assets/background%20pattern%201.png");
  background-size: 360px;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
  filter: invert(1);
}

[data-theme="light"] body::before {
  background-image: url("../assets/keypatternsample.png");
  background-size: 360px;
  opacity: 0.08;
  filter: none;
}

a {
  color: inherit;
}
