/* =====================================================================
 * Nexxus 7 real themes -- the JPG-backed set.
 *
 * Each theme matches a wallpaper file in /themes/<key>.jpg and the
 * matching palette in gui-install.ps1's $THEMES hashtable. The JS shell
 * sets body[data-theme="<key>"]; this stylesheet does the rest.
 *
 * The 20 CSS-only architect/public themes from nexxus-app-shell.css
 * are still valid -- this file adds the 7 JPG-backed ones without
 * conflict.
 *
 * Source of truth: scripts/windows/install-nexxus-gui.ps1 -> $THEMES
 * Wallpapers:      /themes/<key>.jpg
 * ===================================================================== */

/* gemini ---------------------------------------------------------------- */
body[data-theme="gemini"] {
    --nx-bg:      rgb(20,18,40);
    --nx-panel:   rgb(30,26,55);
    --nx-input:   rgb(12,11,26);
    --nx-ink:     rgb(230,224,208);
    --nx-dim:     rgb(130,122,102);
    --nx-accent:  rgb(245,184,90);
    --nx-good:    rgb(107,217,132);
    --nx-bad:     rgb(255,126,142);
    --nx-blue:    rgb(95,187,240);
    --nx-border:  rgb(60,50,90);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(20,18,40,0.78) 0%, rgba(20,18,40,0.92) 100%),
        url("/themes/gemini.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* ladyflowers-serenade -------------------------------------------------- */
body[data-theme="ladyflowers-serenade"] {
    --nx-bg:      rgb(12,18,16);
    --nx-panel:   rgb(20,30,28);
    --nx-input:   rgb(8,12,12);
    --nx-ink:     rgb(230,224,208);
    --nx-dim:     rgb(130,150,140);
    --nx-accent:  rgb(245,150,180);
    --nx-good:    rgb(140,220,180);
    --nx-bad:     rgb(255,126,142);
    --nx-blue:    rgb(170,210,200);
    --nx-border:  rgb(50,70,65);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(12,18,16,0.74) 0%, rgba(12,18,16,0.90) 100%),
        url("/themes/ladyflowers-serenade.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* three-body ------------------------------------------------------------ */
body[data-theme="three-body"] {
    --nx-bg:      rgb(8,8,28);
    --nx-panel:   rgb(18,18,45);
    --nx-input:   rgb(4,4,18);
    --nx-ink:     rgb(220,220,240);
    --nx-dim:     rgb(120,130,160);
    --nx-accent:  rgb(187,154,255);
    --nx-good:    rgb(130,220,200);
    --nx-bad:     rgb(255,126,170);
    --nx-blue:    rgb(110,180,255);
    --nx-border:  rgb(50,55,90);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(8,8,28,0.82) 0%, rgba(8,8,28,0.94) 100%),
        url("/themes/three-body.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* ocean-dunes ----------------------------------------------------------- */
body[data-theme="ocean-dunes"] {
    --nx-bg:      rgb(8,20,30);
    --nx-panel:   rgb(16,32,48);
    --nx-input:   rgb(4,12,18);
    --nx-ink:     rgb(220,235,240);
    --nx-dim:     rgb(120,150,160);
    --nx-accent:  rgb(95,200,210);
    --nx-good:    rgb(130,220,180);
    --nx-bad:     rgb(255,150,150);
    --nx-blue:    rgb(110,200,255);
    --nx-border:  rgb(40,75,90);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(8,20,30,0.78) 0%, rgba(8,20,30,0.92) 100%),
        url("/themes/ocean-dunes.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* the-last-sands -------------------------------------------------------- */
body[data-theme="the-last-sands"] {
    --nx-bg:      rgb(24,12,8);
    --nx-panel:   rgb(40,20,12);
    --nx-input:   rgb(14,6,4);
    --nx-ink:     rgb(240,222,200);
    --nx-dim:     rgb(160,120,100);
    --nx-accent:  rgb(255,130,80);
    --nx-good:    rgb(150,220,140);
    --nx-bad:     rgb(255,100,80);
    --nx-blue:    rgb(200,150,180);
    --nx-border:  rgb(80,40,30);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(24,12,8,0.78) 0%, rgba(24,12,8,0.92) 100%),
        url("/themes/the-last-sands.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* glacial-runoff -------------------------------------------------------- */
body[data-theme="glacial-runoff"] {
    --nx-bg:      rgb(224,232,240);
    --nx-panel:   rgb(200,212,224);
    --nx-input:   rgb(180,196,212);
    --nx-ink:     rgb(20,30,55);
    --nx-dim:     rgb(80,95,120);
    --nx-accent:  rgb(30,90,200);
    --nx-good:    rgb(40,160,100);
    --nx-bad:     rgb(200,60,80);
    --nx-blue:    rgb(20,100,200);
    --nx-border:  rgb(160,180,200);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(224,232,240,0.65) 0%, rgba(224,232,240,0.80) 100%),
        url("/themes/glacial-runoff.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: var(--nx-ink);
}

/* minimal-light --------------------------------------------------------- */
body[data-theme="minimal-light"] {
    --nx-bg:      rgb(248,244,235);
    --nx-panel:   rgb(232,226,212);
    --nx-input:   rgb(255,250,240);
    --nx-ink:     rgb(30,28,24);
    --nx-dim:     rgb(120,110,95);
    --nx-accent:  rgb(180,80,40);
    --nx-good:    rgb(60,140,80);
    --nx-bad:     rgb(180,60,80);
    --nx-blue:    rgb(60,110,180);
    --nx-border:  rgb(200,190,170);
    background-color: var(--nx-bg);
    background-image:
        linear-gradient(180deg, rgba(248,244,235,0.55) 0%, rgba(248,244,235,0.75) 100%),
        url("/themes/minimal-light.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: var(--nx-ink);
}

/* Theme switcher visible affordance: when a JPG-theme is bound, soften
 * any inline glassmorphism panels so the wallpaper shows through. */
body[data-theme="gemini"] .panel,
body[data-theme="ladyflowers-serenade"] .panel,
body[data-theme="three-body"] .panel,
body[data-theme="ocean-dunes"] .panel,
body[data-theme="the-last-sands"] .panel,
body[data-theme="glacial-runoff"] .panel,
body[data-theme="minimal-light"] .panel {
    background: rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(20px) saturate(1.18);
    -webkit-backdrop-filter: blur(20px) saturate(1.18);
}
body[data-theme="glacial-runoff"] .panel,
body[data-theme="minimal-light"] .panel {
    background: rgba(255, 255, 255, 0.55);
    color: var(--nx-ink);
}
