/* =====================================================================
   GAMESZERADOS — SISTEMA DE ADAPTAÇÃO MOBILE (RESPONSIVO NATIVO)
   Isolado para telas móveis (max-width: 768px). Desktop 100% inalterado.
   ===================================================================== */

:root {
    --sat: env(safe-area-inset-top, 0px);
    --sab: env(safe-area-inset-bottom, 0px);
    --sal: env(safe-area-inset-left, 0px);
    --sar: env(safe-area-inset-right, 0px);
    --mobile-topbar-h: calc(52px + var(--sat));
    --mobile-bottomnav-h: calc(56px + var(--sab));
}

/* Oculta a barra inferior em computadores e notebooks */
.mobile-bottom-nav {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────────────
   REGRAS EXCLUSIVAS PARA SMARTPHONES E TABLETS (< 768px)
   ───────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {

    /* ── 1. BODY & VIEWPORT GERAL ── */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative !important;
        -webkit-tap-highlight-color: transparent;
    }

    /* ── 2. TOPBAR MOBILE COM SAFE AREA (PROTEÇÃO DE NOTCH / CÂMERA) ── */
    .top-bar {
        height: var(--mobile-topbar-h) !important;
        padding-top: var(--sat) !important;
        padding-bottom: 0 !important;
        padding-left: max(var(--sal), 12px) !important;
        padding-right: max(var(--sar), 12px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        z-index: 10000 !important;
    }

    .logo-area {
        font-size: 0.85rem !important;
        gap: 6px !important;
        flex-shrink: 0 !important;
    }

    .logo-area span i {
        font-size: 0.85rem !important;
    }

    /* Caixa de busca compacta na Topbar */
    .global-search-container {
        flex: 1 !important;
        max-width: 170px !important;
        margin: 0 4px !important;
    }

    .global-search-input {
        height: 32px !important;
        font-size: 0.72rem !important;
        padding: 4px 28px 4px 8px !important;
        border-radius: 4px !important;
    }

    .search-btn-absolute {
        right: 0.4rem !important;
        font-size: 0.75rem !important;
    }

    /* Oculta os botões de navegação da Topbar (eles agora vivem na Bottom Bar) */
    .top-bar .nav-icons {
        display: flex !important;
        gap: 4px !important;
    }

    .top-bar .nav-icons #navFeed,
    .top-bar .nav-icons #navRank,
    .top-bar .nav-icons #navChat,
    .top-bar .nav-icons #navProfile {
        display: none !important;
    }

    /* Mantém o sino de notificações DLC e o atalho de Configurações na topbar */
    .top-bar .nav-icons #navDLC,
    .top-bar .nav-icons #navSettings {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        position: relative !important;
        font-size: 0.95rem !important;
        border-radius: 4px !important;
    }

    /* Dropdown de Notificações DLC ajustado à tela do celular */
    .dlc-dropdown {
        top: calc(var(--mobile-topbar-h) + 4px) !important;
        right: 8px !important;
        left: 8px !important;
        width: auto !important;
        max-height: 65vh !important;
        border-radius: 6px !important;
    }

    /* Dropdown de Busca Global adaptado */
    .search-results-dropdown,
    #globalSearchResults {
        position: fixed !important;
        top: calc(var(--mobile-topbar-h) + 4px) !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-height: 60vh !important;
        border-radius: 6px !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9) !important;
    }

    /* ── 3. BOTTOM NAVIGATION BAR (FIXA NO RODAPÉ ESTILO APP) ── */
    .mobile-bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: var(--mobile-bottomnav-h) !important;
        padding-bottom: var(--sab) !important;
        background: rgba(8, 8, 12, 0.96) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-top: 1.5px solid var(--console-border, #1a1a2e) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.8) !important;
        align-items: center !important;
        justify-content: space-around !important;
        z-index: 99990 !important;
        box-sizing: border-box !important;
    }

    .mobile-nav-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 !important;
        height: 100% !important;
        color: #777 !important;
        font-family: var(--font-header, sans-serif) !important;
        font-size: 0.52rem !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: color 0.2s, transform 0.2s !important;
        position: relative !important;
        gap: 3px !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }

    .mobile-nav-item i {
        font-size: 1.15rem !important;
        transition: transform 0.2s, color 0.2s !important;
    }

    .mobile-nav-item.active {
        color: var(--neon-green, #00ff88) !important;
    }

    .mobile-nav-item.active i {
        color: var(--neon-green, #00ff88) !important;
        transform: translateY(-2px) !important;
        filter: drop-shadow(0 0 6px rgba(0, 255, 136, 0.6)) !important;
    }

    .mobile-nav-item .m-badge {
        position: absolute !important;
        top: 6px !important;
        right: calc(50% - 18px) !important;
        background: var(--cor-red, #ff0055) !important;
        color: #fff !important;
        font-size: 0.5rem !important;
        font-weight: bold !important;
        padding: 1px 5px !important;
        border-radius: 10px !important;
        box-shadow: 0 0 6px rgba(255, 0, 85, 0.8) !important;
    }

    /* ── 4. CONTEÚDO PRINCIPAL (FEED, PÁGINAS, ROLAGEM TOUCH) ── */
    #pageFeed,
    #pageFeed.active {
        position: fixed !important;
        top: var(--mobile-topbar-h) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: var(--mobile-bottomnav-h) !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        overflow: hidden !important;
        z-index: 45 !important;
    }

    .sidebar-left,
    .sidebar-right {
        display: none !important;
    }

    .feed-main,
    #feedMainContent,
    #appContentBlock {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        flex: 1 1 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    /* Painéis de tela cheia que vão até o limite da tela no mobile */
    #appContentBlock > .inner-section {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        flex: 1 1 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
        display: none !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    #appContentBlock > .inner-section.active {
        display: flex !important;
    }

    #appContentBlock > .inner-section .panel-header,
    #appContentBlock > .inner-section .section-header {
        height: 35px !important;
        min-height: 35px !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
        padding: 0 12px !important;
        border-radius: 0 !important;
    }

    #appContentBlock > .inner-section .panel-content {
        flex: 1 !important;
        min-height: 0 !important;
        height: 100% !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 10px 10px 30px 10px !important;
        box-sizing: border-box !important;
    }

    .inner-section:not(#appContentBlock > .inner-section),
    .panel-box:not(#appContentBlock > .inner-section) {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 12px !important;
        border-radius: 6px !important;
    }

    .panel-content:not(#appContentBlock > .inner-section .panel-content) {
        padding: 10px !important;
        box-sizing: border-box !important;
    }

    /* ── 5. PÁGINA DE PERFIL (CORREÇÃO DE BANNER EXPRIMIDO E LAYOUT) ── */
    #pageProfile,
    #pageProfile.active {
        position: fixed !important;
        top: var(--mobile-topbar-h) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: var(--mobile-bottomnav-h) !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 6px 20px 6px !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 50 !important;
    }

    #pageProfile .profile-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-bottom: 30px !important;
    }

    #pageProfile .profile-header-custom {
        border-radius: 8px !important;
        margin-bottom: 12px !important;
        overflow: hidden !important;
    }

    /* Banner com proporção limpa sem espremer no celular */
    #pageProfile .banner-area,
    #pageProfile #profileBanner {
        height: 165px !important;
        max-height: 165px !important;
        min-height: 165px !important;
        width: 100% !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        border-radius: 8px 8px 0 0 !important;
        position: relative !important;
    }

    /* Avatar centralizado na borda inferior do banner */
    #pageProfile .profile-avatar-wrapper {
        position: absolute !important;
        left: 50% !important;
        top: 165px !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        z-index: 9999 !important;
    }

    #pageProfile .profile-avatar-square {
        width: 82px !important;
        height: 82px !important;
        border-radius: 8px !important;
        border: 3px solid var(--console-bg, #0d0d0d) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.8) !important;
    }

    /* Redes sociais centralizadas abaixo do avatar */
    #pageProfile .profile-socials-row {
        margin-top: 48px !important;
        display: flex !important;
        justify-content: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    #pageProfile .btn-social {
        width: 36px !important;
        height: 36px !important;
        font-size: 0.85rem !important;
    }

    #pageProfile .user-info-section {
        padding: 8px 6px !important;
        text-align: center !important;
    }

    #pageProfile .profile-name {
        font-size: 1.05rem !important;
        margin-bottom: 4px !important;
        word-break: break-word !important;
    }

    #pageProfile .profile-bio {
        font-size: 0.8rem !important;
        padding: 0 10px !important;
        margin-bottom: 10px !important;
    }

    /* Linha de Estatísticas e Ações em pilha vertical limpa */
    #pageProfile .stats-and-actions-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 8px !important;
    }

    #pageProfile .stats-left-actions,
    #pageProfile .stats-right-actions {
        padding: 0 !important;
        width: 100% !important;
        justify-content: center !important;
        display: flex !important;
    }

    #pageProfile .profile-stats-row,
    #pageProfile .profile-stats {
        width: 100% !important;
        display: flex !important;
        justify-content: space-around !important;
        gap: 4px !important;
    }

    #pageProfile .profile-stat-col {
        flex: 1 !important;
        text-align: center !important;
    }

    #pageProfile .profile-stat-col span {
        font-size: 1.1rem !important;
    }

    #pageProfile .profile-stat-label {
        font-size: 0.52rem !important;
    }

    #pageProfile #ownerControls {
        display: flex !important;
        gap: 8px !important;
        width: 100% !important;
        justify-content: center !important;
    }

    #pageProfile #ownerBtnAdd,
    #pageProfile #ownerBtnSettings {
        flex: 1 !important;
        max-width: 160px !important;
        text-align: center !important;
        padding: 10px 8px !important;
        font-size: 0.72rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Grid do Perfil (Jogos, Desafios, etc.) em 1 coluna */
    #pageProfile .profile-content-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    #pageProfile #profileGamesList,
    #profileGamesList,
    .backlog-games-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        max-height: none !important;
    }

    /* ── 6. CARTUCHOS DE JOGOS (.game-cartridge) MOBILE FRIENDLY ── */
    .game-cartridge {
        display: flex !important;
        flex-direction: row !important;
        min-height: 90px !important;
        margin-bottom: 10px !important;
        position: relative !important;
        border-radius: 6px !important;
        overflow: hidden !important;
    }

    .cart-art {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        height: auto !important;
        align-self: stretch !important;
    }

    .cart-body {
        padding: 8px !important;
        padding-right: 60px !important; /* Espaço para o badge de nota à direita */
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        min-width: 0 !important;
    }

    .cart-title {
        font-size: 0.92rem !important;
        line-height: 1.2 !important;
        margin-bottom: 3px !important;
        word-break: break-word !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .cart-meta {
        font-size: 0.75rem !important;
        line-height: 1.3 !important;
        margin-bottom: 4px !important;
        color: #999 !important;
    }

    .scores-row {
        gap: 4px !important;
        margin-top: 3px !important;
    }

    .score-mini {
        font-size: 0.62rem !important;
        padding: 1px 3px !important;
    }

    /* Badge de nota/rank reposicionado sem colidir com texto */
    .rank-box-absolute {
        position: absolute !important;
        top: 6px !important;
        right: 6px !important;
        width: 48px !important;
        height: 38px !important;
        transform: none !important;
        border-radius: 4px !important;
        box-shadow: none !important;
        border: 1px solid var(--neon-purple, #a855f7) !important;
        background: rgba(0, 0, 0, 0.85) !important;
    }

    .cart-rank {
        font-size: 0.82rem !important;
    }

    .cart-rank-label {
        font-size: 0.35rem !important;
        margin-top: 1px !important;
    }

    /* Botão de deletar/ações do cartucho */
    .delete-btn-area {
        position: absolute !important;
        bottom: 6px !important;
        right: 6px !important;
        margin: 0 !important;
    }

    .delete-btn-area .btn {
        padding: 4px 6px !important;
        font-size: 0.65rem !important;
    }

    /* ── 6.9 PÁGINA DE BUSCA (#pageSearch) ── */
    #pageSearch .panel-content {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        overflow: hidden !important;
        height: 100% !important;
        flex: 1 !important;
        min-height: 0 !important;
    }

    #pageSearch .search-header {
        padding: 10px 12px !important;
        flex-shrink: 0 !important;
        background: #0a0a0a !important;
    }

    #pageSearch .search-layout {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 !important;
        min-height: 0 !important;
        padding: 10px 8px 30px 8px !important;
        gap: 10px !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    #pageSearch .search-main {
        width: 100% !important;
        padding-right: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    /* ── 7. PÁGINA DE RANKING (#pageRank) ── */
    #pageRank .panel-content {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 10px 8px 30px 8px !important;
        box-sizing: border-box !important;
    }

    #pageRank .rank-filters-container {
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pageRank .rank-filters-container select {
        width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        font-size: 0.78rem !important;
        box-sizing: border-box !important;
    }

    /* Podium do ranking adaptativo */
    .rank-podium-1,
    .rank-podium-2,
    .rank-podium-3 {
        padding: 12px 10px !important;
    }

    /* Player Rank Cards */
    .pr-row {
        padding: 10px 6px !important;
        gap: 8px !important;
    }

    .pr-pos {
        width: 24px !important;
        font-size: 0.62rem !important;
    }

    .pr-avatar {
        width: 36px !important;
        height: 36px !important;
    }

    .pr-tab-btn {
        font-size: 0.46rem !important;
        padding: 8px 4px !important;
        letter-spacing: 0.5px !important;
    }

    /* Estatísticas globais do ranking */
    .rank-stat-box {
        min-height: 60px !important;
        padding: 10px 8px !important;
        flex: 1 1 90px !important;
    }

    /* ── 7.1 PÁGINA DE CONFIGURAÇÕES (#pageSettings) ── */
    #pageSettings {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        flex: 1 !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    #pageSettings .panel-content {
        padding: 10px 8px 30px 8px !important;
        flex: 1 !important;
        min-height: 0 !important;
        height: 100% !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    #pageSettings .settings-nav-bar {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 6px !important;
        padding-bottom: 8px !important;
        margin-bottom: 14px !important;
        scrollbar-width: none !important;
    }

    #pageSettings .settings-nav-bar::-webkit-scrollbar {
        display: none !important;
    }

    #pageSettings .settings-tab-btn {
        flex: 0 0 auto !important;
        padding: 8px 12px !important;
        font-size: 0.58rem !important;
        white-space: nowrap !important;
        letter-spacing: 0.5px !important;
    }

    #pageSettings .settings-grid-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pageSettings .settings-card {
        width: 100% !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
    }

    #pageSettings .settings-card input,
    #pageSettings .settings-card select,
    #pageSettings .settings-card textarea {
        width: 100% !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
        min-height: 40px !important;
    }

    #pageSettings .gz-theme-select-wrap select {
        height: 42px !important;
        font-size: 16px !important;
    }

    #pageSettings button.btn {
        min-height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* ── 7.2 FORMULÁRIOS DE JOGO E DESAFIO (#pageGameForm / #pageChallengeForm) ── */
    #pageGameForm,
    #pageChallengeForm {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        flex: 1 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #pageGameForm .panel-content,
    #pageChallengeForm .panel-content {
        padding: 12px 8px 30px 8px !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        flex: 1 !important;
        box-sizing: border-box !important;
    }

    #pageGameForm .settings-grid-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #pageGameForm .settings-card,
    #pageChallengeForm .settings-card {
        width: 100% !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
    }

    #pageGameForm .settings-card input,
    #pageGameForm .settings-card select,
    #pageGameForm .settings-card textarea,
    #pageChallengeForm input,
    #pageChallengeForm select {
        width: 100% !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
        min-height: 42px !important;
    }

    #gfActionsContainer {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 0 !important;
        margin-top: 15px !important;
        margin-bottom: 25px !important;
        position: static !important;
        background: transparent !important;
        border-top: none !important;
    }

    #btnSaveGameModal,
    #pageChallengeForm button.btn-green {
        width: 100% !important;
        min-height: 52px !important;
        font-size: 1rem !important;
        font-weight: bold !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        box-shadow: 0 4px 16px rgba(0, 255, 136, 0.4) !important;
    }

    /* ── 8. SISTEMA DE CHAT RETRO-NEON MOBILE ── */
    /* Gaveta de Contatos ocupa 100% da tela */
    .gz-chat-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        right: -100vw !important;
        top: 0 !important;
        height: 100vh !important;
        height: 100dvh !important;
        border-left: none !important;
        z-index: 100000 !important;
    }

    .gz-chat-drawer.active {
        right: 0 !important;
    }

    .gz-chat-drawer-header {
        padding-top: max(var(--sat), 12px) !important;
        padding-bottom: 12px !important;
        height: calc(48px + var(--sat)) !important;
        box-sizing: border-box !important;
    }

    /* Janelas de Conversa individuais (tela cheia nativa no celular) */
    .gz-chat-windows-wrapper {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100% !important;
        height: 100dvh !important;
        gap: 0 !important;
        pointer-events: none !important;
        z-index: 200000 !important;
    }

    .gz-chat-window {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100% !important;
        height: 100dvh !important;
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        border-radius: 0 !important;
        border: none !important;
        z-index: 200001 !important;
        display: flex !important;
        flex-direction: column !important;
        background: #08080d !important;
        pointer-events: auto !important;
        box-shadow: none !important;
    }

    .gz-chat-window.minimized {
        height: calc(48px + var(--sab)) !important;
        top: auto !important;
        bottom: var(--mobile-bottomnav-h) !important;
        left: 8px !important;
        right: 8px !important;
        width: calc(100vw - 16px) !important;
        border-radius: 8px 8px 0 0 !important;
        border: 1px solid var(--neon-blue, #00f3ff) !important;
    }

    .gz-chat-window-header {
        padding-top: max(var(--sat), 10px) !important;
        height: calc(52px + var(--sat)) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        background: #050508 !important;
        border-bottom: 1.5px solid var(--console-border, #222) !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }

    .gz-chat-messages-container {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 12px 10px !important;
    }

    /* Barra de digitação do chat com proteção total de teclado e botões virtuais */
    .gz-chat-input-container {
        padding-top: 8px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        padding-bottom: max(var(--sab), 12px) !important;
        background: #0a0a10 !important;
        border-top: 1.5px solid var(--console-border, #222) !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 10 !important;
    }

    .gz-chat-input-row {
        display: flex !important;
        gap: 6px !important;
        align-items: center !important;
        width: 100% !important;
    }

    .gz-chat-input {
        font-size: 16px !important; /* Previne auto-zoom no Android e iOS */
        height: 42px !important;
        padding: 6px 12px !important;
        border-radius: 6px !important;
        flex: 1 !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #14141c !important;
        color: #fff !important;
    }

    .gz-chat-input-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        font-size: 1.15rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .gz-chat-popover {
        position: absolute !important;
        bottom: calc(54px + max(var(--sab), 12px)) !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-height: 45vh !important;
        z-index: 30 !important;
        background: #101018 !important;
        border: 1px solid var(--neon-blue, #00f3ff) !important;
        border-radius: 8px !important;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.9) !important;
        overflow-y: auto !important;
    }

    /* ── 9. MODAIS, FORMULÁRIOS E TELAS POPUP ── */
    .modal-overlay,
    .modal {
        z-index: 150000 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .modal-content,
    .modal-box,
    .game-modal-wide,
    .rank-modal-section,
    .auth-terminal {
        width: 95vw !important;
        max-width: 95vw !important;
        max-height: 85vh !important;
        max-height: 85dvh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 14px !important;
        box-sizing: border-box !important;
        margin: auto !important;
        border-radius: 8px !important;
    }

    /* Modal de Detalhes do Jogador no Ranking (#playerRankDetailModal) */
    #playerRankDetailModal .modal-box {
        width: 95vw !important;
        max-width: 95vw !important;
        padding: 14px 10px !important;
        box-sizing: border-box !important;
    }

    #prDetailContent > div > div[style*="grid-template-columns:1fr 1fr"],
    #prDetailContent .pr-section div[style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    .pr-modal-tab {
        padding: 8px 6px !important;
        font-size: 0.65rem !important;
        white-space: nowrap !important;
    }

    .form-row {
        flex-direction: column !important;
        gap: 8px !important;
    }

    input, select, textarea {
        font-size: 16px !important; /* Previne zoom automático ao focar no teclado mobile */
        box-sizing: border-box !important;
    }

    /* Feed Posts */
    .gz-post-creator {
        padding: 10px !important;
        border-radius: 6px !important;
    }

    .gz-post-textarea {
        font-size: 0.85rem !important;
        height: 65px !important;
    }

    .gz-post-card {
        margin-bottom: 12px !important;
        border-radius: 6px !important;
    }

    .gz-post-card-body {
        padding: 10px !important;
        font-size: 0.85rem !important;
    }

    /* ── 10. SAVERECAP MOBILE / ANDROID ── */
    #saveRecapModal {
        padding: max(var(--sat), 10px) 8px max(var(--sab), 10px) 8px !important;
    }

    .sr-player-shell {
        max-width: 100% !important;
        width: 100% !important;
        max-height: calc(100dvh - var(--sat) - var(--sab) - 10px) !important;
    }

    .sr-viewport {
        max-height: 64dvh !important;
    }

    .sr-actions-bar {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 4px 0 !important;
    }

    .sr-actions-bar.sr-android-mode,
    .sr-actions-bar {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .sr-actions-bar #srDownloadFullVidBtn {
        width: 100% !important;
        flex: 1 1 100% !important;
        padding: 13px 16px !important;
        font-size: 0.72rem !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    /* No Android / telas móveis, oculta botões extras exibindo exclusivamente o download do vídeo */
    .sr-actions-bar #srShareVidBtn,
    .sr-actions-bar #srShareImgBtn {
        display: none !important;
    }

    /* Garante seleção de texto, cursor e edição fluida em todos os inputs e textareas no Android/Mobile */
    input,
    textarea,
    [contenteditable="true"] {
        user-select: text !important;
        -webkit-user-select: text !important;
        touch-action: manipulation !important;
    }
}
