/* Contenedor del login */
.login-window {
    -fx-background-color: rgba(0, 0, 0, 0.7);
    -fx-background-radius: 0;
    -fx-padding: 30;
    -fx-spacing: 20;
    -fx-alignment: center;
}

/* Imagen de fondo */
StackPane {
    -fx-background-image: url("../../../images/fondoNegro.png");
    -fx-background-repeat: no-repeat;
    -fx-background-size: cover;
    -fx-background-position: center;
}

/* Logo */
.logo {
    -fx-font-weight: bold;
    -fx-fill: white;
    -fx-effect: dropshadow(gaussian, black, 10, 0.2, 0, 0);
}

/* Título */
.title {
    -fx-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 24px;
    -fx-effect: dropshadow(gaussian, black, 5, 0.2, 0, 0);
}

.text-white {
    -fx-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 14px;
}

/* Caja de inputs */
.form-container {
    -fx-background-color: rgba(20, 20, 20, 0.8);
    -fx-padding: 30;
    -fx-spacing: 15;
    -fx-alignment: center;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 10, 0.1, 0, 0);
}

/* Caja de inputs */
.container-seleccion {
    -fx-background-color: rgba(20, 20, 20, 0.432);
    -fx-padding: 30;
    -fx-spacing: 15;
    -fx-alignment: center;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 10, 0.1, 0, 0);
}

/* Etiquetas */
.label {
    -fx-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 12px;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.1em;
}

/* Inputs */
.input {
    -fx-background-color: rgba(255, 255, 255, 0.05);
    -fx-text-fill: white;
    -fx-prompt-text-fill: rgba(255, 255, 255, 0.5);
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 12;
    -fx-font-size: 13px;
}

.input:focused {
    -fx-border-color: #ff1744;
    -fx-background-color: rgba(255, 255, 255, 0.08);
    -fx-prompt-text-fill: transparent;
}

/* Texto Marvel */
.marvel-text {
    -fx-fill: white;
    -fx-font-weight: 900;
    -fx-font-size: 16px;
    -fx-letter-spacing: 0.2em;
}

/* Botón de recuperar contraseña */
.button-recuperar {
    -fx-background-color: transparent;
    -fx-text-fill: rgba(255, 255, 255, 0.7);
    -fx-font-size: 12px;
    -fx-font-weight: normal;
    -fx-underline: false;
    -fx-border-color: transparent;
    -fx-padding: 5;
    -fx-cursor: hand;
}

.button-recuperar:hover {
    -fx-text-fill: white;
    -fx-background-color: transparent;
}

/* Botón */
.button-marvel {
    -fx-background-color: transparent;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 12 24;
    -fx-cursor: hand;
    -fx-font-size: 14px;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.1em;
}

.button-marvel:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
}

/* Botón de cambiar de modo */
.button-modo {
    -fx-background-color: rgba(20, 20, 20, 0.8);
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 8;
    -fx-alignment: center;
    -fx-cursor: hand;
    -fx-effect: dropshadow(gaussian, black, 10, 0.1, 0, 0);
}

.button-modo:hover {
    -fx-background-color: rgba(20, 20, 20, 0.9);
    -fx-border-color: #ff1744;
}

/* ComboBox */
.combo-box {
    -fx-background-color: rgba(20, 20, 20, 0.8);
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 4;
    -fx-font-size: 13px;
    -fx-effect: dropshadow(gaussian, black, 10, 0.1, 0, 0);
}

.combo-box:hover {
    -fx-background-color: rgba(20, 20, 20, 0.9);
    -fx-border-color: #ff1744;
}

.combo-box .list-cell {
    -fx-background-color: rgba(20, 20, 20, 0.95);
    -fx-text-fill: white;
    -fx-padding: 8 12;
}

.combo-box .list-cell:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
}

.combo-box .list-cell:selected,
.combo-box .list-cell:focused {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
}

.combo-box .arrow-button {
    -fx-padding: 0;
    -fx-background-color: null;
    -fx-border-width: 0;
    -fx-background-insets: 0;
    -fx-shape: null;
}

.combo-box .arrow {
    -fx-padding: 0;
    -fx-background-color: null;
    -fx-shape: null;
}

/* Eliminar espacio reservado para la flecha */
.combo-box > .list-cell {
    -fx-padding: 4 8;
    -fx-alignment: center;
}

.combo-box .arrow-button {
    -fx-background-color: transparent;
}

.combo-box .arrow {
    -fx-background-color: white;
    -fx-opacity: 0.7;
}

/* Lista desplegable */
.combo-box .list-view {
    -fx-background-color: rgba(20, 20, 20, 0.95);
    -fx-background-radius: 4;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 15, 0.2, 0, 0);
    -fx-padding: 4;
}

/* Botón de imagen de perfil (redondo con efecto al pasar el ratón) */
.profile-image {
    -fx-background-color: transparent;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 100;
    -fx-background-radius: 100;
    -fx-cursor: hand;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 10, 0.2, 0, 0);
    -fx-alignment: center;
    -fx-padding: 0;
    -fx-content-display: graphic-only;
}

/* Efecto al pasar el ratón por encima del botón */
.profile-image:hover {
    -fx-border-color: white;
    -fx-effect: dropshadow(gaussian, #ff1744, 10, 0.4, 0, 0);
}

/* Imagen dentro del botón (ajustada al tamaño del botón) */
.profile-pic {
    -fx-smooth: true;
    -fx-background-radius: 100;
    -fx-border-radius: 100;
    -fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.3), 10, 0.5, 0.0, 0.0);
    -fx-clip-shape: "circle";
}

.image-view {
    -fx-alignment: center;
}

/* SplitMenuButton personalizado */
.split-menu-button {
    -fx-background-color: transparent;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 30;
    -fx-background-radius: 30;
    -fx-padding: 16 16;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.1em;
    -fx-min-width: 184px; 
    -fx-max-width: 184px; 
    -fx-min-height: 60px;
    -fx-font-size: 16px;
    -fx-alignment: center;
}

/* SplitMenuButton redondo (para la foto de perfil) */
.round-split-button {
    -fx-background-color: transparent;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 100;
    -fx-background-radius: 100;
    -fx-cursor: hand;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 10, 0.2, 0, 0);
    -fx-alignment: center;
    -fx-padding: 0;
    -fx-content-display: graphic-only;
}

.round-split-button:hover {
    -fx-border-color: white;
    -fx-effect: dropshadow(gaussian, #ff1744, 10, 0.4, 0, 0);
}

/* Estilo específico para el menú contextual del botón redondo */
.round-split-button .context-menu {
    -fx-translate-x: 30px; 
    -fx-translate-y: 5px;  
}

/* Hover effect para el SplitMenuButton */
.split-menu-button:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
}

.split-menu-button:hover > .label {
    -fx-text-fill: white;
}

/* Eliminar completamente la flecha y su espacio */
.split-menu-button > .arrow-button,
.round-split-button > .arrow-button {
    -fx-max-width: 0;
    -fx-min-width: 0;
    -fx-pref-width: 0;
    -fx-padding: 0;
}

.split-menu-button > .arrow-button > .arrow,
.round-split-button > .arrow-button > .arrow {
    -fx-max-width: 0;
    -fx-min-width: 0;
    -fx-pref-width: 0;
    -fx-padding: 0;
    -fx-shape: null;
}

/* Ajustar el label para que ocupe todo el espacio */
.split-menu-button > .label,
.round-split-button > .label {
    -fx-text-fill: white;
    -fx-background-color: transparent;
    -fx-alignment: center;
    -fx-padding: 0;
    -fx-max-width: infinity;
}

/* Menú desplegable del SplitMenuButton */
.split-menu-button .menu-item,
.round-split-button .menu-item {
    -fx-background-color: rgba(20, 20, 20, 0.95);
    -fx-text-fill: white;
    -fx-padding: 8 16;
    -fx-font-size: 13px;
}

.split-menu-button .menu-item:hover,
.round-split-button .menu-item:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
}

.split-menu-button .menu-item:focused,
.round-split-button .menu-item:focused,
.split-menu-button .menu-item:selected,
.round-split-button .menu-item:selected {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
}

/* Menú desplegable del SplitMenuButton */
.split-menu-button .context-menu,
.round-split-button .context-menu {
    -fx-background-color: rgba(20, 20, 20, 0.95);
    -fx-background-radius: 4;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 15, 0.2, 0, 0);
    -fx-padding: 4;
}

/* Estilo para el menú contextual del perfil */
.profile-image .context-menu {
    -fx-background-color: rgba(20, 20, 20, 0.95);
    -fx-background-radius: 4;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 15, 0.2, 0, 0);
    -fx-padding: 4;
}

/* Estilos para los items del menú de perfil */
.profile-image .menu-item {
    -fx-background-color: transparent;
    -fx-text-fill: white;
    -fx-padding: 8 16;
    -fx-font-size: 14px;
}

.profile-image .menu-item:hover {
    -fx-background-color: #ff1744;
}

/* Ocultar flecha en SplitMenuButton de perfil */
.no-arrow > .arrow-button {
    -fx-padding: 0;
    -fx-background-color: transparent;
    -fx-border-width: 0;
}

.no-arrow > .arrow-button > .arrow {
    -fx-shape: null;
}

.menu-item {
    -fx-cursor: hand;
}

/* =============== Estilos para los diálogos y alertas =============== */

/* Fondo general del diálogo */
.dialog-pane {
    -fx-background-color: rgb(20, 20, 20);
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 1;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-effect: dropshadow(gaussian, black, 10, 0.1, 0, 0);
    -fx-padding: 15;
}

/* Título del diálogo (cabecera) */
.dialog-pane .header-panel {
    -fx-background-color: rgba(20, 20, 20, 0.9);
    -fx-background-radius: 4 4 0 0;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-width: 0 0 1 0;
}

.dialog-pane .header-panel .label {
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 16px;
    -fx-padding: 10;
}

/* Texto del contenido */
.dialog-pane .content {
    -fx-text-fill: white;
    -fx-font-size: 14px;
    -fx-padding: 15;
    -fx-fill: white;
}

/* Contenedor de botones */
.dialog-pane .button-bar {
    -fx-padding: 10;
    -fx-background-color: transparent;
}

/* Estilo de los botones */
.dialog-pane .button {
    -fx-background-color: transparent;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 8 16;
    -fx-cursor: hand;
    -fx-font-size: 13px;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.05em;
}

.dialog-pane .button:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
}

/* Botón OK y Apply */
.dialog-pane .button:default {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
}

.dialog-pane .button:default:hover {
    -fx-background-color: derive(#ff1744, 20%);
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.3, 0, 0);
}

/* Eliminar gráficos predeterminados */
.dialog-pane > .graphic-container {
    -fx-padding: 10;
}

/* Estilo específico para el ícono de información */
.dialog-pane:information .graphic-container {
    -fx-padding: 10;
}

/* Estilo específico para el ícono de advertencia */
.dialog-pane:warning .graphic-container {
    -fx-padding: 10;
}

/* Estilo específico para el ícono de error */
.dialog-pane:error .graphic-container {
    -fx-padding: 10;
}

/* Estilo específico para el ícono de confirmación */
.dialog-pane:confirmation .graphic-container {
    -fx-padding: 10;
}

/* Estilos para los íconos de las alertas */
.dialog-pane .graphic {
    -fx-opacity: 0.9;
}

/* Color del texto de todas las etiquetas dentro del diálogo */
.dialog-pane .label {
    -fx-text-fill: white;
}

/* Estilos para los botones de batalla - ajustados al tamaño de la ventana */
.battle-button {
    -fx-background-color: rgba(20, 20, 20, 0.7);
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 3;
    -fx-border-radius: 8;
    -fx-background-radius: 11;
    -fx-padding: 25 20; 
    -fx-cursor: hand;
    -fx-font-size: 20px; 
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.15em; 
    -fx-background-insets: 0; /* Eliminar cualquier espacio interno */
    -fx-effect: dropshadow(gaussian, black, 10, 0.2, 0, 0);
    -fx-alignment: center;
    -fx-transition: all 0.3s ease;
}

.battle-button:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 15, 0.4, 0, 0);
    -fx-scale-x: 1.05;
    -fx-scale-y: 1.05;
}

.battle-button:pressed {
    -fx-scale-x: 0.98;
    -fx-scale-y: 0.98;
    -fx-effect: dropshadow(gaussian, #ff174466, 8, 0.3, 0, 0);
}

/* Texto de desarrollo bajo los botones */
.development-text {
    -fx-fill: rgba(255, 255, 255, 0.6);
    -fx-font-style: italic;
    -fx-font-size: 14px;
    -fx-text-alignment: center;
}

/* Título grande para la pantalla de batalla */
.title-text {
    -fx-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 30px;
    -fx-letter-spacing: 0.3em;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
    -fx-text-alignment: center;
}

/* Contenedor para los botones en la pantalla de batalla */
.battle-buttons-container {
    -fx-spacing: 20;
    -fx-alignment: center;
    -fx-padding: 20;
}

/* Estilos para botones de selección de personajes - invisibles pero interactivos */
.character-button {
    -fx-background-color: transparent;
    -fx-border-color: transparent;
    -fx-padding: 0;
    -fx-background-insets: 0;
    -fx-background-radius: 0;
    -fx-border-radius: 0;
    -fx-cursor: hand;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 10, 0.2, 0, 0);
}

.character-button:hover {
    -fx-scale-x: 1.05;
    -fx-scale-y: 1.05;
    -fx-effect: dropshadow(gaussian, #ff174466, 15, 0.4, 0, 0);
    -fx-transition: all 0.3s ease;
}

.character-button:pressed {
    -fx-scale-x: 0.98;
    -fx-scale-y: 0.98;
}

/* Botón */
.button-batalla {
    -fx-background-color: transparent;
    -fx-text-fill: rgb(255, 255, 255);
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 12 24;
    -fx-cursor: hand;
    -fx-font-size: 24px;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.1em;
}

.button-batalla:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
}

/* Botón */
.button-normal {
    -fx-background-color: transparent;
    -fx-text-fill: rgb(255, 255, 255);
    -fx-font-weight: bold;
    -fx-border-color: #ff1744;
    -fx-border-width: 2;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 12 24;
    -fx-cursor: hand;
    -fx-font-size: 14px;
    -fx-text-transform: uppercase;
    -fx-letter-spacing: 0.1em;
}

.button-normal:hover {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, #ff174466, 10, 0.2, 0, 0);
}

/* Estilos para la pantalla de selección de personajes */
.character-info-container {
    -fx-background-color: rgba(30, 30, 30, 0.85);
    -fx-padding: 20px;
    -fx-spacing: 15px;
    -fx-border-color: #ff1744;
    -fx-border-width: 2px;
    -fx-border-radius: 10px;
    -fx-background-radius: 10px;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.5), 10, 0.5, 0, 0);
}

.character-title {
    -fx-fill: white;
    -fx-font-size: 24px;
    -fx-font-weight: bold;
    -fx-font-family: "Roboto", sans-serif;
    -fx-stroke: #ff1744;
    -fx-stroke-width: 0.5px;
    -fx-effect: dropshadow(gaussian, #ff1744, 5, 0.5, 0, 0);
}

.character-description {
    -fx-fill: rgba(255, 255, 255, 0.8);
    -fx-font-size: 14px;
    -fx-text-alignment: center;
    -fx-font-style: italic;
}

.stat-value {
    -fx-fill: #ff1744;
    -fx-font-size: 26px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.7), 5, 0.5, 0, 0);
}

.stat-name {
    -fx-fill: rgba(255, 255, 255, 0.7);
    -fx-font-size: 14px;
}

.confirm-button {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-padding: 10px 20px;
    -fx-font-size: 14px;
    -fx-font-weight: bold;
    -fx-background-radius: 5px;
    -fx-cursor: hand;
}

.confirm-button:hover {
    -fx-background-color: #ff4569;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.7), 10, 0.5, 0, 0);
}

.selected-character {
    -fx-border-color: #ff1744;
    -fx-border-width: 3px;
    -fx-border-radius: 5px;
    -fx-effect: dropshadow(gaussian, #ff1744, 10, 0.7, 0, 0);
}

/* Estilos para los personajes seleccionados en los equipos */
.selected-character-container {
    -fx-background-color: rgba(30, 30, 30, 0.7);
    -fx-padding: 10px;
    -fx-border-color: #ff1744;
    -fx-border-width: 1px;
    -fx-border-radius: 5px;
    -fx-background-radius: 5px;
}

.selected-character-name {
    -fx-fill: white;
    -fx-font-size: 14px;
    -fx-font-weight: bold;
}

.battle-ready-button {
    -fx-background-color: #ff1744;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-padding: 10px 20px;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.7), 10, 0.5, 0, 0);
}

.battle-ready-button:hover {
    -fx-background-color: #ff4569;
    -fx-scale-x: 1.05;
    -fx-scale-y: 1.05;
}

/* Estilo para mensaje flotante */
.mensaje-flotante {
    -fx-fill: white;
    -fx-font-size: 16px;
    -fx-font-weight: bold;
    -fx-text-alignment: center;
    -fx-effect: dropshadow(gaussian, black, 3, 0.5, 0, 0);
}

/* Estilo para mensaje de error */
.mensaje-error {
    -fx-fill: #ff1744;
    -fx-font-size: 18px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.8), 4, 0.6, 0, 0);
}

/* Botón de cerrar para el panel de información */
.close-button {
    -fx-background-color: transparent;
    -fx-text-fill: white;
    -fx-font-size: 14px;
    -fx-font-weight: bold;
    -fx-padding: 2px 6px;
    -fx-border-color: rgba(255, 255, 255, 0.5);
    -fx-border-radius: 50%;
    -fx-cursor: hand;
    -fx-min-width: 24px;
    -fx-max-width: 24px;
    -fx-min-height: 24px;
    -fx-max-height: 24px;
    -fx-alignment: center;
    -fx-content-display: center;
}

.close-button:hover {
    -fx-background-color: rgba(255, 23, 68, 0.7);
    -fx-border-color: #ff1744;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.7), 5, 0.3, 0, 0);
}

/* Estilos para la pantalla de combate */

/* Indicador de turno */
.turn-indicator {
    -fx-font-size: 24px;
    -fx-font-weight: bold;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.8), 5, 0, 0, 0);
}

.player-turn {
    -fx-text-fill: #00bfff;
}

.enemy-turn {
    -fx-text-fill: #ff5555;
}

/* Contenedores de equipos */
.team-container {
    -fx-background-color: rgba(0, 0, 0, 0.5);
    -fx-background-radius: 10px;
    -fx-padding: 5px;
    -fx-spacing: 5px;
    -fx-min-width: 180px;
    -fx-max-width: 180px;
}

/* Miniaturas de personajes */
.team-character {
    -fx-background-color: rgba(30, 60, 100, 0.5);
    -fx-background-radius: 5px;
    -fx-padding: 5px;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 3, 0, 0, 0);
}

.enemy-team-character {
    -fx-background-color: rgba(100, 30, 30, 0.5);
    -fx-background-radius: 5px;
    -fx-padding: 5px;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 3, 0, 0, 0);
}

.team-character-active, .enemy-character-active {
    -fx-background-color: rgba(255, 215, 0, 0.3);
    -fx-border-color: #ffcc00;
    -fx-border-width: 2px;
    -fx-border-radius: 5px;
}

.character-defeated {
    -fx-opacity: 0.5;
    -fx-effect: dropshadow(gaussian, rgba(255,0,0,0.5), 10, 0, 0, 0);
}

/* Barras de vida */
.hp-bar .bar {
    -fx-background-color: linear-gradient(to right, #00cc00, #55ff55);
}

.hp-bar .track {
    -fx-background-color: rgba(0, 0, 0, 0.5);
}

.hp-text {
    -fx-font-weight: bold;
    -fx-text-fill: white;
    -fx-effect: dropshadow(gaussian, black, 2, 0, 0, 0);
}

/* Botones de batalla */
.battle-button {
    -fx-background-color: linear-gradient(to bottom, #3a3a3a, #1a1a1a);
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-padding: 10px 20px;
    -fx-background-radius: 5px;
    -fx-border-color: #555555;
    -fx-border-radius: 5px;
    -fx-cursor: hand;
}

.battle-button:hover {
    -fx-background-color: linear-gradient(to bottom, #4a4a4a, #2a2a2a);
    -fx-effect: dropshadow(gaussian, rgba(255,255,255,0.3), 10, 0, 0, 0);
}

.battle-button:pressed {
    -fx-background-color: #1a1a1a;
    -fx-translate-y: 1px;
}

/* Botones de ataque */
.attack-button {
    -fx-background-color: linear-gradient(to bottom, #551111, #330000);
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-padding: 8px 15px;
    -fx-background-radius: 5px;
    -fx-border-color: #800000;
    -fx-border-radius: 5px;
    -fx-cursor: hand;
}

.attack-button:hover {
    -fx-background-color: linear-gradient(to bottom, #771111, #550000);
    -fx-effect: dropshadow(gaussian, rgba(255,0,0,0.3), 10, 0, 0, 0);
}

.attack-button:pressed {
    -fx-background-color: #440000;
    -fx-translate-y: 1px;
}

/* Mensajes de combate */
.combat-message {
    -fx-fill: white;
    -fx-font-size: 24px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, black, 3, 0, 0, 0);
}

.player-action-message {
    -fx-fill: #00ccff;
}

.enemy-action-message {
    -fx-fill: #ff5555;
}

/* Textos de daño */
.damage-text {
    -fx-fill: white;
    -fx-font-size: 24px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, black, 3, 0, 0, 0);
}

.player-damage {
    -fx-fill: #ff5555;
}

.enemy-damage {
    -fx-fill: #ff5555;
}

.critical-damage {
    -fx-fill: #ffcc00;
    -fx-font-size: 32px;
    -fx-effect: dropshadow(gaussian, #ff0000, 10, 0.5, 0, 0);
}

/* Diálogo de selección de personaje */
.selection-dialog {
    -fx-background-color: rgba(20, 20, 20, 0.9);
    -fx-background-radius: 10px;
    -fx-padding: 20px;
    -fx-spacing: 15px;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.8), 15, 0, 0, 0);
}

.character-selection-container {
    -fx-background-color: rgba(40, 40, 40, 0.6);
    -fx-background-radius: 8px;
    -fx-padding: 15px;
}

.character-selectable {
    -fx-background-color: rgba(60, 60, 60, 0.6);
    -fx-background-radius: 8px;
    -fx-border-color: #555555;
    -fx-border-radius: 8px;
    -fx-cursor: hand;
}

.character-selectable:hover {
    -fx-background-color: rgba(80, 80, 80, 0.6);
    -fx-effect: dropshadow(gaussian, rgba(255,255,255,0.3), 10, 0, 0, 0);
    -fx-scale-x: 1.05;
    -fx-scale-y: 1.05;
}

.character-disabled {
    -fx-background-color: rgba(30, 30, 30, 0.6);
    -fx-background-radius: 8px;
    -fx-border-color: #333333;
    -fx-border-radius: 8px;
    -fx-cursor: default;
}

.character-name-small {
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-font-size: 14px;
}

.selection-text {
    -fx-fill: white;
    -fx-font-size: 18px;
    -fx-font-weight: bold;
}

.back-button {
    -fx-background-color: #333333;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-padding: 8px 20px;
    -fx-background-radius: 5px;
    -fx-cursor: hand;
}

.back-button:hover {
    -fx-background-color: #444444;
}

.action-button {
    -fx-background-color: linear-gradient(to bottom, #005599, #003366);
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-padding: 15px 25px;
    -fx-background-radius: 5px;
    -fx-cursor: hand;
}

.action-button:hover {
    -fx-background-color: linear-gradient(to bottom, #0066bb, #004488);
    -fx-effect: dropshadow(gaussian, rgba(0,150,255,0.5), 10, 0.4, 0, 0);
}

.action-button:pressed {
    -fx-background-color: #003366;
    -fx-translate-y: 1px;
    -fx-effect: dropshadow(gaussian, rgba(0,150,255,0.3), 5, 0.2, 0, 0);
}

/* Estilos para información pasiva en selección */
.passive-title {
    -fx-fill: #ff9100;
    -fx-font-size: 18px;
    -fx-font-family: "Roboto", sans-serif;
    -fx-font-weight: bold;
}

.passive-name {
    -fx-fill: white;
    -fx-font-size: 16px;
    -fx-font-family: "Roboto", sans-serif;
    -fx-font-weight: bold;
}

.passive-description {
    -fx-fill: #e0e0e0;
    -fx-font-size: 14px;
    -fx-font-family: "Roboto", sans-serif;
    -fx-font-style: italic;
}

/* Mensajes de evasión y bloqueo */
.combat-evasion-message {
    -fx-fill: #00ffe1;
    -fx-font-style: italic;
}

.combat-block-message {
    -fx-fill: #c47eff;
    -fx-font-weight: bold;
}

/* Ajustes para mensajes de combate específicos */
.combat-message.critical {
    -fx-fill: #ffd700;
    -fx-font-size: 28px;
    -fx-effect: dropshadow(gaussian, rgba(255, 215, 0, 0.7), 10, 0.6, 0, 0);
}

.combat-message.evasion {
    -fx-fill: #00ffff;
    -fx-font-size: 26px;
}

.combat-message.defeat {
    -fx-fill: #ff4444;
    -fx-font-size: 28px;
    -fx-effect: dropshadow(gaussian, rgba(255, 0, 0, 0.5), 10, 0.4, 0, 0);
}

.combat-message.passive {
    -fx-fill: #b19cd9;
    -fx-font-size: 24px;
    -fx-font-style: italic;
}

.combat-message.regeneration {
    -fx-fill: #77dd77;
    -fx-font-size: 24px;
}

/* Ajustes para las transiciones entre mensajes */
.message-transition {
    -fx-transition: all 0.3s ease;
}

/* Estilos específicos para la pantalla de combate */
.character-image {
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.7), 15, 0.6, 0, 0);
    -fx-background-radius: 5px;
}

.character-card {
    -fx-background-color: rgba(20, 20, 20, 0.7);
    -fx-background-radius: 10px;
    -fx-padding: 15px;
    -fx-border-color: rgba(255, 255, 255, 0.15);
    -fx-border-radius: 10px;
    -fx-border-width: 1px;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.5), 10, 0.4, 0, 0);
}

/* Estilos para tooltips en habilidades de combate */
.tooltip {
    -fx-background-color: rgba(20, 20, 20, 0.9);
    -fx-text-fill: white;
    -fx-font-size: 14px;
    -fx-padding: 10px;
    -fx-background-radius: 5px;
    -fx-border-color: #ff1744;
    -fx-border-width: 1px;
    -fx-border-radius: 5px;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.7), 10, 0.5, 0, 0);
}

/* Mejoras específicas para personajes con habilidades */
.ability-icon {
    -fx-background-color: rgba(20, 20, 20, 0.7);
    -fx-background-radius: 50%;
    -fx-border-color: rgba(255, 23, 68, 0.7);
    -fx-border-radius: 50%;
    -fx-border-width: 2px;
    -fx-cursor: hand;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.4), 8, 0.5, 0, 0);
}

.ability-icon:hover {
    -fx-border-color: #ff1744;
    -fx-scale-x: 1.1;
    -fx-scale-y: 1.1;
    -fx-effect: dropshadow(gaussian, rgba(255, 23, 68, 0.7), 12, 0.7, 0, 0);
}

/* Mejorar visualización de estadísticas de resistencia */
.resistance-stat {
    -fx-fill: #38b6ff;
    -fx-font-size: 26px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, rgba(56, 182, 255, 0.7), 5, 0.5, 0, 0);
}

.magic-resistance-stat {
    -fx-fill: #9c5fff;
    -fx-font-size: 26px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, rgba(156, 95, 255, 0.7), 5, 0.5, 0, 0);
}

.evasion-stat {
    -fx-fill: #00e5ff;
    -fx-font-size: 26px;
    -fx-font-weight: bold;
    -fx-effect: dropshadow(gaussian, rgba(0, 229, 255, 0.7), 5, 0.5, 0, 0);
}

/* Mejorar visibilidad de stats en selección de personajes */
.stat-container {
    -fx-background-color: rgba(30, 30, 30, 0.6);
    -fx-background-radius: 8px;
    -fx-padding: 8px 12px;
    -fx-spacing: 3px;
    -fx-alignment: center;
    -fx-border-color: rgba(255, 255, 255, 0.1);
    -fx-border-radius: 8px;
    -fx-border-width: 1px;
}

.stat-container:hover {
    -fx-background-color: rgba(40, 40, 40, 0.7);
    -fx-border-color: rgba(255, 255, 255, 0.2);
    -fx-effect: dropshadow(gaussian, rgba(255, 255, 255, 0.1), 5, 0.3, 0, 0);
}

/* Transiciones suaves para todos los elementos interactivos */
.button, .character-selectable, .ability-icon, .character-image {
    -fx-transition: all 0.2s ease;
}

/* Animaciones para ataques en combate */
.attack-animation {
    -fx-transition: all 0.3s ease;
}

.character-shaking {
    -fx-animation: shake 0.5s infinite;
}

@keyframes shake {
    0% { -fx-translate-x: 0; }
    25% { -fx-translate-x: 10px; }
    50% { -fx-translate-x: -10px; }
    75% { -fx-translate-x: 10px; }
    100% { -fx-translate-x: 0; }
}

/* Ajustes para evitar problemas con duplicación de reglas */
.battle-button, .battle-button:hover, .battle-button:pressed {
    -fx-background-insets: 0;
    -fx-font-family: "Roboto", sans-serif;
}

.attack-button, .attack-button:hover, .attack-button:pressed {
    -fx-background-insets: 0;
    -fx-font-family: "Roboto", sans-serif;
}

/* Estilos para animaciones de efectos pasivos */
.passive-effect-indicator {
    -fx-fill: rgba(255, 145, 0, 0.6);
    -fx-stroke: #ff9100;
    -fx-stroke-width: 2;
    -fx-stroke-dash-array: 5 3;
    -fx-stroke-line-cap: round;
    -fx-stroke-type: centered;
}

.barrier-effect {
    -fx-fill: rgba(156, 95, 255, 0.3);
    -fx-stroke: #9c5fff;
    -fx-stroke-width: 2;
    -fx-stroke-dash-array: 10 5;
    -fx-stroke-line-cap: round;
    -fx-stroke-type: centered;
}

.regeneration-effect {
    -fx-fill: rgba(119, 221, 119, 0.3);
    -fx-stroke: #77dd77;
    -fx-stroke-width: 2;
    -fx-stroke-dash-array: 8 4;
    -fx-stroke-line-cap: round;
    -fx-stroke-type: centered;
}