.nav-toggle {
    display: none;
}

.freestyle-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
}

@media (max-width: 768px) {
    nav {
        padding: 0.25rem 0.75rem;
    }

    .nav-container {
        flex-direction: row;
        align-items: center;
        gap: 0;
    }

    .nav-brand {
        font-size: 1.25rem;
    }

    .nav-ready .nav-toggle {
        display: inline-flex;
        min-width: 64px;
        padding: 0.5rem 0.75rem;
        border: 1px solid #777;
        background: transparent;
        color: white;
        font: inherit;
        font-size: 0.813rem;
        text-transform: uppercase;
        cursor: pointer;
    }

    .nav-toggle:focus-visible,
    .nav-link:focus-visible {
        outline: 2px solid var(--accent-orange);
        outline-offset: 2px;
    }

    .nav-ready .nav-toggle[aria-expanded="false"] + .nav-links {
        display: none;
    }

    .nav-links {
        flex-basis: 100%;
        gap: 0.25rem;
        padding: 0.5rem 0;
    }

    .nav-link {
        text-align: left;
        padding: 0.5rem 0.75rem;
        justify-content: flex-start;
    }

    main {
        padding: 0.75rem;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .freestyle-container {
        padding: 0;
        width: 100%;
    }

    .dashboard-header, .history-header, .programs-header, .library-header,
    .records-header, .detail-header, .form-header, .profile-header,
    .login-header, .register-header, .code-header {
        margin-bottom: 1.25rem;
    }

    .dashboard-title, .history-title, .programs-title, .library-title,
    .library-header, .records-title, .exercise-title, .program-title, .workout-title, .form-title {
        font-size: 2.25rem;
        line-height: 1.05;
    }

    .library-header {
        margin-top: 0;
    }

    .dashboard-subtitle, .history-subtitle, .programs-subtitle, .library-subtitle {
        font-size: 0.813rem;
        letter-spacing: 0.02em;
    }

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        margin-bottom: 1.25rem;
    }

    .stat-card, .stat-box {
        padding: 0.75rem;
    }

    .stat-number {
        font-size: 2.25rem;
    }

    .content-grid, .detail-content, .profile-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        margin-bottom: 1.25rem;
    }

    .content-grid > *, .detail-content > *, .profile-grid > *,
    .program-grid > *, .exercise-grid > * {
        min-width: 0;
    }

    .card-body, .card-header, .content-section, .profile-section,
    .form-section, .login-form, .register-form, .code-form, .info-box,
    .search-section, .filter-section, .program-card, .session-card, .pr-card {
        padding: 0.875rem;
    }

    .exercise-card {
        padding: 0.875rem;
        margin-bottom: 0.75rem;
    }

    .exercise-card:has(.exercise-body) {
        padding: 0;
    }

    .section-header {
        gap: 0.5rem;
        flex-wrap: wrap;
        margin-bottom: 0.75rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .sessions-list, .records-list, .program-grid, .exercise-grid, .sidebar-info {
        gap: 0.75rem;
    }

    .program-grid, .exercise-grid, .search-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .filter-tabs {
        flex-wrap: wrap;
        margin-bottom: 1rem;
    }

    .filter-tab {
        min-width: 0;
        padding: 0.625rem 0.75rem;
    }

    .action-buttons, .form-actions {
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .btn {
        padding: 0.625rem 0.875rem;
    }

    .empty-state {
        padding: 1.5rem 0.75rem;
    }

    .login-container, .register-container, .profile-container, .code-container {
        margin: 0.75rem auto;
    }

    .form-group {
        margin-bottom: 1rem;
    }

    main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    main select, main textarea {
        min-width: 0;
        max-width: 100%;
        min-height: 44px;
        font-size: 16px !important;
    }

    .freestyle-container > div:first-child {
        margin-bottom: 1rem !important;
    }

    .freestyle-container > div:first-child > div {
        flex-wrap: wrap;
    }

    .freestyle-container > div:first-child h1 {
        font-size: 2rem !important;
    }

    .freestyle-container > div:has(#exercise-search-input),
    .freestyle-container .exercise-block > div {
        padding: 0.75rem !important;
    }

    .freestyle-container .exercise-block {
        margin-bottom: 0.75rem !important;
    }

    .exercise-block > div:first-child, .recorded-set, .recorded-set > div {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .sets-table-container {
        overflow-x: auto;
    }

    .flash-messages {
        margin-bottom: 0.75rem;
    }

    .flash-message {
        padding: 0.75rem;
        margin-bottom: 0.5rem;
    }

    footer {
        padding: 0.75rem;
        margin-top: 1.5rem;
    }

    .footer-content {
        gap: 0.25rem;
        font-size: 0.75rem;
    }
}
