/* Ajustări de mobil pentru paginile de joc (jocurile de logică / educaționale).
 *
 * Problema: topbar-ul e un singur rând flex — „Înapoi" + titlu + cronometrul
 * injectat de arena.js + trei butoane rotunde (sunet, reluare, clasament).
 * Pe telefon suma lor depășește lățimea ecranului, iar pagina putea fi trasă
 * lateral. Aici topbar-ul se rupe pe două rânduri (comenzi sus, titlu dedesubt)
 * și butoanele se micșorează, iar `overflow-x: clip` pe <html> taie definitiv
 * derapajul orizontal, indiferent ce element ar mai depăși (ca pe /business).
 */
html {
    overflow-x: hidden;
    overflow-x: clip;
    overscroll-behavior-x: none;
}

@media (max-width: 760px) {
    .topbar {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        padding: 12px 12px 6px;
    }

    /* rândul 1: Înapoi (stânga) · cronometru (centru) · unelte (dreapta) */
    .topbar .pill {
        order: 1;
        margin-right: auto;
        padding: 10px 15px;
        font-size: 14.5px;
    }

    .topbar #arena-timer {
        order: 2;
        font-size: 15px;
        padding: 8px 13px;
    }

    .topbar .tools {
        order: 3;
        margin-left: auto;
        gap: 8px;
    }

    /* rândul 2: titlul, pe toată lățimea */
    .topbar .title {
        order: 4;
        flex: 1 0 100%;
        width: 100%;
    }

    .topbar .title h1 {
        font-size: 21px;
    }

    .topbar .title .sub {
        font-size: 12.5px;
        line-height: 1.35;
    }

    .iconbtn {
        width: 44px;
        height: 44px;
    }

    .iconbtn svg {
        width: 21px;
        height: 21px;
    }

    /* restul paginii: nimic nu iese din ecran */
    .diff {
        max-width: calc(100vw - 20px);
        flex-wrap: wrap;
        justify-content: center;
    }

    .stage {
        padding: 12px;
        gap: 16px;
    }

    .palette {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .hint {
        padding: 4px 14px 18px;
        font-size: 14px;
    }

    /* Tablele cu casete dimensionate în vh (Sudoku, Zi și noapte, Steluțe pe hartă):
     * pe un telefon îngust și înalt, 11vh depășea lățimea ecranului. max-width
     * învinge width, iar aspect-ratio păstrează pătratul — deci e de ajuns să
     * plafonăm lățimea în funcție de ecran (4 sau 6 coloane + spații + rame). */
    .cell,
    .qcell {
        max-width: calc((100vw - 84px) / 4);
    }

    .boardwrap.n6 .cell,
    .boardwrap.n6 .qcell {
        max-width: calc((100vw - 96px) / 6);
    }
}

/* telefoane înguste (360px și sub) — mai puțin aer, aceleași funcții */
@media (max-width: 400px) {
    .topbar {
        gap: 6px;
        padding: 10px 10px 6px;
    }

    .topbar .pill {
        padding: 9px 12px;
        font-size: 13.5px;
    }

    .topbar #arena-timer {
        font-size: 14px;
        padding: 7px 11px;
    }

    .iconbtn {
        width: 40px;
        height: 40px;
    }

    .iconbtn svg {
        width: 19px;
        height: 19px;
    }
}
