@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
    }

    body {
        padding-top: 68px;
        padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px));
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .display-4 {
        font-size: 1.85rem !important;
    }

    .display-6 {
        font-size: 1.55rem !important;
    }

    .flag {
        --flag-size: 1.15rem !important;
    }

    .records-panel {
        padding: 14px !important;
        border-radius: var(--radius) !important;
    }

    .custom-leaderboard-table {
        border-collapse: collapse !important;
    }

    .custom-leaderboard-table thead th {
        padding: 8px 6px !important;
        font-size: 0.7rem;
    }

    .leaderboard-row td {
        padding: 10px 6px !important;
        font-size: 0.85rem;
    }

    .player-name-link {
        max-width: 135px;
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: middle;
        font-size: 0.88rem;
    }

    .rank-container {
        width: 26px;
    }

    .rank-icon {
        width: 24px;
        height: 24px;
        font-size: 0.78rem;
    }

    .rank-number {
        font-size: 0.82rem;
    }

    .score-badge {
        font-size: 0.86rem;
    }

    .platform-segment-control {
        width: 100%;
        max-width: 320px;
    }

    .platform-segment-btn {
        flex: 1;
        justify-content: center;
        padding: 7px 12px;
        font-size: 0.82rem;
    }

    .region-select-btn {
        padding: 9px 12px;
        font-size: 0.85rem;
    }

    .search-container {
        height: 42px;
    }

    .search-container .form-control {
        font-size: 0.88rem;
    }

    .search-container .btn {
        padding-left: 14px;
        padding-right: 14px;
        font-size: 0.85rem;
    }
}