:root {
  /* Backgrounds */
  --bg-page: #ffffff;
  --bg-surface: rgba(0,0,0,0.03);
  --bg-card-hover: rgba(0,0,0,0.05);
  --bg-footer: #10123f;
  --bg-footer-bottom: #0c0e34;

  /* Borders */
  --border-subtle: rgba(0,0,0,0.16);
  --border-hover: rgba(58,130,237,0.35);
  --border-cyan: rgba(6,182,212,0.3);
  --border-footer: rgba(255,255,255,0.08);

  /* Text */
  --text-primary: #1a2033;
  --text-secondary: #1a2033;
  --text-muted: #6b7280;
  --text-white: #10131f;
  --text-footer: rgba(255,255,255,0.62);
  --text-footer-heading: #ffffff;
  --text-footer-muted: rgba(255,255,255,0.4);

  /* Accents */
  --accent-purple: #3a82ed;
  --accent-purple-light: #2f6fd6;
  --accent-indigo: #4f46e5;
  --accent-cyan: #06b6d4;
  --accent-blue: #3b82f6;
  --accent-sky: #0ea5e9;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #3a9ced, #466be5);
  --gradient-cyan: linear-gradient(135deg, #06b6d4, #3b82f6);
  --gradient-title: linear-gradient(135deg, #10131f 0%, #3a82ed 100%);
  --gradient-shimmer: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);

  /* Shadows */
  --shadow-card: 0 12px 32px rgba(20,25,45,0.10);
  --shadow-card-hover: 0 18px 42px rgba(20,25,45,0.14);
  --shadow-glow-purple: 0 4px 16px rgba(58, 130, 237, 0.22);
  --shadow-glow-purple-hover: 0 8px 24px rgba(58, 130, 237, 0.32);
  --shadow-glow-cyan: 0 4px 15px rgba(6,182,212,0.25);
}

/* ==========================================================================
   MODALITÀ SCURA
   Attivata da data-theme="dark" sull'elemento <html> (vedi layout.js).
   Ridefinisce le stesse variabili del tema chiaro: tutto ciò che le usa
   si adatta automaticamente, senza toccare le singole pagine.
   ========================================================================== */
html[data-theme="dark"] {
  --bg-page: linear-gradient(180deg, #0b0f1d 0%, #0d1222 45%, #090d18 100%);
  --bg-surface: rgba(255,255,255,0.05);
  --bg-card-hover: rgba(255,255,255,0.09);

  --border-subtle: rgba(255,255,255,0.11);
  --border-hover: rgba(124,179,255,0.45);

  --text-primary: #e6ecf7;
  --text-secondary: #e6ecf7;
  --text-muted: #98a3b8;
  --text-white: #ffffff;

  --accent-purple: #4f93f2;
  --accent-purple-light: #7cb3ff;

  --gradient-title: linear-gradient(135deg, #ffffff 0%, #7cb3ff 100%);

  --shadow-card: 0 12px 32px rgba(0,0,0,0.45);
  --shadow-card-hover: 0 18px 42px rgba(0,0,0,0.55);
}
