/* =====================================================
   ANÁLISIS DE JUGADAS
   Usa las clases base de Pagina Inicial.css / Perfil de Inicio.css /
   Torneos.css (.modal, .formulario, .boton-principal, .mensaje-vacio...).
   ===================================================== */

.analisis-pagina{
    max-width: 1080px;
    margin: 0 auto;
    padding: 48px 6% 100px;
    box-sizing: border-box;
}

.enlace-volver{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    color: var(--texto-secundario);
    font-size: 13px;
    text-decoration: none;
}
.analisis-volver{
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}
.enlace-volver:hover{ color: var(--color-dorado); }

.analisis-encabezado{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 26px;
}
.analisis-titulo{
    margin: 0;
    font-family: var(--fuente-display);
    font-size: 22px;
    line-height: 1.25;
    color: var(--color-dorado);
    overflow-wrap: anywhere;
}
.analisis-subtitulo{
    margin: 6px 0 0;
    color: var(--texto-secundario);
    font-size: 14px;
}

/* ── Lista de análisis ── */
.analisis-lista{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}
.analisis-tarjeta{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 16px 18px;
    text-align: left;
    color: var(--texto-primario);
    background: var(--superficie-1);
    border: 1px solid var(--borde-dorado-sutil);
    border-radius: var(--radio-md);
    cursor: pointer;
    transition: border-color var(--transicion-rapida), background-color var(--transicion-rapida);
}
.analisis-tarjeta:hover,
.analisis-tarjeta:focus-visible{
    border-color: var(--borde-dorado-fuerte);
    background: var(--superficie-2);
}
.analisis-tarjeta-tipo{
    padding: 2px 9px;
    font-family: var(--fuente-display);
    font-size: 9px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: var(--radio-pill);
}
.analisis-tarjeta-tipo.tipo-partido{ color: var(--color-dorado); border: 1px solid var(--borde-dorado); }
.analisis-tarjeta-tipo.tipo-jugador{ color: #9fd0ff; border: 1px solid rgba(100, 180, 255, 0.45); }
.analisis-tarjeta-titulo{
    font-weight: bold;
    font-size: 15px;
    overflow-wrap: anywhere;
}
.analisis-tarjeta-detalle{
    font-size: 12px;
    color: var(--texto-secundario);
}

.boton-eliminar-analisis{
    padding: 7px 14px;
    font-family: var(--fuente-display);
    font-size: 10px;
    color: #f87171;
    background: transparent;
    border: 1px solid rgba(248, 113, 113, 0.5);
    border-radius: var(--radio-pill);
    cursor: pointer;
}

/* ── Editor: mesa a la izquierda, controles a la derecha ── */
/* Mesa al centro de la página; debajo, la ayuda y la lista de jugadas */
.analisis-editor{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}
.analisis-mesa-col{
    width: 100%;
    max-width: 420px;
}
.analisis-controles{
    width: 100%;
    max-width: 720px;
}
.analisis-paso{
    margin: 0 0 10px;
    min-height: 20px;
    font-family: var(--fuente-display);
    font-size: 12px;
    color: var(--color-dorado);
    text-align: center;
}
.analisis-paso.aviso{ color: #fca5a5; }
.analisis-mesa-marco{
    padding: 10px;
    background: var(--superficie-1);
    border: 1px solid var(--borde-dorado-sutil);
    border-radius: var(--radio-md);
}
.analisis-mesa{
    display: block;
    width: 100%;
    height: auto;
    max-height: 62vh;
    margin: 0 auto;
    /* Cruz blanca con borde oscuro: el cursor normal es negro y no se ve sobre la mesa negra */
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v8M12 14v8M2 12h8M14 12h8' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 2v8M12 14v8M2 12h8M14 12h8' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='1.5' fill='%23fff' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") 12 12, crosshair;
    touch-action: none;          /* arrastrar sobre la mesa no mueve la página */
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.analisis-mesa.arrastrando{ cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='%23000' stroke-width='4'/%3E%3Ccircle cx='12' cy='12' r='7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 12 12, grabbing; }
.mesa-piso{ fill: #1b212b; }   /* piso alrededor: ahí se marcan las pelotas que salen */
.mesa-fondo{ fill: #000000; }                 /* mesa negra */
.mesa-borde{ fill: none; stroke: #F5C518; }    /* líneas doradas */
.mesa-linea{ stroke: rgba(245, 197, 24, 0.85); }
.mesa-red{ stroke: #F5C518; }
.marca-inicio{ fill: none; }

.analisis-control-titulo{
    margin: 0 0 10px;
    font-family: var(--fuente-display);
    font-size: 13px;
    color: var(--color-dorado);
}
.analisis-ayuda{
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--texto-secundario);
}

.pelota-fondo{
    fill: #f5f1e8;              /* pelota blanca */
    stroke: rgba(0, 0, 0, 0.25);
    stroke-width: 2;
}
/* Pelota con la flecha del efecto en cada jugada de la lista */
.jugada-pelota{
    flex-shrink: 0;
    width: 30px;
    height: 30px;
}

.analisis-acciones{
    display: flex;
    gap: 10px;
    margin: 12px 0 0;
}
.analisis-acciones .boton-secundario-formulario{
    flex: 1;
}
.boton-agregar-jugada{
    flex: 0 0 auto;
    width: 64px;
    height: 48px;
    font-size: 22px;
    line-height: 1.25;
    line-height: 1;
    font-weight: bold;
    color: #111;
    background: var(--color-dorado);
    border: none;
    border-radius: var(--radio-pill);
    cursor: pointer;
}
.boton-agregar-jugada:disabled{
    opacity: 0.35;
    cursor: not-allowed;
}

.analisis-lista-encabezado{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}
.analisis-ver-todas{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--texto-secundario);
    cursor: pointer;
}
.analisis-ver-todas input{ accent-color: var(--color-dorado); }

.analisis-jugadas{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.jugada-item{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    background: var(--superficie-1);
    border: 1px solid var(--borde-dorado-sutil);
    border-radius: var(--radio-sm);
    cursor: pointer;
}
.jugada-item.activa{
    border-color: var(--color-dorado);
    box-shadow: 0 0 0 1px var(--color-dorado);
}
.jugada-num{
    flex-shrink: 0;
    width: 22px;
    font-family: var(--fuente-display);
    font-size: 12px;
    color: var(--color-dorado);
    text-align: center;
}
.jugada-mini{
    flex-shrink: 0;
    width: 34px;
    height: 54px;
    border-radius: 3px;
}
.jugada-texto{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
}
.jugada-texto span{
    font-size: 12px;
    color: var(--texto-secundario);
}
.jugada-borrar{
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    color: #f87171;
    background: transparent;
    border: 1px solid rgba(248, 113, 113, 0.4);
    border-radius: 50%;
    cursor: pointer;
}

/* ── Modal nuevo análisis ── */
.formulario-nuevo-analisis{
    width: 460px;
    max-width: 100%;
    box-sizing: border-box;
    text-align: left;
}
.formulario-nuevo-analisis h2{ text-align: center; }
.analisis-tipo{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}
.tipo-btn{
    padding: 10px;
    font-family: var(--fuente-display);
    font-size: 12px;
    color: var(--color-dorado);
    background: transparent;
    border: 1px solid var(--borde-dorado);
    border-radius: var(--radio-pill);
    cursor: pointer;
}
.tipo-btn.activo{
    color: #111;
    background: var(--color-dorado);
}
.analisis-label{
    display: block;
    margin: 10px 0 6px;
    font-size: 13px;
    color: var(--texto-secundario);
}
.analisis-select{
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    font-size: 14px;
    color: var(--texto-primario);
    background: var(--superficie-2);
    border: 1px solid var(--borde-dorado-sutil);
    border-radius: var(--radio-sm);
}
.analisis-select option{ color: #111; }
.analisis-resultados-jugador{
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 220px;
    overflow-y: auto;
}
.analisis-jugador-opcion{
    width: 100%;
    padding: 9px 12px;
    text-align: left;
    font-size: 14px;
    color: var(--texto-primario);
    background: var(--superficie-1);
    border: 1px solid var(--borde-dorado-sutil);
    border-radius: var(--radio-sm);
    cursor: pointer;
}
.analisis-jugador-opcion.libre{
    color: var(--color-dorado);
    border-style: dashed;
}

/* ── Celular: una columna, la mesa arriba ── */
@media (max-width: 760px){
    .analisis-pagina{ padding: 32px 16px 80px; }
    .analisis-titulo{ font-size: 17px; }
    .analisis-editor{
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
    .analisis-mesa-col{ position: static; }
    .analisis-mesa{ max-height: 52vh; }
    .analisis-mesa-marco{ padding: 6px; }
}

/* Jugada con varios golpes: número en cada ○ y pelotitas en la lista */
.golpe-numero{
    font-family: var(--fuente-display);
    font-size: 6px;
    font-weight: bold;
    paint-order: stroke;
    stroke: #000000;
    stroke-width: 1.4px;
}
.jugada-golpes{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.jugada-pelotas{
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
}
.jugada-pelotas .jugada-pelota{
    width: 18px;
    height: 18px;
}
.analisis-acciones .boton-secundario-formulario:disabled{
    opacity: 0.4;
    cursor: not-allowed;
}
.analisis-acciones .boton-secundario-formulario{
    min-width: 0;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 760px){
    .analisis-acciones{ gap: 6px; }
    .analisis-acciones .boton-secundario-formulario{ font-size: 11px; }
    .boton-agregar-jugada{ width: 56px; }
}
