/* themes.css — 10 theme packs. Each sets the full variable contract:
   --bg --ink --muted --accent --line --font-display --font-body
   --radius --field --field-a --bg-image --bg-size --bg-a          */

/* 01 VOID — the baseline. Black, white, Outfit, dot field. */
[data-theme='void'] {
    --bg: #000000; --ink: #ffffff; --muted: #9aa0b0;
    --accent: #ffffff; --line: #ffffff;
    --font-display: 'Outfit', sans-serif; --font-body: 'Outfit', sans-serif;
    --radius: 12px; --field: #ffffff; --field-a: 0.5;
    --logo-size: 1.5rem; --logo-style: normal;
    --bg-image: none; --bg-size: auto; --bg-a: 0;
}

/* 02 ACID — toxic green on black, mono, scanlines. */
[data-theme='acid'] {
    --bg: #0a0d00; --ink: #c8ff00; --muted: #6d8a1e;
    --accent: #ff00c8; --line: #c8ff00;
    --font-display: 'JetBrains Mono', monospace; --font-body: 'JetBrains Mono', monospace;
    --radius: 0px; --field: #c8ff00; --field-a: 0.35;
    --logo-size: 1.6rem; --logo-style: normal;
    --bg-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(200,255,0,0.10) 3px 4px);
    --bg-size: auto; --bg-a: 1;
}

/* 03 PAPER — cream broadsheet, ink serif, faint rule lines. */
[data-theme='paper'] {
    --bg: #f4efe4; --ink: #1a1712; --muted: #6b6558;
    --accent: #b3122e; --line: #1a1712;
    --font-display: 'Playfair Display', serif; --font-body: 'Playfair Display', serif;
    --radius: 2px; --field: #1a1712; --field-a: 0.12;
    --logo-size: 1.7rem; --logo-style: italic;
    --bg-image: repeating-linear-gradient(0deg, transparent 0 31px, rgba(26,23,18,0.08) 31px 32px);
    --bg-size: auto; --bg-a: 1;
}

/* 04 TERMINAL — phosphor green CRT, pixel font, deep vignette. */
[data-theme='terminal'] {
    --bg: #050a05; --ink: #33ff66; --muted: #1f7a3d;
    --accent: #baffc9; --line: #33ff66;
    --font-display: 'VT323', monospace; --font-body: 'VT323', monospace;
    --radius: 0px; --field: #33ff66; --field-a: 0.3;
    --logo-size: 2.1rem; --logo-style: normal;
    --bg-image: radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.85) 100%),
        repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,0.35) 2px 4px);
    --bg-size: auto; --bg-a: 1;
}

/* 05 SIGNAL — hazard red, poster condensed, diagonal stripes. */
[data-theme='signal'] {
    --bg: #0d0a0a; --ink: #f2f2f2; --muted: #8a6f6f;
    --accent: #ff2a2a; --line: #ff2a2a;
    --font-display: 'Anton', sans-serif; --font-body: 'Outfit', sans-serif;
    --radius: 4px; --field: #ff2a2a; --field-a: 0.4;
    --logo-size: 1.9rem; --logo-style: normal;
    --bg-image: repeating-linear-gradient(-45deg, transparent 0 46px, rgba(255,42,42,0.07) 46px 58px);
    --bg-size: auto; --bg-a: 1;
}

/* 06 BLUEPRINT — drafting blue, white grid, mono labels. */
[data-theme='blueprint'] {
    --bg: #10275c; --ink: #e8f0ff; --muted: #7d97cc;
    --accent: #ffd23f; --line: #e8f0ff;
    --font-display: 'JetBrains Mono', monospace; --font-body: 'JetBrains Mono', monospace;
    --radius: 0px; --field: #ffffff; --field-a: 0.35;
    --logo-size: 1.5rem; --logo-style: normal;
    --bg-image: repeating-linear-gradient(0deg, transparent 0 39px, rgba(232,240,255,0.14) 39px 40px),
        repeating-linear-gradient(90deg, transparent 0 39px, rgba(232,240,255,0.14) 39px 40px);
    --bg-size: auto; --bg-a: 1;
}

/* 07 SOLAR — taxi-yellow poster, black ink, halftone dots. */
[data-theme='solar'] {
    --bg: #ffd23f; --ink: #111008; --muted: #5c5230;
    --accent: #d62300; --line: #111008;
    --font-display: 'Anton', sans-serif; --font-body: 'Space Grotesk', sans-serif;
    --radius: 999px; --field: #111008; --field-a: 0.2;
    --logo-size: 1.9rem; --logo-style: normal;
    --bg-image: radial-gradient(circle, rgba(17,16,8,0.18) 1.5px, transparent 1.5px);
    --bg-size: 26px 26px; --bg-a: 1;
}

/* 08 GHOST — pale lavender fog, thin serif, drifting orbs. */
[data-theme='ghost'] {
    --bg: #e9e9f2; --ink: #4a4a5e; --muted: #8a8aa0;
    --accent: #6a4dff; --line: #4a4a5e;
    --font-display: 'Playfair Display', serif; --font-body: 'Playfair Display', serif;
    --radius: 20px; --field: #6a4dff; --field-a: 0.18;
    --logo-size: 1.7rem; --logo-style: italic;
    --bg-image: radial-gradient(circle at 20% 30%, rgba(106,77,255,0.14) 0 8%, transparent 20%),
        radial-gradient(circle at 80% 70%, rgba(74,74,94,0.12) 0 10%, transparent 24%);
    --bg-size: auto; --bg-a: 1;
}

/* 09 EMBER — forge-black, molten orange glow, sans. */
[data-theme='ember'] {
    --bg: #120806; --ink: #ffdcb8; --muted: #8a6a52;
    --accent: #ff6a00; --line: #ff6a00;
    --font-display: 'Space Grotesk', sans-serif; --font-body: 'Space Grotesk', sans-serif;
    --radius: 10px; --field: #ff6a00; --field-a: 0.45;
    --logo-size: 1.6rem; --logo-style: normal;
    --bg-image: radial-gradient(circle at 50% 120%, rgba(255,106,0,0.22) 0 12%, transparent 42%),
        radial-gradient(circle at 85% -10%, rgba(255,42,0,0.14) 0 8%, transparent 30%);
    --bg-size: auto; --bg-a: 1;
}

/* 10 VAPOR — deep purple, cyan/pink neon horizon. */
[data-theme='vapor'] {
    --bg: #1a0533; --ink: #00f0ff; --muted: #7a5aa8;
    --accent: #ff71ce; --line: #00f0ff;
    --font-display: 'Space Grotesk', sans-serif; --font-body: 'Space Grotesk', sans-serif;
    --radius: 6px; --field: #00f0ff; --field-a: 0.4;
    --logo-size: 1.7rem; --logo-style: normal;
    --bg-image: linear-gradient(0deg, rgba(255,113,206,0.16) 0%, transparent 34%),
        repeating-linear-gradient(90deg, transparent 0 79px, rgba(0,240,255,0.10) 79px 80px);
    --bg-size: auto; --bg-a: 1;
}
