/* ============================================
   ERGASE - Responsive (Mobile-first)
   ============================================ */

/* --- Base mobile adjustments --- */
@media (max-width: 480px) {
    html {
        font-size: 15px;
    }

    .screen {
        padding: 12px;
    }

    .status-header {
        padding: 14px;
    }

    .player-avatar {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
    }

    .player-name {
        font-size: 1rem;
    }

    .stats-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 4px;
    }

    .stat-item {
        padding: 6px 2px;
    }

    .stat-value {
        font-size: 0.95rem;
    }

    .stat-name {
        font-size: 0.55rem;
    }

    .muscle-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .muscle-card {
        padding: 12px 4px;
    }

    .muscle-card .muscle-icon {
        font-size: 1.5rem;
    }

    .inventory-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .login-title {
        font-size: 1.6rem;
        letter-spacing: 3px;
    }

    .training-timer {
        font-size: 2rem;
    }

    .tabs {
        gap: 2px;
    }

    .tab {
        padding: 6px 8px;
        font-size: 0.7rem;
    }

    .notification-container {
        width: 95%;
    }
}

/* --- Tablets --- */
@media (min-width: 481px) and (max-width: 768px) {
    .muscle-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .inventory-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* --- Desktop --- */
@media (min-width: 769px) {
    .screen {
        padding: 24px;
        max-width: 640px;
    }

    .muscle-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .inventory-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .bottom-nav {
        top: 0;
        bottom: auto;
        border-top: none;
        border-bottom: 1px solid var(--border);
        height: var(--header-height);
    }

    .nav-item {
        flex-direction: row;
        gap: 6px;
    }

    .nav-item.active::before {
        top: auto;
        bottom: -1px;
        border-radius: 3px 3px 0 0;
    }

    .app-container {
        padding-top: calc(var(--header-height) + 20px);
        padding-bottom: 20px;
    }
}

/* --- Large Desktop --- */
@media (min-width: 1024px) {
    .screen {
        max-width: 700px;
    }
}

/* --- Safe area for notched phones --- */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .bottom-nav {
        padding-bottom: env(safe-area-inset-bottom);
        height: calc(var(--nav-height) + env(safe-area-inset-bottom));
    }

    .app-container {
        padding-bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 20px);
    }
}

/* --- Print --- */
@media print {

    .bottom-nav,
    .notification-container,
    .modal-overlay,
    .login-screen,
    .level-up-overlay,
    .penalty-zone-overlay {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }
}