/*
   Readability layer.
   Loaded after page styles so legacy 9-13px declarations do not make
   navigation, controls and supporting copy difficult to read.
*/
:root {
    --text-size-body: 16px;
    --text-size-control: 15px;
    --text-size-small: 13px;
    --text-line-body: 1.6;
}

body {
    font-size: var(--text-size-body);
    line-height: var(--text-line-body);
    padding: 8px 20px 20px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

p,
li,
dd,
blockquote,
.game-detail-description,
.game-text-content,
.home-seo-content,
.privacy-section,
.terms-section {
    line-height: var(--text-line-body);
}

button,
.btn,
input,
select,
textarea {
    font-size: var(--text-size-control);
}

.header-search input,
.dropdown-item,
.btn-register-header,
.btn-login-header,
.genre-item,
.load-more-btn,
.no-results-btn {
    font-size: var(--text-size-control);
}

.user-info-mini .username {
    font-size: 14px;
}

.user-info-mini .user-balance,
.notif-badge,
.game-badge,
.game-category-badge,
.game-title-badge,
.game-stat {
    font-size: var(--text-size-small);
}

.game-title {
    font-size: 16px;
    line-height: 1.35;
}

/* Возвращаем исходную прозрачность бейджа названия игры. */
.game-title-badge,
.similar-games-section .game-title-badge {
    background: rgba(0, 0, 0, .72);
}

.game-chat .chat-header h4 {
    font-size: 16px;
}

.game-chat .chat-online,
.game-chat .chat-empty p,
.game-chat .chat-empty .hint,
.game-chat .chat-message.warning,
.game-chat .chat-username,
.game-chat .chat-time,
.game-chat .chat-counter {
    font-size: var(--text-size-small);
}

.game-chat .chat-text,
.game-chat .chat-input-area input {
    font-size: 15px;
    line-height: 1.5;
}

.pf .pf-rarity,
.pf .pf-date,
.pf .pf-username {
    font-size: var(--text-size-small);
    line-height: 1.35;
}

.pf .pf-bio,
.pf .pf-item-name,
.pf .pf-text {
    font-size: 15px;
    line-height: 1.55;
}

.admin-container,
.admin-container input,
.admin-container select,
.admin-container textarea,
.admin-container button {
    font-size: 14px;
}

.admin-container small,
.admin-container .hint,
.admin-container .stat-label,
.admin-container .metrics-label,
.admin-container .metrics-hint,
.admin-container .metrics-note {
    font-size: var(--text-size-small);
    line-height: 1.45;
}

@media (max-width: 768px) {
    body {
        padding: 6px 10px 10px;
    }

    .game-category-badge,
    .game-title-badge,
    .game-stat,
    .similar-games-section .game-category-badge,
    .similar-games-section .game-title-badge,
    .similar-games-section .game-stat {
        font-size: 12px;
        padding: 4px 7px;
    }

    .game-title {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    body {
        padding-top: 4px;
    }

    .btn-register-header,
    .btn-login-header,
    .btn-register-header span,
    .btn-login-header span {
        font-size: 14px;
    }

    .reviews-badge,
    .preview-category,
    .preview-plays,
    .preview-rating {
        font-size: 12px;
    }
}
