/**
 * Design tokens — couleurs, typo, spacing, animations.
 */
:root {
    /* Palette */
    --bg:         #07070f;
    --bg-alt:     #0b0b18;
    --card:       #121222;
    --card2:      #161628;
    --border:     #1e1e32;
    --border-soft:#161628;

    --blue:       #4f8ef7;
    --blue-dim:   rgba(79,142,247,.10);
    --teal:       #00c9a7;
    --teal-dim:   rgba(0,201,167,.08);
    --gold:       #f5c842;
    --gold-dim:   rgba(245,200,66,.07);
    --red:        #ff5e6c;
    --red-dim:    rgba(255,94,108,.08);
    --purple:     #a78bfa;
    --purple-dim: rgba(167,139,250,.08);

    --text:       #e4e4f4;
    --text-soft:  #8888a8;
    --text-dim:   #44445a;
    --accent:     #4f8ef7;

    /* Typography */
    --font:       'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Syne', var(--font);
    --font-mono:  'DM Mono', monospace;

    /* Spacing */
    --nav-h:      64px;
    --slide-pad:  60px 40px;

    /* Transitions */
    --ease:       cubic-bezier(.4, 0, .2, 1);
    --dur:        .4s;

    /* Shadows */
    --shadow-sm:  0 1px 3px rgba(0,0,0,.3);
    --shadow-md:  0 4px 20px rgba(0,0,0,.35);
    --shadow-lg:  0 8px 40px rgba(0,0,0,.5);
}

/* ─── Light theme ─── */
[data-theme="light"] {
    --bg:         #f5f6fa;
    --bg-alt:     #ebedf5;
    --card:       #ffffff;
    --card2:      #f0f1f8;
    --border:     #d8dae5;
    --border-soft:#e2e4ee;

    --blue-dim:   rgba(79,142,247,.08);
    --teal-dim:   rgba(0,201,167,.06);
    --gold-dim:   rgba(245,200,66,.08);
    --red-dim:    rgba(255,94,108,.06);
    --purple-dim: rgba(167,139,250,.06);

    --text:       #1a1a2e;
    --text-soft:  #5a5a78;
    --text-dim:   #9898b0;

    --shadow-sm:  0 1px 3px rgba(0,0,0,.06);
    --shadow-md:  0 4px 20px rgba(0,0,0,.08);
    --shadow-lg:  0 8px 40px rgba(0,0,0,.10);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    overflow: hidden; /* slides handle their own scroll */
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; display: block; }
