
/* =====================================
   PIXELWAR - DESIGN PRINCIPAL
===================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #0A1425;
    color: #FFFFFF;
    font-family: Arial, sans-serif;
    min-height: 100vh;
}


/* =====================================
   BARRE SUPÉRIEURE
===================================== */

.topbar {
    min-height: 85px;
    background: #111F35;
    border-bottom: 2px solid #29466B;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 15px 35px;
}

.logo h1 {
    font-size: 27px;
    letter-spacing: 3px;
}

.logo h1 span {
    color: #F5A18F;
}

.logo p {
    color: #9AAAC0;
    font-size: 11px;
    margin-top: 4px;
}

.back-button {
    color: white;
    text-decoration: none;
    background: #233B5D;
    padding: 11px 18px;
    border-radius: 8px;
    transition: background 0.2s;
}

.back-button:hover {
    background: #36577F;
}


/* =====================================
   INFORMATIONS DU JOUEUR
===================================== */

.player-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;

    background: #152640;
    padding: 18px 35px;

    border-bottom: 1px solid #29466B;
}

.player-info {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #D8E3F2;
}

.status-dot {
    width: 10px;
    height: 10px;
    background: #38D98A;
    border-radius: 50%;
    box-shadow: 0 0 8px #38D98A;
}

.coin-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
}

.coin-info strong {
    color: #F5A18F;
    font-size: 22px;
}


/* =====================================
   CONTENU PRINCIPAL
===================================== */

.game-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 25px;

    max-width: 1550px;
    margin: 35px auto;
    padding: 0 25px;
}


/* =====================================
   SECTION DE LA CARTE
===================================== */

.canvas-section {
    background: #14243C;
    border: 1px solid #29466B;
    border-radius: 15px;
    padding: 22px;

    min-width: 0;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-bottom: 22px;
}

.section-heading h2 {
    color: #F5A18F;
    font-size: 23px;
    margin-bottom: 6px;
}

.section-heading p {
    color: #AAB9CE;
    font-size: 14px;
}

.online-status {
    color: #38D98A;
    font-size: 12px;
    font-weight: bold;
}


/* =====================================
   GRANDE TOILE PIXELWAR
===================================== */

.canvas-wrapper {
    width: 100%;
    max-width: 1100px;
    margin: auto;

    background: #FFFFFF;

    border: 3px solid #29466B;
    border-radius: 5px;

    overflow: hidden;
    position: relative;
}

#pixel-canvas {
    display: block;

    width: 100%;
    height: auto;

    image-rendering: pixelated;

    cursor: grab;

    touch-action: none;

    user-select: none;
}

#pixel-canvas:active {
    cursor: grabbing;
}


/* =====================================
   COORDONNÉES
===================================== */

.coordinates {
    color: #AAB9CE;
    font-size: 13px;
    margin-top: 15px;
    text-align: center;
}


/* =====================================
   PANNEAU DE CONTRÔLE
===================================== */

.control-panel {
    background: #14243C;
    border: 1px solid #29466B;
    border-radius: 15px;

    padding: 22px;
    height: fit-content;
}

.control-panel h2 {
    color: #F5A18F;
    font-size: 19px;
    margin-bottom: 18px;
}


/* =====================================
   PALETTE DE COULEURS
===================================== */

.color-palette {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;

    margin-bottom: 18px;
}

.color {
    width: 43px;
    height: 43px;

    border: 3px solid #52657E;
    border-radius: 8px;

    cursor: pointer;

    transition: transform 0.2s, border-color 0.2s;
}

.color:hover {
    transform: scale(1.12);
}

.color.selected {
    border: 3px solid #F5A18F;

    box-shadow:
        0 0 10px rgba(245, 161, 143, 0.5);
}


/* =====================================
   COULEUR SÉLECTIONNÉE
===================================== */

.selected-color-info {
    color: #AAB9CE;
    font-size: 13px;
    margin-bottom: 20px;
}

#selected-color {
    color: white;
    font-weight: bold;
}


/* =====================================
   SÉPARATION
===================================== */

.control-panel hr {
    border: none;
    border-top: 1px solid #29466B;
    margin: 20px 0;
}


/* =====================================
   INFORMATIONS DE PLACEMENT
===================================== */

.placement-price,
.cooldown-info {
    color: #AAB9CE;
    font-size: 14px;
    margin-bottom: 12px;
}

.placement-price strong {
    color: #F5A18F;
}

.cooldown-info strong {
    color: #38D98A;
}


/* =====================================
   BOUTON PLACEMENT
===================================== */

#place-button {
    width: 100%;
    padding: 14px;

    background: #F5A18F;
    color: #30252A;

    border: none;
    border-radius: 9px;

    font-size: 15px;
    font-weight: bold;

    cursor: pointer;
    margin-top: 12px;

    transition: background 0.2s, transform 0.2s;
}

#place-button:hover {
    background: #F8C4B7;
    transform: translateY(-2px);
}


/* =====================================
   MESSAGE DU JEU
===================================== */

#game-message {
    color: #AAB9CE;
    font-size: 13px;

    text-align: center;
    margin-top: 15px;

    line-height: 1.5;
}


/* =====================================
   PIED DE PAGE
===================================== */

footer {
    text-align: center;
    padding: 25px;

    color: #71849F;
    font-size: 12px;

    border-top: 1px solid #29466B;
    margin-top: 40px;
}

footer p + p {
    margin-top: 6px;
}


/* =====================================
   RESPONSIVE - TABLETTES
===================================== */

@media (max-width: 1000px) {

    .game-container {
        grid-template-columns: 1fr;
    }

    .control-panel {
        width: 100%;
    }

}


/* =====================================
   RESPONSIVE - MOBILES
===================================== */

@media (max-width: 600px) {

    .topbar {
        padding: 15px;
    }

    .logo h1 {
        font-size: 22px;
    }

    .back-button {
        padding: 9px 12px;
        font-size: 13px;
    }

    .player-panel {
        padding: 15px;
    }

    .game-container {
        padding: 0 12px;
        margin: 20px auto;
    }

    .canvas-section {
        padding: 12px;
    }

    .section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .control-panel {
        padding: 18px;
    }

}

/* =====================================
   CONNEXION ET INSCRIPTION
===================================== */

.auth-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

#auth-status {
    width: 100%;
    color: #F5A18F;
    font-size: 13px;
    font-weight: bold;
}

.auth-panel input {
    width: 160px;
    padding: 9px;
    border: 1px solid #52657E;
    border-radius: 7px;
    background: #0A1425;
    color: white;
    outline: none;
}

.auth-panel input:focus {
    border-color: #F5A18F;
}

.auth-panel button {
    padding: 9px 12px;
    border: none;
    border-radius: 7px;
    background: #F5A18F;
    color: #30252A;
    font-weight: bold;
    cursor: pointer;
}

.auth-panel button:hover {
    background: #F8C4B7;
}

.auth-panel button[hidden] {
    display: none;
}


/* =====================================
   BOUTONS DU COMPTE - STYLE DU SITE
===================================== */

.topbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.auth-buttons {
    display: flex;
    align-items: center;
    gap: 15px;
}

.auth-buttons button {
    background: transparent;
    border: none;
    color: #e46569fe;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
}

.auth-buttons button:hover {
    color: white;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #30252A;
    font-weight: bold;
}

.user-menu button {
    background: transparent;
    border: none;
    color: #30252A;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
}

.user-menu button:hover {
    color: white;
}

.auth-modal[hidden],
.user-menu[hidden] {
    display: none;
}
