/*
PISI Core V2
Shared fonts, helper classes and PISI Mobile Pack
*/

@font-face {
    font-family: 'PiSiGeo';
    src: url('../fonts/PiSiGeo.woff2') format('woff2'),
         url('../fonts/PiSiGeo.woff') format('woff'),
         url('../fonts/PiSiGeo.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.pisi-geo,
.pgeo-font,
.geo-symbol,
.pisi-geo-symbol {
    font-family: 'PiSiGeo' !important;
    font-weight: normal !important;
    font-style: normal !important;
    line-height: 1;
}

.pisi-geo-big {
    font-family: 'PiSiGeo' !important;
    font-size: 110px;
    line-height: 1;
}

.pisi-core-hidden-test {
    position: absolute;
    left: -9999px;
    top: -9999px;
    visibility: hidden;
}

/* =====================================================
   PISI Mobile Pack v1.0
   ===================================================== */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.mmi-game,
.mmi-game *,
.pisi-quiz,
.pisi-quiz *,
.pisi-card,
.pisi-card * {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    box-sizing: border-box;
}

.pisi-fullscreen-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    border-radius: 10px;
    padding: 9px 14px;
    cursor: pointer;
    font-weight: 700;
    line-height: 1.1;
}

.mmi-game:fullscreen,
.pisi-quiz:fullscreen,
.pisi-card:fullscreen {
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: auto !important;
    background: #fff;
}

@media (max-width: 768px) {
    .pisi-fullscreen-btn {
        display: none !important;
    }

    .mmi-game,
    .pisi-quiz,
    .pisi-card,
    .mmi-card {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 8px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .mmi-training-buttons,
    .mmi-tabs,
    .pisi-tabs,
    .pisi-level-buttons,
    .pisi-toolbar,
    .mmi-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        overflow: visible !important;
        max-width: 100% !important;
    }

    .mmi-training-buttons > *,
    .mmi-tabs > *,
    .pisi-tabs > *,
    .pisi-level-buttons > * {
        min-width: 0 !important;
        flex: 0 1 auto !important;
    }

    .mmi-options,
    .pisi-options {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .mmi-option-btn,
    .pisi-option-btn,
    .mmi-options button,
    .pisi-options button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }

    .mmi-question-area,
    .pisi-question-area {
        min-height: 90px !important;
        height: auto !important;
        padding: 12px 8px !important;
        margin-bottom: 12px !important;
        overflow: visible !important;
    }

    .mmi-question,
    .pisi-question {
        line-height: 1.1 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        writing-mode: horizontal-tb !important;
    }
}

@media (max-width: 420px) {
    .mmi-game,
    .pisi-quiz,
    .pisi-card,
    .mmi-card {
        margin: 6px !important;
        padding: 10px !important;
    }

    .mmi-options,
    .pisi-options {
        gap: 8px !important;
    }
}
