/* NeuralCloud Academy — design tokens + dark mode */
:root {
  --nc-primary: #7F56D9;
  --nc-primary-light: #9B7FE6;
  --nc-primary-dark: #512F9B;
  --nc-my: #0EA5E9;
  --nc-my-light: #38BDF8;
  --nc-my-dark: #0369A1;
  --nc-i360: #10B981;
  --nc-cl: #F59E0B;
  --nc-near-black: #0F0F0F;
  --nc-dark-text: #1A1A2E;
  --nc-body: #4A4A5A;
  --nc-secondary: #7A7A8A;
  --nc-muted: #A0A0B0;
  --nc-border: #E8E0F5;
  --nc-card: #F5F4FA;
  --nc-bg: #F8F7FC;
  --nc-white: #fff;
  --nc-danger: #DC2626;
  --nc-success: #10B981;
  --nc-radius: 10px;
  --nc-radius-sm: 6px;
  --nc-shadow: 0 8px 28px rgba(15, 15, 15, 0.06);
}

[data-theme="dark"] {
  --nc-bg: #12121a;
  --nc-card: #1a1a24;
  --nc-border: #2a2a3a;
  --nc-dark-text: #f4f4f7;
  --nc-body: #c8c8d4;
  --nc-secondary: #8b8b9a;
  --nc-muted: #8b8b9a;
  --nc-white: #1a1a24;
  --nc-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

@media (prefers-color-scheme: dark) {
  html[data-theme="system"] {
    --nc-bg: #12121a;
    --nc-card: #1a1a24;
    --nc-border: #2a2a3a;
    --nc-dark-text: #f4f4f7;
    --nc-body: #c8c8d4;
    --nc-secondary: #8b8b9a;
    --nc-muted: #8b8b9a;
    --nc-white: #1a1a24;
    --nc-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  }
}

[data-product="max-yield"] { --nc-primary: var(--nc-my); --nc-primary-light: var(--nc-my-light); --nc-primary-dark: var(--nc-my-dark); }
[data-product="insight-360"] { --nc-primary: var(--nc-i360); --nc-primary-light: #34d399; --nc-primary-dark: #047857; }
[data-product="cardio-logger"] { --nc-primary: var(--nc-cl); --nc-primary-light: #fbbf24; --nc-primary-dark: #b45309; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--nc-body);
  background: var(--nc-bg);
}

.nc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nc-skip-link {
  position: absolute;
  left: 12px;
  top: -100px;
  background: var(--nc-primary);
  color: #fff;
  padding: 10px 16px;
  border-radius: var(--nc-radius-sm);
  z-index: 10000;
  text-decoration: none;
  font-weight: 600;
}
.nc-skip-link:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
