 :root {
            --primary-color: #4f4feb;
            --bg-color: #f8faff;
            --card-bg: #ffffff;
            --text-color: #333;
            --border-color: #e0e6ed;
            --header-bg: #f0f4f8;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--bg-color);
            color: var(--text-color);
            margin: 0;
            padding: 1.25rem;
            line-height: 1.6;
        }

        .container {
            max-width: 62.5rem;
            margin: 0 auto;
        }

        /* En-tête de page */
        .page-header {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            margin-bottom: 2.5rem;
            background: white;
            padding: 1.25rem;
            border-radius: 0.9375rem;
            box-shadow: 0 0.25rem 0.375rem rgba(0,0,0,0.05);
        }

        .page-header h2 {
            margin: 0;
            font-size: 1.75rem;
            color: var(--primary-color);
        }

        .rank-badge {
            height: 3.75rem;
            filter: drop-shadow(0 0.125rem 0.25rem rgba(0,0,0,0.1));
        }

        /* Titres de sections */
        h3 {
            display: flex;
            align-items: center;
            gap: 0.625rem;
            font-size: 1.375rem;
            margin-top: 2.5rem;
            border-bottom: 0.1875rem solid var(--primary-color);
            width: fit-content;
            padding-bottom: 0.3125rem;
        }

        h3 a {
            color: var(--primary-color);
            text-decoration: none;
            text-transform: capitalize;
        }

        /* Design du Tableau */
        .table-container {
            background: var(--card-bg);
            border-radius: 0.75rem;
            overflow: hidden;
            box-shadow: 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.1);
            margin-bottom: 1.875rem;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            text-align: left;
        }

        .cellule-haut {
            background-color: var(--header-bg);
            color: #555;
            font-weight: 600;
            padding: 0.9375rem;
            text-transform: uppercase;
            font-size: 0.875rem;
            letter-spacing: 0.03125rem;
            border-bottom: 0.125rem solid var(--border-color);
        }

        .cellule {
            padding: 0.9375rem;
            border-bottom: 0.0625rem solid var(--border-color);
            vertical-align: middle;
        }

        .lesTR:last-child .cellule {
            border-bottom: none;
        }

        .lesTR:hover {
            background-color: #f1f5ff;
        }

        /* Images */
        .grande-image-tableau {
            width: 5rem;
            height: 5rem;
            object-fit: contain;
            transition: transform 0.3s ease;
            cursor: zoom-in;
            display: block;
            margin: 0 auto;
        }

        .grande-image-tableau:hover {
            transform: scale(1.2) rotate(3deg);
        }

        .icon-tribu {
            width: 2.5rem;
            height: 2.5rem;
            filter: drop-shadow(0 0.125rem 0.125rem rgba(0,0,0,0.1));
        }

        .icon-nourriture {
            width: 2.1875rem;
            height: 2.1875rem;
            vertical-align: middle;
        }

        /* Liens et noms */
        .yokai-name {
            font-weight: bold;
            font-size: 1.125rem;
            color: var(--primary-color);
            text-decoration: none;
            transition: color 0.2s;
        }

        .yokai-name:hover {
            color: #2b2bff;
            text-decoration: underline;
        }

        /* Badge ID */
        .id-badge {
            background: #eee;
            padding: 1.25rem 0.625rem;
            font-family: monospace;
            font-weight: bold;
            color: #777;
            text-align: center;
        }

        /* Responsive */
        @media (max-width: 37.5rem) {
            .cellule-haut:nth-child(4), .cellule:nth-child(4) {
                display: none; /* Cache la nourriture sur mobile pour gagner de la place */
            }
        }



