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

:root {
  --bg-deep:       #0e1525;
  --bg-surface:    #151f35;
  --bg-card:       rgba(25, 38, 65, 0.75);
  --bg-card-hover: rgba(32, 50, 82, 0.88);

  --blue-core:     #2563eb;
  --blue-bright:   #3b82f6;
  --blue-glow:     #60a5fa;
  --blue-dim:      rgba(37, 99, 235, 0.15);
  --blue-border:   rgba(59, 130, 246, 0.25);

  --silver:        #c8d6e8;
  --silver-dim:    #7a90b0;
  --silver-faint:  rgba(200, 214, 232, 0.06);

  --text-primary:  #e8eef8;
  --text-secondary:#8fa3c0;
  --text-muted:    #4a6080;

  --line:          rgba(255,255,255,0.06);
  --line-blue:     rgba(59,130,246,0.18);

  --font-display:  'Cormorant Garamond', 'Palatino Linotype', Georgia, serif;
  --font-body:     'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:     'JetBrains Mono', 'Fira Code', ui-monospace, monospace;

  --radius-sm:     4px;
  --radius-md:     12px;
  --radius-lg:     24px;
  --radius-xl:     40px;

  --shadow-blue:   0 0 40px rgba(37,99,235,0.2);
  --shadow-card:   0 8px 40px rgba(0,0,0,0.5);

  --transition:    all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-fast: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  background-color: var(--bg-deep);
  color: var(--text-primary);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; color: inherit; }

::selection { background: var(--blue-core); color: #fff; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg-deep); }
::-webkit-scrollbar-thumb { background: var(--blue-core); border-radius: 2px; }
