/* Temas de Nexoverso: cada uno es una dimensión con su propio ánimo. Todos son
   propios (no paletas prestadas) y solo cambian colores. Nebulosa es el
   predeterminado y Día estelar su versión clara. Los temas con ambiente
   traen además su decoración animada (ambiente.css). Este archivo se genera con pocas
   variables por tema: fondos, texto, línea, luz (acción principal), brillo
   (secundario) y estados; los colores del editor se derivan de ellas.
   El mapa estelar, las terminales y el teléfono llevan .siempre-noche: son
   ventanas al espacio y conservan la noche en cualquier tema. */

/* ---------- Nebulosa (predeterminado): La Central de viajeros: noche índigo, portal cian y violeta. ---------- */
:root,
.siempre-noche,
.mapa-nexo__marco,
.terminal,
.chat {
  color-scheme: dark;
  --noche: #05061a;
  --tinta: #0a0c24;
  --tinta-profunda: #080a1f;
  --superficie: #151a3f;
  --superficie-alta: #1f2563;
  --tinta-clara: #2c3478;
  --linea-rgb: 154 163 217;
  --papel: #eef0ff;
  --papel-suave: #b9c0ee;
  --luz-rgb: 60 224 255;
  --luz-intensa: #8fefff;
  --texto-sobre-luz: #06102e;
  --oro: #ffc857;
  --oxido: #ff8a3d;
  --error: #ff5a6e;
  --exito: #5ef2b0;
  --hondo-rgb: 8 10 31;
  --brillo-rgb: 107 92 255;
  --barra-fondo: rgb(8 10 31 / 0.88);
  --sombra-panel: 0 18px 40px -26px rgb(0 0 0 / 0.75);
  /* Algunos logos son oscuros de origen: sobre fondo oscuro se aclaran. */
  --filtro-logo-oscuro: invert(1) hue-rotate(180deg) brightness(1.15);

  --d-html: #5cc8ff;
  --d-css: #ff7eb6;
  --d-javascript: #7ee0b5;
  --d-logica: #b69cff;
  --d-matematicas: #4fd6c3;
  --d-sql: #86a8ff;
  --d-bots: #f98bd8;
  --d-lua: #7b9bff;
  --d-roblox: #ff6b6b;
  --d-unity: #c3cfe0;
  --d-linux: #b9e36c;
  --d-git: #f27d5f;
  --d-nube: #a9d2ff;
  --d-typescript: #6c9dff;
  --d-tailwind: #3ee6d0;
  --d-astro: #ff9b6a;
  --d-python: #ffd966;
  --d-go: #5ad1ff;
  --d-cpp: #9fb7ff;
  --d-csharp: #d08cff;
  --d-java: #ffa94d;
  --d-godot: #8fc9ff;
  --d-unreal: #e4e7ee;
  --d-ia: #ff7de0;
  --d-ciberseguridad: #ff6f86;

  /* Galaxias (siempre sobre el espacio oscuro). */
  --g-webverso: #4f8dff;
  --g-axioma: #9b6bff;
  --g-datalia: #22c1c3;
  --g-neoverso: #ff4fb8;
  --g-pixelia: #ff8a3d;
  --g-raiz: #8bdc4a;
  --g-forja: #e6c34a;
  --g-sinapsis: #ff5fd2;
  --g-bastion: #ff4d5e;

  /* Derivados: se recalculan solos en cada tema. */
  --linea: rgb(var(--linea-rgb));
  --linea-media: rgb(var(--linea-rgb) / 0.5);
  --linea-tenue: rgb(var(--linea-rgb) / 0.2);
  --luz: rgb(var(--luz-rgb));
  --brillo: rgb(var(--brillo-rgb));
  --luz-suave: rgb(var(--luz-rgb) / 0.14);
  --oxido-suave: color-mix(in srgb, var(--oxido) 14%, transparent);
  --error-suave: color-mix(in srgb, var(--error) 12%, transparent);

  /* El editor toma los colores del tema: cada dimensión pinta el código a su modo. */
  --editor-fondo: var(--tinta-profunda);
  --editor-texto: var(--papel);
  --editor-numeros: rgb(var(--linea-rgb) / 0.5);
  --editor-numero-activo: var(--linea);
  --editor-linea-activa: rgb(var(--linea-rgb) / 0.08);
  --editor-seleccion: rgb(var(--brillo-rgb) / 0.26);
  --sx-etiqueta: var(--brillo);
  --sx-signo: rgb(var(--linea-rgb) / 0.85);
  --sx-atributo: var(--oro);
  --sx-rotulo: var(--oro);
  --sx-texto: var(--exito);
  --sx-numero: var(--oxido);
  --sx-propiedad: color-mix(in srgb, var(--brillo) 65%, var(--papel));
  --sx-clave: var(--luz);
  --sx-comentario: rgb(var(--linea-rgb) / 0.7);
  --sx-invalido: var(--error);
}

/* ---------- Temas claros: lo que comparten ---------- */
:root[data-tema="estelar"],
:root[data-tema="arena"],
:root[data-tema="menta"],
:root[data-tema="tinta"] {
  color-scheme: light;
  --filtro-logo-oscuro: none;
  --sombra-panel: 0 1px 2px rgb(20 16 40 / 0.06), 0 14px 30px -20px rgb(20 16 40 / 0.3);
  --d-html: #0073b3;
  --d-css: #c2185b;
  --d-javascript: #0d7f57;
  --d-logica: #6a45d1;
  --d-matematicas: #0b7f73;
  --d-sql: #2f55cf;
  --d-bots: #b8238f;
  --d-lua: #3050c8;
  --d-roblox: #c62828;
  --d-unity: #4a5568;
  --d-linux: #4d7a00;
  --d-git: #c2411f;
  --d-nube: #2470b3;
  --d-typescript: #2a5db0;
  --d-tailwind: #0f766e;
  --d-astro: #c2410c;
  --d-python: #8a6400;
  --d-go: #006f9e;
  --d-cpp: #334e9e;
  --d-csharp: #7e22ce;
  --d-java: #b35900;
  --d-godot: #1f5f99;
  --d-unreal: #333a44;
  --d-ia: #a21caf;
  --d-ciberseguridad: #be123c;
}

/* ---------- Boreal: Aurora polar: menta y agua sobre un mar casi negro. ---------- */
:root[data-tema="boreal"] {
  --noche: #020d10;
  --tinta: #04161a;
  --tinta-profunda: #031216;
  --superficie: #0c2a30;
  --superficie-alta: #12363d;
  --tinta-clara: #1d4a52;
  --linea-rgb: 143 201 194;
  --papel: #e8fff8;
  --papel-suave: #bfe6dd;
  --luz-rgb: 93 255 201;
  --luz-intensa: #a3ffe2;
  --texto-sobre-luz: #032418;
  --oro: #ffe27a;
  --oxido: #ff9a5a;
  --error: #ff6b7a;
  --exito: #5dffc9;
  --hondo-rgb: 3 18 22;
  --brillo-rgb: 47 184 255;
  --barra-fondo: rgb(3 18 22 / 0.88);
}

/* ---------- Eclipse: Un sol tapado: dorado y naranja sobre brasa. ---------- */
:root[data-tema="eclipse"] {
  --noche: #0e0509;
  --tinta: #170a10;
  --tinta-profunda: #12070c;
  --superficie: #2a1420;
  --superficie-alta: #381b2b;
  --tinta-clara: #4e2a3c;
  --linea-rgb: 217 170 184;
  --papel: #fff1e8;
  --papel-suave: #efcbc0;
  --luz-rgb: 255 210 90;
  --luz-intensa: #ffe38f;
  --texto-sobre-luz: #2a1206;
  --oro: #7fe7ff;
  --oxido: #c48bff;
  --error: #ff4f9a;
  --exito: #8ee59b;
  --hondo-rgb: 18 7 12;
  --brillo-rgb: 255 138 61;
  --barra-fondo: rgb(18 7 12 / 0.88);
}

/* ---------- Sintonía: Radio de medianoche: rosa y violeta. ---------- */
:root[data-tema="sintonia"] {
  --noche: #0b0314;
  --tinta: #12061f;
  --tinta-profunda: #0e0419;
  --superficie: #241040;
  --superficie-alta: #321657;
  --tinta-clara: #45206f;
  --linea-rgb: 201 166 230;
  --papel: #fff4fd;
  --papel-suave: #e6ccf2;
  --luz-rgb: 255 126 219;
  --luz-intensa: #ffa8e8;
  --texto-sobre-luz: #2a0a24;
  --oro: #fede5d;
  --oxido: #3df5c4;
  --error: #ff5a4e;
  --exito: #7dffb2;
  --hondo-rgb: 14 4 25;
  --brillo-rgb: 155 107 255;
  --barra-fondo: rgb(14 4 25 / 0.88);
}

/* ---------- Selva: Selva de noche: verde lima y esmeralda. ---------- */
:root[data-tema="selva"] {
  --noche: #030c06;
  --tinta: #06140b;
  --tinta-profunda: #041009;
  --superficie: #10281a;
  --superficie-alta: #163521;
  --tinta-clara: #214a2e;
  --linea-rgb: 156 205 168;
  --papel: #effff2;
  --papel-suave: #c6e8cd;
  --luz-rgb: 182 255 90;
  --luz-intensa: #d2ff94;
  --texto-sobre-luz: #142008;
  --oro: #ffd25a;
  --oxido: #ff9a5a;
  --error: #ff6b6b;
  --exito: #3ddc97;
  --hondo-rgb: 4 16 9;
  --brillo-rgb: 61 220 151;
  --barra-fondo: rgb(4 16 9 / 0.88);
}

/* ---------- Lavanda: Lila suave con luna y estrellas que titilan. ---------- */
:root[data-tema="lavanda"] {
  --noche: #08060f;
  --tinta: #0e0b1a;
  --tinta-profunda: #0b0915;
  --superficie: #1e1834;
  --superficie-alta: #2a2247;
  --tinta-clara: #3a3060;
  --linea-rgb: 182 171 217;
  --papel: #f4f0ff;
  --papel-suave: #d6ccf2;
  --luz-rgb: 201 182 255;
  --luz-intensa: #e0d4ff;
  --texto-sobre-luz: #1a0f3a;
  --oro: #ffd9a0;
  --oxido: #ff9e7a;
  --error: #ff7a9c;
  --exito: #7fe8c2;
  --hondo-rgb: 11 9 21;
  --brillo-rgb: 154 123 255;
  --barra-fondo: rgb(11 9 21 / 0.88);
}

/* ---------- Sakura: Rosa pastel, una rama en flor y pétalos que caen. ---------- */
:root[data-tema="sakura"] {
  --noche: #0c060b;
  --tinta: #140a12;
  --tinta-profunda: #10080e;
  --superficie: #26141f;
  --superficie-alta: #34192a;
  --tinta-clara: #48243a;
  --linea-rgb: 217 169 190;
  --papel: #fff0f6;
  --papel-suave: #f0cadb;
  --luz-rgb: 255 179 209;
  --luz-intensa: #ffd1e3;
  --texto-sobre-luz: #2a0a18;
  --oro: #ffe7a3;
  --oxido: #ffb27a;
  --error: #ff5247;
  --exito: #9be8b5;
  --hondo-rgb: 16 8 14;
  --brillo-rgb: 255 126 176;
  --barra-fondo: rgb(16 8 14 / 0.88);
}

/* ---------- Obsidiana: Negro, oro y destellos de diamante. ---------- */
:root[data-tema="obsidiana"] {
  --noche: #060505;
  --tinta: #0b0a09;
  --tinta-profunda: #090807;
  --superficie: #1a1714;
  --superficie-alta: #24201c;
  --tinta-clara: #342e27;
  --linea-rgb: 191 178 154;
  --papel: #f6f1e6;
  --papel-suave: #ddd3bf;
  --luz-rgb: 232 196 110;
  --luz-intensa: #f4da9c;
  --texto-sobre-luz: #241a05;
  --oro: #bdefff;
  --oxido: #ff9a5a;
  --error: #ff5a6e;
  --exito: #8ee5b0;
  --hondo-rgb: 9 8 7;
  --brillo-rgb: 201 162 74;
  --barra-fondo: rgb(9 8 7 / 0.88);
}

/* ---------- Vapor: Sol retro y rejilla de neón. ---------- */
:root[data-tema="vapor"] {
  --noche: #10061d;
  --tinta: #1a0b2e;
  --tinta-profunda: #140826;
  --superficie: #2d1650;
  --superficie-alta: #3b1d66;
  --tinta-clara: #4f2984;
  --linea-rgb: 199 168 238;
  --papel: #fff4fd;
  --papel-suave: #e8d2f7;
  --luz-rgb: 5 255 161;
  --luz-intensa: #6bffc8;
  --texto-sobre-luz: #0b0620;
  --oro: #fffb96;
  --oxido: #ff71ce;
  --error: #ff4d6a;
  --exito: #05ffa1;
  --hondo-rgb: 20 8 38;
  --brillo-rgb: 1 205 254;
  --barra-fondo: rgb(20 8 38 / 0.88);
}

/* ---------- Lofi: Lluvia en la ventana y una luz tibia. ---------- */
:root[data-tema="lofi"] {
  --noche: #110c17;
  --tinta: #1b1424;
  --tinta-profunda: #16101e;
  --superficie: #2b2135;
  --superficie-alta: #372a44;
  --tinta-clara: #4a3a5a;
  --linea-rgb: 187 168 201;
  --papel: #f6eff2;
  --papel-suave: #dccfda;
  --luz-rgb: 127 214 194;
  --luz-intensa: #a8e8d9;
  --texto-sobre-luz: #10221f;
  --oro: #ffc98a;
  --oxido: #ff9e7a;
  --error: #ff6b81;
  --exito: #7fd6c2;
  --hondo-rgb: 22 16 30;
  --brillo-rgb: 95 184 168;
  --barra-fondo: rgb(22 16 30 / 0.88);
}

/* ---------- Grafito: Gris, plata y grano de película. ---------- */
:root[data-tema="grafito"] {
  --noche: #08090a;
  --tinta: #0d0e10;
  --tinta-profunda: #0a0b0d;
  --superficie: #1a1c20;
  --superficie-alta: #24272c;
  --tinta-clara: #33373e;
  --linea-rgb: 163 168 179;
  --papel: #f2f3f5;
  --papel-suave: #cdd1d8;
  --luz-rgb: 230 233 239;
  --luz-intensa: #ffffff;
  --texto-sobre-luz: #0d0e10;
  --oro: #ffd25a;
  --oxido: #ff9a5a;
  --error: #ff4d5e;
  --exito: #6ee7a8;
  --hondo-rgb: 10 11 13;
  --brillo-rgb: 174 181 194;
  --barra-fondo: rgb(10 11 13 / 0.88);
}

/* ---------- Glaciar: Azul hielo, montañas y nieve. ---------- */
:root[data-tema="glaciar"] {
  --noche: #040b14;
  --tinta: #08121f;
  --tinta-profunda: #060e19;
  --superficie: #142236;
  --superficie-alta: #1c2e47;
  --tinta-clara: #29405f;
  --linea-rgb: 157 184 214;
  --papel: #eef6ff;
  --papel-suave: #c9dcf0;
  --luz-rgb: 140 196 255;
  --luz-intensa: #bfe0ff;
  --texto-sobre-luz: #0a1a33;
  --oro: #ffd98a;
  --oxido: #ff9a5a;
  --error: #ff5a6e;
  --exito: #7fe8c2;
  --hondo-rgb: 6 14 25;
  --brillo-rgb: 90 156 240;
  --barra-fondo: rgb(6 14 25 / 0.88);
}

/* ---------- Matcha: Verde suave, hojas que flotan y vapor de té. ---------- */
:root[data-tema="matcha"] {
  --noche: #070a06;
  --tinta: #0d120b;
  --tinta-profunda: #0a0e09;
  --superficie: #1c2318;
  --superficie-alta: #262f20;
  --tinta-clara: #36422d;
  --linea-rgb: 175 194 158;
  --papel: #f3f7ec;
  --papel-suave: #d3dec6;
  --luz-rgb: 167 209 126;
  --luz-intensa: #c5e3a5;
  --texto-sobre-luz: #142008;
  --oro: #f2d38a;
  --oxido: #ffb27a;
  --error: #ff6b6b;
  --exito: #a7d17e;
  --hondo-rgb: 10 14 9;
  --brillo-rgb: 127 175 90;
  --barra-fondo: rgb(10 14 9 / 0.88);
}

/* ---------- Abismo: Negro puro para pantallas OLED: gasta menos batería. ---------- */
:root[data-tema="abismo"] {
  --noche: #000000;
  --tinta: #000000;
  --tinta-profunda: #050507;
  --superficie: #0e0e14;
  --superficie-alta: #181821;
  --tinta-clara: #262633;
  --linea-rgb: 150 156 176;
  --papel: #f5f6fa;
  --papel-suave: #c5c8d6;
  --luz-rgb: 107 147 255;
  --luz-intensa: #93b0ff;
  --texto-sobre-luz: #020a24;
  --oro: #ffd166;
  --oxido: #ff7a3d;
  --error: #ff6b6b;
  --exito: #4ade80;
  --hondo-rgb: 5 5 7;
  --brillo-rgb: 124 231 255;
  --barra-fondo: rgb(5 5 7 / 0.88);
}

/* ---------- Día estelar: La Central a plena luz: lavanda, azul y violeta. ---------- */
:root[data-tema="estelar"] {
  --noche: #e2e6fb;
  --tinta: #eef1ff;
  --tinta-profunda: #e8ebfc;
  --superficie: #ffffff;
  --superficie-alta: #f2f4ff;
  --tinta-clara: #dadff7;
  --linea-rgb: 90 95 140;
  --papel: #1a1745;
  --papel-suave: #3f4475;
  --luz-rgb: 91 63 224;
  --luz-intensa: #4a2fc9;
  --texto-sobre-luz: #ffffff;
  --oro: #a86f00;
  --oxido: #c2410c;
  --error: #d62f4b;
  --exito: #0f7f55;
  --hondo-rgb: 232 235 252;
  --brillo-rgb: 31 111 224;
  --barra-fondo: rgb(255 255 255 / 0.88);
}

/* ---------- Arena: Desierto al mediodía: arena tibia, turquesa hondo y óxido. ---------- */
:root[data-tema="arena"] {
  --noche: #ebe1cf;
  --tinta: #f6efe2;
  --tinta-profunda: #efe6d5;
  --superficie: #fffaf0;
  --superficie-alta: #f0e6d2;
  --tinta-clara: #e0d2b8;
  --linea-rgb: 110 96 72;
  --papel: #2a2318;
  --papel-suave: #574a36;
  --luz-rgb: 14 116 112;
  --luz-intensa: #095a57;
  --texto-sobre-luz: #ffffff;
  --oro: #8a6400;
  --oxido: #a3368f;
  --error: #b3261e;
  --exito: #2f7d32;
  --hondo-rgb: 239 230 213;
  --brillo-rgb: 200 70 40;
  --barra-fondo: rgb(255 250 240 / 0.88);
}

/* ---------- Menta: Fresco y despejado: verde esmeralda con un toque rosa. ---------- */
:root[data-tema="menta"] {
  --noche: #dcf3e7;
  --tinta: #eefaf4;
  --tinta-profunda: #e5f6ed;
  --superficie: #ffffff;
  --superficie-alta: #e3f5eb;
  --tinta-clara: #c9ead9;
  --linea-rgb: 60 110 90;
  --papel: #0f2a20;
  --papel-suave: #2f5a48;
  --luz-rgb: 8 122 85;
  --luz-intensa: #065f42;
  --texto-sobre-luz: #ffffff;
  --oro: #8a6400;
  --oxido: #b4540a;
  --error: #c0392b;
  --exito: #087a55;
  --hondo-rgb: 229 246 237;
  --brillo-rgb: 214 51 108;
  --barra-fondo: rgb(255 255 255 / 0.88);
}

/* ---------- Tinta: Blanco y negro con un solo color: máximo contraste. ---------- */
:root[data-tema="tinta"] {
  --noche: #efefef;
  --tinta: #ffffff;
  --tinta-profunda: #f6f6f6;
  --superficie: #ffffff;
  --superficie-alta: #f2f2f2;
  --tinta-clara: #dcdcdc;
  --linea-rgb: 90 90 90;
  --papel: #111111;
  --papel-suave: #3d3d3d;
  --luz-rgb: 17 17 17;
  --luz-intensa: #333333;
  --texto-sobre-luz: #ffffff;
  --oro: #8a6400;
  --oxido: #a3368f;
  --error: #c0392b;
  --exito: #1b7f4b;
  --hondo-rgb: 246 246 246;
  --brillo-rgb: 204 51 0;
  --barra-fondo: rgb(255 255 255 / 0.88);
}

/* Tinta: sin color de fondo que separe los paneles, los separa la línea. */
:root[data-tema="tinta"] {
  --linea-tenue: rgb(var(--linea-rgb) / 0.32);
}
