/* ============================================================
   fissi_v3.css — Modernized design tokens
   Sporty, energetic, race-day inspired.
   Ladataan vain modernisoiduilla sivuilla (esim. public/index.php).
   Käyttää data-theme="dark|light" htmlissä.

   HUOM: nämä tokenit ovat itsenäisiä — eivät enää alias-bridgejä v2.css:lle.
   Vanhat sivut käyttävät edelleen fissi_theme.css:ää. Sopii eteenpäin migraatioon.
   ============================================================ */

:root,
[data-theme="dark"] {
    /* Surfaces */
    --bg:           #0A0D14;
    --bg-2:         #0F131C;
    --surface:      #151A24;
    --surface-2:    #1B2230;
    --surface-3:    #232B3D;
    --paper:        #0A0D14;
    --paper-2:      #151A24;
    --paper-3:      #1B2230;

    --border:           #232B3D;
    --border-bright:    #344160;
    --rule-faint:       #232B3D;
    --rule-soft:        #344160;

    /* Text */
    --text:    #F2F5FB;
    --text-2:  #B8C0D2;
    --muted:   #6B7490;
    --muted-2: #4A5169;
    --ink:     #F2F5FB;
    --ink-2:   #B8C0D2;

    /* Brand & accents */
    --accent:       #4D9EFF;   /* electric blue — primary CTA */
    --accent-ink:   #0A0D14;
    --accent2:      #3CE8FF;   /* secondary cyan — info / link */
    --hl:           #4D9EFF;

    /* Discipline palette */
    --d-sl: #F87171;   /* slalom – red */
    --d-gs: #60A5FA;   /* giant slalom – blue */
    --d-sg: #4ADE80;   /* super-g – green */
    --d-dh: #FACC15;   /* downhill – yellow */
    --d-ac: #A78BFA;   /* alpine combined */

    /* Status */
    --ok:       #34E89E;
    --success:  #34E89E;
    --warn:     #FF8533;
    --warning:  #FF8533;
    --danger:   #FF3D5C;
    --info:     #3CE8FF;

    /* Buttons (legacy compat) */
    --btn-bg:       var(--accent);
    --btn-hover:    color-mix(in oklch, var(--accent) 88%, white);
    --btn-color:    var(--accent-ink);

    --input-bg:     var(--surface);
    --input-border: var(--border-bright);
    --input-focus:  var(--accent);
    --input-shadow: rgba(77, 158, 255, .18);

    --nav-bg-from:  var(--surface);
    --nav-bg-to:    var(--bg-2);

    /* Typography */
    --font-display: 'Bebas Neue', 'Anton', 'Inter', system-ui, sans-serif;
    --font-body:    'Inter', 'Geist', system-ui, sans-serif;
    --font-mono:    'JetBrains Mono', 'Geist Mono', 'IBM Plex Mono', ui-monospace, monospace;
    --font-sans:    var(--font-body);

    /* Radii */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --r-1: 6px;
    --r-2: 10px;
    --r-3: 14px;

    /* Shadows */
    --shadow-sm: 0 1px 0 rgba(255,255,255,.04), 0 1px 2px rgba(0,0,0,.4);
    --shadow-md: 0 4px 16px rgba(0,0,0,.45);
    --shadow-lg: 0 20px 50px rgba(0,0,0,.6);
    --sh-1: var(--shadow-sm);
    --sh-2: var(--shadow-md);
    --sh-pop: var(--shadow-lg);
}

[data-theme="light"] {
    --bg:           #F1F4FA;
    --bg-2:         #E7ECF5;
    --surface:      #FFFFFF;
    --surface-2:    #F5F7FB;
    --surface-3:    #E9EEF7;
    --paper:        #F1F4FA;
    --paper-2:      #FFFFFF;
    --paper-3:      #F5F7FB;

    --border:           #DBE1EE;
    --border-bright:    #B8C2D6;
    --rule-faint:       #DBE1EE;
    --rule-soft:        #B8C2D6;

    --text:    #0A0D14;
    --text-2:  #2B3245;
    --muted:   #5B6378;
    --muted-2: #8892A6;
    --ink:     #0A0D14;
    --ink-2:   #2B3245;

    --accent:       #2563EB;
    --accent-ink:   #FFFFFF;
    --accent2:      #0099C7;
    --hl:           #2563EB;

    --d-sl: #DC2626;   /* slalom – red */
    --d-gs: #2563EB;   /* giant slalom – blue */
    --d-sg: #16A34A;   /* super-g – green */
    --d-dh: #CA8A04;   /* downhill – yellow */
    --d-ac: #7C3AED;   /* alpine combined */

    --ok:       #149A6A;
    --success:  #149A6A;
    --warn:     #DD6516;
    --warning:  #DD6516;
    --danger:   #E13550;
    --info:     #0099C7;

    --btn-bg:       var(--accent);
    --btn-hover:    color-mix(in oklch, var(--accent) 90%, black);
    --btn-color:    var(--accent-ink);

    --input-bg:     var(--surface);
    --input-border: var(--border-bright);
    --input-focus:  var(--accent);
    --input-shadow: rgba(37, 99, 235, .25);

    --nav-bg-from:  var(--surface);
    --nav-bg-to:    var(--surface-2);

    --shadow-sm: 0 1px 2px rgba(15,30,60,.06);
    --shadow-md: 0 6px 20px rgba(15,30,60,.10);
    --shadow-lg: 0 20px 50px rgba(15,30,60,.18);
    --sh-1: var(--shadow-sm);
    --sh-2: var(--shadow-md);
    --sh-pop: var(--shadow-lg);
}

/* Global resets when modernized stylesheet is in play */
html.fissi-v3,
html.fissi-v3 body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
}

html.fissi-v3 * { box-sizing: border-box; }

html.fissi-v3 a { color: inherit; }
