/** {*/
/*  background: #000 !important;*/
/*  color: #0f0 !important;*/
/*  outline: solid #f00 1px !important;*/
/*}*/

@font-face {
        font-family: 'Atkinson Hyperlegible Next';
        font-style: normal;
        font-weight: 400;
        src: local(''),
        url('AtkinsonHyperlegibleNext-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
}
@font-face {
        font-family: 'Atkinson Hyperlegible Next';
        font-style: bold;
        font-weight: 400;
        src: local(''),
        url('AtkinsonHyperlegibleNext-Bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
}
@font-face {
        font-family: 'Atkinson Hyperlegible Mono';
        font-style: normal;
        font-weight: 400;
        src: local(''),
        url('AtkinsonHyperlegibleMono-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
}

:root
{
    --dark0:  #2e3440;
    --dark1:  #3b4252;
    --dark2:  #434c5e;
    --dark3:  #4c566a;

    --light0: #d8dee9;
    --light1: #e5e9f0;
    --light2: #eceff4;
    --light3: #ffffff;

    --frost0: #8fbcbb;
    --frost1: #88c0d0;
    --frost2: #81a1c1;
    --frost3: #5e81ac;

    --red:    #bf616a;
    --orange: #d08770;
    --orange: #F28322;
    --yellow: #ebcb8b;
    --green:  #a3be8c;
    --purple: #b48ead;

    --text: var(--dark1);
    --text2: var(--dark3);
    --background: var(--light2);
    --background2: var(--light0);
    --border: var(--orange); 
    --link: var(--orange);
    --selection-bg: var(--orange);
    --selection-color: var(--light2);
    --homme: #007bff; 
    --femme: #e83e8c; 
}

* {
        box-sizing: border-box;
        line-height: 1.5;
}

html,
body {
        background: var(--background);
        color: var(--text);
        margin: 0;
        padding: 0;
        min-height: 100vh;
}

html {
        font-family: "Atkinson Hyperlegible Next";
        font-size: 15px;

        @media (min-width: 750px) {
                font-size: 17px;
        }
}

body {
        border-color: var(--border);
        border-bottom-width: 4px;
        border-bottom-style: solid;
        border-top-width: 4px;
        border-top-style: solid;
        display: flex;
        flex-direction: row;
        margin-bottom: 4px;
}

.nav {
        box-shadow: 0 2px 2px -2px var(--text);
        overflow: auto;
        border-right: 2px solid var(--border);
        padding: 5px;
        margin: 0 5px;

        .nav-title {
                -webkit-transition: all .2s ease-out;
                -moz-transition: all .2s ease-out;
                transition: all .2s ease-out;
                color: var(--text);
                margin: 0;
                padding-right: .2rem
        }

        .container {
                display: flex;
       }

        ul {
                list-style-type: none;
                margin: 1rem 0 0;
                padding: 0;
                /*text-align: center;*/
                display: flex;
                flex-direction: column;
        }
        a {
                color: var(--text);
                &:hover {
                        color: var(--lin);
                }
        }
}

.container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
}

.char-card {
        background-color: var(--background2); /* Gris de l'image */
        color: var(--text);
        /*width: 452px;*/
        width: 30%;
        padding: 20px 25px;
        margin: 10px;
        border: 2px solid var(--text2);
        border-radius: 18px; 
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        box-sizing: border-box;

        .header {
                align-items: center;
                font-size: 1.5rem;
                font-weight: 700;
                display: flex;
                margin: 0 0 10px 0;
                
                .name {
                        flex: 1;
                        text-align: center;
                }

                .color {
                        width: 40px;
                        height: 40px;
                        border-radius: 4px;
                }

                .homme::after {
                        content: " \2642";
                        color: var(--homme);
                        font-weight: bold;
                }

                .femme::after {
                        content: " \2640";
                        color: var(--femme);
                        font-weight: bold;
                }

                .heart-container {
                        position: relative;
                        width: 50px;
                        height: 45px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        /*margin: 20px;*/
                }

                .heart {
                        position: absolute;
                        background-color: #ff4d4d; /* Rouge vif */
                        height: 25px;
                        width: 25px;
                        transform: rotate(-45deg);
                        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
                }

                .heart::before,
                .heart::after {
                        content: "";
                        position: absolute;
                        background-color: #ff4d4d;
                        border-radius: 50%;
                        height: 25px;
                        width: 25px;
                }

                /* On place les arrondis sur le haut et la droite du carré */
                .heart::before { top: -12px; left: 0; }
                .heart::after { left: 12px; top: 0; }

                /* Style pour le texte (PV) */
                .hp-value {
                        position: relative; /* Pour passer au-dessus du cœur absolu */
                        z-index: 10;
                        color: white;
                        font-family: 'Arial Black', sans-serif;
                        font-size: 20px;
                        text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
                        margin-top: -10px; /* Ajustement visuel pour le centrage optique */
                }
        }

}

/* Grille pour les attributs et aptitudes */
.stats-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 30px;
        margin-bottom: 20px;

        .column-header {
                font-weight: 700;
                font-size: 1.1rem;
                margin-bottom: 8px;
        }

        .row {
                display: flex;
                justify-content: space-between;
                align-items: center;
        }

        .label {
                font-style: italic; 
        }

        .value {
                font-weight: 400;
                padding-right: 5px;
        }
}

.details-section {
        line-height: 1.5;

        .item {
                ul {
                        margin: 0;
                }
        }

        .label {
                font-weight: 800; 
                font-size: 1.05rem;
        }

        .value {
                font-style: italic;
        }
}

.button-json {
        display: flex;
        align-items: center;
        justify-content: center;
}

.rpg-table {
        width: 100%;
        border-collapse: collapse;
        background-color: #fdfaf3; /* Teinte parchemin clair */
        color: #2c3e50;

        /* En-tête stylisé */
        th {
                background-color: #5d4037; /* Brun cuir */
                color: #ffffff;
                text-align: left;
                padding: 12px 15px;
                text-transform: uppercase;
                font-size: 0.9rem;
                letter-spacing: 1px;
        }

        /* Cellules */
        td {
                padding: 10px 15px;
                border-bottom: 1px solid #e0d7c6;
        }

        /* Lignes alternées (Zebra stripes) */
        tbody tr:nth-child(even) {
                background-color: #f4eee1;
        }

        /* Effet au survol pour aider le MJ à lire la ligne */
        tbody tr:hover {
                background-color: #ede3cf;
        }

        /* Colonne de dés (souvent la première) */
        td:first-child {
                font-weight: bold;
                color: #a04000; /* Couleur rouille/aventure */
                width: 50px;
                text-align: center;
        }
}
