/* --- БАЗА --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background: #0a0a12;
    color: #e0e0e8;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse at 30% 20%, #12122a 0%, #0a0a12 70%);
    z-index: 0;
    pointer-events: none;
}

/* --- ШАПКА --- */
.header {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 30px;
    background: rgba(10, 10, 18, 0.6);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.header-content h1 {
    font-size: 24px;
    font-weight: 700;
    background: linear-gradient(135deg, #6fb3ff, #4488ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.header-content .subtitle {
    font-size: 14px;
    color: #5a5a7a;
    margin-top: 2px;
}

.header-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.btn-random,
.btn-share,
.btn-dashboard,
.btn-nav {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #b0b0c8;
    padding: 8px 16px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    transition: all 0.3s ease;
}

.btn-random:hover,
.btn-share:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(111, 179, 255, 0.15);
    color: #ffffff;
    transform: translateY(-1px);
}

.btn-share {
    background: rgba(111, 179, 255, 0.08);
    border-color: rgba(111, 179, 255, 0.1);
}

.btn-dashboard {
    background: rgba(0, 184, 148, 0.08);
    border-color: rgba(0, 184, 148, 0.15);
    color: #00b894;
}

.btn-dashboard:hover {
    background: rgba(0, 184, 148, 0.18);
}

.btn-nav {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #b0b0c8;
}

.btn-nav:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    transform: translateY(-1px);
}

.btn-nav.active {
    background: rgba(111, 179, 255, 0.15);
    border-color: rgba(111, 179, 255, 0.3);
    color: #6fb3ff;
    font-weight: 600;
}

/* --- КНОПКА ТЕМЫ --- */
.btn-theme {
    background: rgba(255, 217, 61, 0.08);
    border: 1px solid rgba(255, 217, 61, 0.2);
    color: #ffd93d;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-family: inherit;
    padding: 0;
}

.btn-theme:hover {
    background: rgba(255, 217, 61, 0.2);
    transform: rotate(20deg) scale(1.1);
    box-shadow: 0 4px 16px rgba(255, 217, 61, 0.3);
}

/* --- ЦИТАТА --- */
/* 💬 Цитата дня — красивее */
.quote-section {
    position: relative;
    background: linear-gradient(135deg, 
        rgba(111, 179, 255, 0.08) 0%, 
        rgba(255, 107, 107, 0.06) 100%);
    border: 1px solid rgba(111, 179, 255, 0.15);
    border-radius: 16px;
    padding: 24px 28px;
    margin: 16px 30px;
    overflow: hidden;
}

.quote-section::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 10px;
    font-size: 120px;
    font-family: Georgia, serif;
    color: rgba(111, 179, 255, 0.15);
    line-height: 1;
    pointer-events: none;
}

.quote-section::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 107, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.quote-label {
    font-size: 11px;
    color: #6fb3ff;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 12px;
    opacity: 0.8;
}

.quote-text {
    font-size: 18px;
    font-style: italic;
    font-weight: 500;
    color: #f0f0ff;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    animation: quoteFadeIn 0.6s ease;
}

.quote-author {
    font-size: 13px;
    color: #7a7a9a;
    margin-top: 8px;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

@keyframes quoteFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- ЧЕЛЛЕНДЖИ --- */
.challenges-section {
    position: relative;
    z-index: 10;
    padding: 12px 30px;
    background: rgba(10, 10, 18, 0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    /* 🔧 Может быть лишний margin */
    /* margin-top: -X; ← проверь */

    
    /* 🔧 Фикс высоты */
    height: 217px;              /* ← фиксированная */
    min-height: 217px;
    max-height: 217px;
    overflow: hidden;
    contain: layout;            /* ← изолирует layout */
    box-sizing: border-box;     /* ← учитывает padding */
}

.challenges-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.challenges-title {
    font-size: 12px;
    font-weight: 700;
    color: #fd79a8;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.challenges-hint {
    font-size: 11px;
    color: #4a4a6a;
    font-style: italic;
}

.challenges-scroll {
   display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
    height: 100%;
    align-items: stretch;
    justify-content: center;      /* ← центрируем */
    
    scrollbar-width: none;
    -ms-overflow-style: none;
    
    /* 🔧 Защита от обрезки при скролле */
    padding-left: 20px;
    padding-right: 20px;
}

.challenges-scroll::-webkit-scrollbar { height: 4px; }
.challenges-scroll::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

/* 🔥 Челленджи — ярче */
.challenge-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 16px;
    transition: 
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
}

.challenge-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 107, 107, 0.3);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.challenge-card.completed {
    background: linear-gradient(135deg, 
        rgba(0, 184, 148, 0.08) 0%, 
        rgba(111, 179, 255, 0.06) 100%);
    border-color: rgba(0, 184, 148, 0.3);
}

.challenge-emoji {
    font-size: 32px;
    margin-bottom: 8px;
    display: block;
}

.challenge-name {
    font-size: 14px;
    font-weight: 600;
    color: #e0e0ff;
    margin-bottom: 10px;
}

.challenge-progress {
    height: 6px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 8px;
    position: relative;
}

.challenge-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #ff4757, #ff6b8a, #ff6b6b);
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    box-shadow: 0 0 12px rgba(255, 71, 87, 0.5);
}

.challenge-progress-bar::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.challenge-card.completed .challenge-progress-bar {
    background: linear-gradient(90deg, #00b894, #55efc4);
    box-shadow: 0 0 12px rgba(0, 184, 148, 0.5);
}

.challenge-counter {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a9a;
}

.challenge-counter .done {
    color: #00b894;
    font-weight: 600;
}
/* --- ПОИСК --- */
.search-section {
    position: relative;
    z-index: 10;
    padding: 12px 20px;
    background: rgba(10, 10, 18, 0.4);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    position: sticky;
    top: 0;
}

#searchInput {
    width: 100%;
    max-width: 600px;
    display: block;
    margin: 0 auto;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 30px;
    font-size: 15px;
    color: #e0e0e8;
    outline: none;
    transition: all 0.3s ease;
}

#searchInput::placeholder { color: #4a4a6a; }

#searchInput:focus {
    border-color: rgba(111, 179, 255, 0.2);
    background: rgba(255, 255, 255, 0.06);
}

/* --- ОСНОВНОЙ КОНТЕНТ --- */
.main-content {
    /* position: relative — оставить если нужна для внутренних absolute */
    /* z-index: 10 — УБРАТЬ (не нужен) */
    position: relative;
    z-index: 10;
    flex: 1;
    display: block;
    height: calc(100vh - 320px);
    min-height: 500px;
    overflow: hidden;
}

.view-muscles {
    display: grid;
    grid-template-columns: 260px 1fr 1fr;
    gap: 0;
    width: 100%;
    height: 100%;
}

.view-recovery {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    width: 100%;
    height: 100%;
}

/* --- СПИСОК МЫШЦ --- */
.muscle-list {
    background: rgba(10, 10, 18, 0.5);
    backdrop-filter: blur(16px);
    border-right: 1px solid rgba(255, 255, 255, 0.03);
    overflow-y: auto;
    padding: 8px 0;
}

.muscle-list::-webkit-scrollbar { width: 4px; }
.muscle-list::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.list-filter-bar {
    padding: 8px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.list-filter-btn {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #8a8aaa;
    padding: 4px 10px;
    border-radius: 16px;
    cursor: pointer;
    font-size: 10px;
    font-family: inherit;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.list-filter-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #c0c0d8;
}

.list-filter-btn.active {
    background: rgba(255, 217, 61, 0.12);
    border-color: rgba(255, 217, 61, 0.25);
    color: #ffd93d;
    font-weight: 600;
}

/* 🎴 Список мышц — карточки */
.muscle-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
}

.list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    cursor: pointer;
    transition: 
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
}

.list-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #ff6b6b, #c44569);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.list-item:hover {
    transform: translateX(4px);
    background: rgba(255, 107, 107, 0.06);
    border-color: rgba(255, 107, 107, 0.25);
    box-shadow: 0 4px 16px rgba(255, 107, 107, 0.15);
}

.list-item:hover::before {
    opacity: 1;
}

.list-item.active {
    background: rgba(255, 107, 107, 0.1);
    border-color: rgba(255, 107, 107, 0.4);
    box-shadow: 0 4px 20px rgba(255, 107, 107, 0.2);
}

.list-item.active::before {
    opacity: 1;
}

.list-item-content {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.color-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 8px currentColor;
}

.list-item-content span {
    font-size: 13px;
    font-weight: 500;
    color: #d0d0e0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.group-tag {
    font-size: 10px;
    color: #5a5a7a;
    background: rgba(255, 255, 255, 0.04);
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* --- МАНЕКЕН --- */
.body-view {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: rgba(10, 10, 18, 0.2);
    padding: 40px 20px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.03);
    overflow-y: auto;
}

.body-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.body-image-container {
    position: relative;
    max-width: 374px;
    width: 100%;
    aspect-ratio: 707 / 1412;   /* ← ДОБАВЛЕНО */
    margin: 0 auto;
}
.body-image-container img#bodyImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    transition: opacity 0.4s ease;
    position: relative;
    z-index: 1;
}

.body-overlays {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
}

.body-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.35s ease, filter 0.35s ease;
}

.body-overlay.active {
    opacity: 1;
    filter: 
        drop-shadow(0 0 6px rgba(255, 255, 255, 0.9))
        drop-shadow(0 0 14px rgba(111, 179, 255, 0.9))
        drop-shadow(0 0 28px rgba(111, 179, 255, 0.6))
        brightness(1.4)
        saturate(1.5);
    animation: muscleGlow 2s ease-in-out infinite;
}

@keyframes muscleGlow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.92; }
}

.view-toggle-btn {
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 30px;
    color: #b0b0c8;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
}

.view-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.10);
    color: #ffffff;
}

/* --- ПАНЕЛЬ ИНФОРМАЦИИ --- */
.info-panel {
    background: rgba(10, 10, 18, 0.3);
    overflow-y: auto;
    padding: 40px 28px 20px;
}

.muscle-card {
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
}

.muscle-card .card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 6px;
}

.card-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.muscle-card .card-name {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
}

.muscle-card .card-latin {
    font-size: 14px;
    color: #5a5a7a;
    font-style: italic;
    margin-bottom: 12px;
}

.muscle-card .card-group {
    font-size: 11px;
    padding: 4px 14px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.card-favorite {
    background: none;
    border: none;
    color: #4a4a6a;
    font-size: 22px;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0 4px;
    line-height: 1;
}

.card-favorite:hover {
    color: #ffd93d;
    transform: scale(1.15);
}

.card-favorite.active {
    color: #ffd93d;
    text-shadow: 0 0 12px rgba(255, 217, 61, 0.6);
}

.muscle-card .card-views {
    font-size: 12px;
    color: #4a4a6a;
    margin-top: 4px;
}

.muscle-card .card-views span {
    color: #6fb3ff;
    font-weight: 600;
}

.muscle-card .card-function {
    background: rgba(111, 179, 255, 0.04);
    border: 1px solid rgba(111, 179, 255, 0.06);
    padding: 12px 16px;
    border-radius: 10px;
    margin: 14px 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #b0b0c8;
}

.muscle-card .card-description {
    font-size: 14px;
    line-height: 1.7;
    color: #8a8aaa;
    margin-bottom: 16px;
}

/* --- ФИЛЬТР --- */
.exercises-block {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.exercises-block h3 {
    font-size: 12px;
    font-weight: 600;
    color: #5a5a7a;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 10px;
}

.equipment-filter {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.filter-btn {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #8a8aaa;
    padding: 5px 12px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 11px;
    font-family: inherit;
    transition: all 0.3s ease;
}

.filter-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #c0c0d8;
}

.filter-btn.active {
    background: rgba(111, 179, 255, 0.12);
    border-color: rgba(111, 179, 255, 0.25);
    color: #6fb3ff;
    font-weight: 600;
}

/* --- СПИСОК УПРАЖНЕНИЙ --- */
.exercises-list {
    display: block;
    max-height: 500px;
    overflow-y: auto;
    padding-right: 4px;
}

.exercises-list::-webkit-scrollbar { width: 4px; }
.exercises-list::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.exercise-card {
    display: block;
    width: 100%;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    cursor: pointer;
    margin-bottom: 8px;
    overflow: hidden;
    
    /* 🎴 Плавные переходы */
    transition: 
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease;
}

.exercise-card:hover {
    /* 🎴 Приподнимается + тень */
    transform: translateY(-4px);
    box-shadow: 
        0 12px 32px rgba(0, 0, 0, 0.4),
        0 4px 12px rgba(255, 71, 87, 0.15);
    border-color: rgba(255, 71, 87, 0.3);
    background: rgba(255, 255, 255, 0.05);
}
.exercise-card.expanded {
    background: rgba(111, 179, 255, 0.05);
    border-color: rgba(111, 179, 255, 0.25);
}

.exercise-card.completed {
    border-left: 3px solid #00b894;
}

.exercise-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    min-height: 70px;
}

.exercise-image {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.exercise-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.exercise-info { flex: 1; min-width: 0; }

.exercise-name {
    font-size: 13px;
    font-weight: 600;
    color: #e0e0e8;
    margin-bottom: 2px;
    line-height: 1.35;
    word-break: break-word;
}

.exercise-name-en {
    font-size: 10px;
    color: #5a5a7a;
    font-style: italic;
    margin-bottom: 3px;
    line-height: 1.3;
    opacity: 0.75;
    word-break: break-word;
}

.exercise-equipment { font-size: 11px; color: #6fb3ff; }

.exercise-toggle {
    color: #5a5a7a;
    font-size: 14px;
    flex-shrink: 0;
}

.exercise-card.expanded .exercise-toggle { color: #6fb3ff; }

/* --- ДЕТАЛИ --- */
.exercise-details {
    display: none;
    padding: 0 12px 12px;
}

.exercise-card.expanded .exercise-details { display: block; }

.exercise-gif {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.3);
    cursor: zoom-in;
    transition: all 0.3s ease;
}

.exercise-gif:hover { background: rgba(0, 0, 0, 0.4); }

.exercise-gif img {
    display: block;
    max-width: 280px;
    max-height: 280px;
    width: auto;
    height: auto;
    border-radius: 8px;
}

.exercise-instructions {
    font-size: 13px;
    color: #b0b0c8;
    line-height: 1.65;
}

.instructions-title {
    font-size: 11px;
    color: #6fb3ff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    font-weight: 600;
}

.exercise-instructions ol { padding-left: 20px; margin: 0; }
.exercise-instructions li { margin-bottom: 6px; }

.exercise-attribution {
    font-size: 9px;
    color: #3a3a5a;
    margin-top: 10px;
    font-style: italic;
}

/* --- КНОПКА ВЫПОЛНИЛ --- */
.exercise-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.btn-complete {
    flex: 1;
    padding: 10px 16px;
    background: rgba(0, 184, 148, 0.1);
    border: 1px solid rgba(0, 184, 148, 0.25);
    color: #00b894;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn-complete:hover {
    background: rgba(0, 184, 148, 0.2);
    transform: translateY(-1px);
}

.btn-complete.done {
    background: rgba(0, 184, 148, 0.25);
    color: #ffffff;
    border-color: #00b894;
}

.no-exercises {
    text-align: center;
    padding: 20px;
    color: #4a4a6a;
    font-size: 13px;
}

/* --- КАРТИНКА МЫШЦЫ --- */
.muscle-image-block {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.muscle-image-title {
    font-size: 12px;
    font-weight: 600;
    color: #5a5a7a;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
}

.muscle-image-block img {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    display: block;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    padding: 10px;
}

/* ============================================
   МОДАЛЬНОЕ ОКНО GIF
   ============================================ */
.gif-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.gif-modal.show { display: flex; }

.gif-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.gif-modal-content {
    position: relative;
    z-index: 1;
    max-width: 98vw;
    max-height: 98vh;
    background: rgba(16, 16, 32, 0.95);
    border: 1px solid rgba(111, 179, 255, 0.3);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    box-shadow: 0 20px 100px rgba(0, 0, 0, 0.9);
}

.gif-modal-title {
    font-size: 14px;
    font-weight: 600;
    color: #b0b0c8;
    text-align: center;
    max-width: 90%;
    margin-bottom: 4px;
}

.gif-modal-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
    width: auto !important;
    height: auto !important;
    max-width: 95vw !important;
    max-height: 88vh !important;
}

.gif-modal-image img,
.gif-modal img {
    width: 90vw !important;
    max-width: 95vw !important;
    max-height: 88vh !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    image-rendering: pixelated !important;
    flex-shrink: 0 !important;
}

.gif-modal-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ff4646;
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 2;
}

.gif-modal-close:hover {
    background: #ff2020;
    transform: scale(1.1) rotate(90deg);
    box-shadow: 0 8px 30px rgba(255, 70, 70, 0.6);
}

.gif-modal-hint {
    font-size: 11px;
    color: #5a5a7a;
    font-style: italic;
}

/* ============================================
   МОДАЛКА ПРОГРЕССА
   ============================================ */
.dashboard-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9998;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.dashboard-modal.show { display: flex; }

.dashboard-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.dashboard-content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    background: rgba(16, 16, 32, 0.98);
    border: 1px solid rgba(111, 179, 255, 0.2);
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.8);
}

.dashboard-content::-webkit-scrollbar { width: 4px; }
.dashboard-content::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.dashboard-title {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    text-align: center;
}

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.stat-card {
    background: rgba(111, 179, 255, 0.05);
    border: 1px solid rgba(111, 179, 255, 0.1);
    border-radius: 12px;
    padding: 14px;
    text-align: center;
}

.stat-value {
    font-size: 28px;
    font-weight: 700;
    background: linear-gradient(135deg, #6fb3ff, #fd79a8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
}

.stat-label {
    font-size: 11px;
    color: #5a5a7a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

.dashboard-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.dashboard-section-title {
    font-size: 12px;
    font-weight: 600;
    color: #5a5a7a;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
}

.dashboard-achievements {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.achievement-badge {
    background: rgba(255, 217, 61, 0.08);
    border: 1px solid rgba(255, 217, 61, 0.2);
    color: #ffd93d;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.achievement-badge.locked {
    background: rgba(255, 255, 255, 0.02);
    border-color: rgba(255, 255, 255, 0.06);
    color: #4a4a6a;
    opacity: 0.6;
}

.dashboard-history {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 200px;
    overflow-y: auto;
}

.history-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 8px;
    font-size: 12px;
}

.history-item-name { color: #c0c0d8; flex: 1; }
.history-item-date { color: #5a5a7a; font-size: 10px; }

.dashboard-close {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ff4646;
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.dashboard-close:hover {
    background: #ff2020;
    transform: scale(1.1) rotate(90deg);
}

/* --- TOAST --- */
.toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(60px);
    background: rgba(16, 16, 32, 0.95);
    border: 1px solid rgba(111, 179, 255, 0.2);
    color: #e0e0e8;
    padding: 12px 24px;
    border-radius: 30px;
    font-size: 14px;
    z-index: 10000;
    opacity: 0;
    transition: all 0.4s ease;
    pointer-events: none;
}

.toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* --- УВЕДОМЛЕНИЕ О ДОСТИЖЕНИИ --- */
.achievement-toast {
    position: fixed;
    top: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(-100px);
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.15), rgba(253, 121, 168, 0.15));
    border: 2px solid rgba(255, 217, 61, 0.5);
    color: #ffffff;
    padding: 16px 24px;
    border-radius: 16px;
    font-size: 14px;
    z-index: 10001;
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 
        0 8px 40px rgba(255, 217, 61, 0.3),
        0 0 60px rgba(253, 121, 168, 0.2);
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 280px;
    backdrop-filter: blur(10px);
}

.achievement-toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.achievement-toast-icon {
    font-size: 36px;
    flex-shrink: 0;
    animation: achievementPulse 1.5s ease-in-out infinite;
}

@keyframes achievementPulse {
    0%, 100% { transform: scale(1) rotate(-5deg); }
    50% { transform: scale(1.15) rotate(5deg); }
}

.achievement-toast-text { flex: 1; }

.achievement-toast-label {
    font-size: 10px;
    font-weight: 700;
    color: #ffd93d;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.achievement-toast-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}

/* --- КНОПКА СБРОСА ПРОГРЕССА --- */
.dashboard-reset {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    text-align: center;
}

.btn-reset-progress {
    background: rgba(255, 70, 70, 0.08);
    border: 1px solid rgba(255, 70, 70, 0.2);
    color: #ff6b6b;
    padding: 10px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
}

.btn-reset-progress:hover {
    background: rgba(255, 70, 70, 0.2);
    border-color: rgba(255, 70, 70, 0.4);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(255, 70, 70, 0.2);
}

/* --- ПОДВАЛ --- */
.footer {
    position: relative;
    z-index: 10;
    background: rgba(10, 10, 18, 0.4);
    color: #3a3a5a;
    text-align: center;
    padding: 10px 20px;
    font-size: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
}

.footer-disclaimer {
    max-width: 900px;
    margin: 0 auto 12px;
    padding: 12px 20px;
    background: rgba(255, 217, 61, 0.06);
    border: 1px solid rgba(255, 217, 61, 0.15);
    border-radius: 12px;
    color: #b0b0c8;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

.footer-disclaimer strong { color: #ffd93d; }

.footer-copy {
    color: #3a3a5a;
    font-size: 12px;
    margin-top: 8px;
}

/* --- КАЛЕНДАРЬ АКТИВНОСТИ --- */
.activity-calendar {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 6px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 12px;
    margin-bottom: 12px;
}

.calendar-day {
    aspect-ratio: 1;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}

.calendar-day:hover {
    transform: scale(1.15);
    border-color: rgba(111, 179, 255, 0.4);
    z-index: 2;
}

.calendar-day.active {
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    border-color: rgba(0, 184, 148, 0.6);
    box-shadow: 0 0 12px rgba(0, 184, 148, 0.4);
}

.calendar-day.today {
    border: 2px solid #ffd93d;
    box-shadow: 0 0 16px rgba(255, 217, 61, 0.5);
}

.calendar-day.today::after {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 8px;
    height: 8px;
    background: #ffd93d;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(255, 217, 61, 0.8);
}

.calendar-legend {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 8px 12px;
    font-size: 11px;
    color: #8a8aaa;
}

.calendar-legend-item { display: flex; align-items: center; gap: 6px; }

.calendar-legend-dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    display: inline-block;
}

.calendar-legend-dot.active {
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    border-color: rgba(0, 184, 148, 0.6);
    box-shadow: 0 0 8px rgba(0, 184, 148, 0.4);
}

.calendar-legend-summary { color: #6fb3ff; font-size: 11px; }
.calendar-legend-summary strong { color: #ffffff; }

/* --- ЭКСПОРТ / ИМПОРТ --- */
.data-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.btn-data {
    flex: 1;
    min-width: 160px;
    padding: 12px 16px;
    background: rgba(111, 179, 255, 0.06);
    border: 1px solid rgba(111, 179, 255, 0.2);
    color: #6fb3ff;
    border-radius: 12px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn-data:hover {
    background: rgba(111, 179, 255, 0.15);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(111, 179, 255, 0.15);
}

.btn-export {
    background: rgba(0, 184, 148, 0.08);
    border-color: rgba(0, 184, 148, 0.25);
    color: #00b894;
}

.btn-export:hover {
    background: rgba(0, 184, 148, 0.18);
    box-shadow: 0 6px 20px rgba(0, 184, 148, 0.2);
}

.btn-import {
    background: rgba(255, 217, 61, 0.08);
    border-color: rgba(255, 217, 61, 0.25);
    color: #ffd93d;
}

.btn-import:hover {
    background: rgba(255, 217, 61, 0.18);
    box-shadow: 0 6px 20px rgba(255, 217, 61, 0.2);
}

/* --- ВОССТАНОВЛЕНИЕ --- */
.recovery-header {
    position: relative;
    z-index: 10;
    padding: 16px 30px;
    background: linear-gradient(135deg, rgba(253, 121, 168, 0.06), rgba(108, 92, 231, 0.06));
    border-bottom: 1px solid rgba(253, 121, 168, 0.1);
}

.recovery-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
}

.recovery-warning {
    font-size: 12px;
    color: #ffd93d;
    background: rgba(255, 217, 61, 0.08);
    border: 1px solid rgba(255, 217, 61, 0.2);
    padding: 10px 14px;
    border-radius: 10px;
    line-height: 1.5;
}

.recovery-warning strong { color: #ffffff; }

.recovery-list {
    background: rgba(10, 10, 18, 0.5);
    backdrop-filter: blur(16px);
    border-right: 1px solid rgba(255, 255, 255, 0.03);
    overflow-y: auto;
    padding: 8px 0;
}

.recovery-list::-webkit-scrollbar { width: 4px; }
.recovery-list::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.recovery-list-title {
    font-size: 10px;
    font-weight: 700;
    color: #5a5a7a;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 8px 16px 12px;
}

.recovery-item {
    padding: 12px 16px;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #8a8aaa;
}

.recovery-item:hover {
    background: rgba(255, 255, 255, 0.03);
    border-left-color: rgba(253, 121, 168, 0.3);
    color: #c0c0d8;
}

.recovery-item.active {
    background: rgba(253, 121, 168, 0.06);
    border-left-color: #fd79a8;
    color: #fd79a8;
}

.recovery-icon { font-size: 24px; flex-shrink: 0; }
.recovery-item-info { flex: 1; min-width: 0; }

.recovery-item-name {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 2px;
}

.recovery-item-subtitle {
    font-size: 10px;
    color: #5a5a7a;
    line-height: 1.3;
}

.recovery-item.active .recovery-item-subtitle {
    color: #fd79a8;
    opacity: 0.7;
}

.recovery-content {
    background: rgba(10, 10, 18, 0.3);
    overflow-y: auto;
    padding: 40px;
}

.recovery-content::-webkit-scrollbar { width: 6px; }
.recovery-content::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.recovery-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}

.recovery-card {
    max-width: 800px;
    margin: 0 auto;
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
}

.recovery-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.recovery-card-icon { font-size: 48px; flex-shrink: 0; }

.recovery-card-title {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.recovery-card-subtitle {
    font-size: 14px;
    color: #5a5a7a;
    font-style: italic;
}

.recovery-warning-box {
    background: rgba(255, 217, 61, 0.06);
    border: 1px solid rgba(255, 217, 61, 0.2);
    color: #ffd93d;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 24px;
}

.recovery-phases { display: flex; flex-direction: column; gap: 12px; }

.recovery-phase {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.recovery-phase.open {
    background: rgba(253, 121, 168, 0.04);
    border-color: rgba(253, 121, 168, 0.2);
}

.recovery-phase-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.recovery-phase-header:hover { background: rgba(255, 255, 255, 0.03); }

.recovery-phase-title {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
}

.recovery-phase-toggle {
    color: #5a5a7a;
    font-size: 12px;
    transition: all 0.3s ease;
}

.recovery-phase.open .recovery-phase-toggle { color: #fd79a8; }

.recovery-phase-description {
    font-size: 13px;
    color: #8a8aaa;
    padding: 0 20px 12px;
    line-height: 1.5;
}

.recovery-phase-exercises {
    display: none;
    padding: 0 20px 16px;
    flex-direction: column;
    gap: 10px;
}

.recovery-phase.open .recovery-phase-exercises { display: flex; }

.recovery-exercise {
    background: rgba(255, 255, 255, 0.02);
    border-left: 3px solid #6fb3ff;
    border-radius: 8px;
    padding: 12px 14px;
    transition: all 0.3s ease;
}

.recovery-exercise:hover { background: rgba(111, 179, 255, 0.05); }

.recovery-exercise-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 6px;
}

.recovery-exercise-name {
    font-size: 13px;
    font-weight: 600;
    color: #e0e0e8;
    flex: 1;
}

.recovery-exercise-duration {
    font-size: 11px;
    color: #6fb3ff;
    background: rgba(111, 179, 255, 0.1);
    padding: 2px 10px;
    border-radius: 12px;
    white-space: nowrap;
    flex-shrink: 0;
}

.recovery-exercise-description {
    font-size: 12px;
    color: #8a8aaa;
    line-height: 1.5;
}

/* --- ПИТАНИЕ --- */
.view-nutrition {
    background: rgba(10, 10, 18, 0.3);
    overflow-y: auto;
    padding: 30px;
    height: 100%;
}

.nutrition-container { max-width: 1100px; margin: 0 auto; }

.nutrition-header { text-align: center; margin-bottom: 30px; }

.nutrition-title {
    font-size: 28px;
    font-weight: 700;
    background: linear-gradient(135deg, #00b894, #6fb3ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
}

.nutrition-subtitle { font-size: 14px; color: #5a5a7a; }

.nutrition-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.nutrition-card {
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
    margin-bottom: 20px;
}

.nutrition-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.nutrition-field { margin-bottom: 16px; }

.nutrition-field label {
    display: block;
    font-size: 12px;
    color: #8a8aaa;
    margin-bottom: 6px;
    font-weight: 500;
}

.nutrition-field input,
.nutrition-field select {
    width: 100%;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    font-size: 14px;
    color: #e0e0e8;
    outline: none;
    font-family: inherit;
    transition: all 0.3s ease;
}

.nutrition-field input:focus,
.nutrition-field select:focus {
    border-color: rgba(111, 179, 255, 0.3);
    background: rgba(255, 255, 255, 0.06);
}

.nutrition-toggle { display: flex; gap: 8px; }

.toggle-btn {
    flex: 1;
    padding: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #8a8aaa;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-family: inherit;
    transition: all 0.3s ease;
}

.toggle-btn.active {
    background: rgba(0, 184, 148, 0.15);
    border-color: rgba(0, 184, 148, 0.4);
    color: #00b894;
    font-weight: 600;
}

.goal-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.goal-btn {
    padding: 12px 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.goal-btn.active {
    background: rgba(111, 179, 255, 0.15);
    border-color: rgba(111, 179, 255, 0.4);
}

.goal-icon { font-size: 20px; }

.goal-name {
    font-size: 11px;
    color: #8a8aaa;
    text-align: center;
}

.goal-btn.active .goal-name {
    color: #6fb3ff;
    font-weight: 600;
}

.nutrition-main-stat { text-align: center; padding: 20px 0; margin-bottom: 20px; }

.nutrition-kcal {
    font-size: 56px;
    font-weight: 700;
    background: linear-gradient(135deg, #00b894, #6fb3ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.nutrition-kcal-label {
    font-size: 14px;
    color: #5a5a7a;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.macros-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}

.macro-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    transition: all 0.3s ease;
}

.macro-card.protein { border-color: rgba(255, 107, 107, 0.2); }
.macro-card.fat { border-color: rgba(255, 217, 61, 0.2); }
.macro-card.carbs { border-color: rgba(111, 179, 255, 0.2); }

.macro-icon { font-size: 24px; margin-bottom: 6px; }

.macro-value {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2px;
}

.macro-card.protein .macro-value { color: #ff6b6b; }
.macro-card.fat .macro-value { color: #ffd93d; }
.macro-card.carbs .macro-value { color: #6fb3ff; }

.macro-label {
    font-size: 11px;
    color: #5a5a7a;
    text-transform: uppercase;
}

.macro-percent {
    font-size: 11px;
    color: #8a8aaa;
    margin-top: 4px;
    font-weight: 600;
}

.nutrition-details {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
    padding: 12px 16px;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    font-size: 12px;
    color: #8a8aaa;
}

.detail-row strong { color: #c0c0d8; }

.meal-list { display: flex; flex-direction: column; gap: 10px; }

.meal-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
    border-left: 3px solid #00b894;
}

.meal-time {
    font-size: 13px;
    font-weight: 600;
    color: #00b894;
    min-width: 120px;
}

.meal-items {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.meal-item-name {
    font-size: 12px;
    color: #c0c0d8;
    line-height: 1.4;
}

.meal-kcal {
    font-size: 13px;
    font-weight: 700;
    color: #ffd93d;
    white-space: nowrap;
}

.food-tabs { display: flex; gap: 8px; margin-bottom: 16px; }

.food-tab {
    flex: 1;
    padding: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #8a8aaa;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-family: inherit;
    transition: all 0.3s ease;
}

.food-tab.active {
    background: rgba(111, 179, 255, 0.12);
    border-color: rgba(111, 179, 255, 0.3);
    color: #6fb3ff;
    font-weight: 600;
}

.food-list { display: flex; flex-direction: column; gap: 6px; }

.food-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.food-item:hover { background: rgba(255, 255, 255, 0.05); }

.food-name {
    font-size: 13px;
    color: #e0e0e8;
    font-weight: 500;
}

.food-stats {
    display: flex;
    gap: 12px;
    font-size: 11px;
    align-items: center;
}

.food-kcal { color: #ffd93d; font-weight: 600; }
.food-p { color: #ff6b6b; }
.food-f { color: #ffd93d; }
.food-c { color: #6fb3ff; }

.nutrition-warning {
    text-align: center;
    padding: 14px;
    background: rgba(255, 217, 61, 0.06);
    border: 1px solid rgba(255, 217, 61, 0.15);
    border-radius: 12px;
    font-size: 12px;
    color: #b0b0c8;
    margin-top: 20px;
}

/* --- ПРОГРАММЫ --- */
.view-programs {
    background: rgba(10, 10, 18, 0.3);
    overflow-y: auto;
    padding: 30px;
    height: 100%;
}

.programs-container { max-width: 1300px; margin: 0 auto; }

.programs-header { text-align: center; margin-bottom: 30px; }

.programs-title {
    font-size: 28px;
    font-weight: 700;
    background: linear-gradient(135deg, #ff6b6b, #fd79a8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
}

.programs-subtitle { font-size: 14px; color: #5a5a7a; }

.programs-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 20px;
}

.programs-list { display: flex; flex-direction: column; gap: 10px; }

.program-card {
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.program-card:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(111, 179, 255, 0.2);
    transform: translateX(3px);
}

.program-card.active {
    background: rgba(111, 179, 255, 0.08);
    border-color: rgba(111, 179, 255, 0.4);
    box-shadow: 0 0 20px rgba(111, 179, 255, 0.15);
}

.program-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 2px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.program-card-info { flex: 1; min-width: 0; }

.program-card-name {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2px;
}

.program-card-subtitle {
    font-size: 11px;
    color: #8a8aaa;
    margin-bottom: 8px;
    line-height: 1.3;
}

.program-card-meta { display: flex; gap: 6px; flex-wrap: wrap; }

.program-badge {
    font-size: 10px;
    color: #6fb3ff;
    background: rgba(111, 179, 255, 0.1);
    border: 1px solid rgba(111, 179, 255, 0.2);
    padding: 2px 8px;
    border-radius: 10px;
    white-space: nowrap;
}

.program-details-wrapper {
    background: rgba(16, 16, 32, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 16px;
    padding: 24px;
    min-height: 400px;
}

.program-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 400px;
    text-align: center;
}

.program-details-header {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 20px;
    background: rgba(255, 255, 255, 0.02);
    border-left: 4px solid;
    border-radius: 12px;
    margin-bottom: 20px;
}

.program-details-icon { font-size: 48px; flex-shrink: 0; }

.program-details-title {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.program-details-subtitle {
    font-size: 14px;
    color: #8a8aaa;
    font-style: italic;
    margin-bottom: 8px;
}

.program-details-meta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 12px;
    color: #6fb3ff;
}

.program-description {
    font-size: 14px;
    line-height: 1.7;
    color: #b0b0c8;
    padding: 16px;
    background: rgba(111, 179, 255, 0.04);
    border-radius: 10px;
    margin-bottom: 20px;
}

.program-section-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.program-days {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}

.program-day {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.program-day.open {
    background: rgba(111, 179, 255, 0.04);
    border-color: rgba(111, 179, 255, 0.2);
}

.program-day-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.program-day-header:hover { background: rgba(255, 255, 255, 0.03); }

.program-day-title {
    font-size: 14px;
    font-weight: 700;
    color: #e0e0e8;
}

.program-day-toggle { color: #5a5a7a; font-size: 12px; }
.program-day.open .program-day-toggle { color: #6fb3ff; }

.program-day-exercises {
    display: none;
    padding: 0 18px 14px;
    flex-direction: column;
    gap: 6px;
}

.program-day.open .program-day-exercises { display: flex; }

.program-exercise {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 8px;
    align-items: center;
    font-size: 13px;
}

.program-exercise-name { color: #c0c0d8; font-weight: 500; }
.program-exercise-sets { color: #00b894; font-weight: 700; white-space: nowrap; }
.program-exercise-rest { color: #5a5a7a; font-size: 11px; white-space: nowrap; }

.program-tips { display: flex; flex-direction: column; gap: 8px; }

.program-tip {
    padding: 10px 14px;
    background: rgba(255, 217, 61, 0.04);
    border-left: 3px solid #ffd93d;
    border-radius: 8px;
    font-size: 13px;
    color: #b0b0c8;
    line-height: 1.5;
}

/* --- ТРЕКЕР --- */
#workoutTracker {
    margin-top: 30px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
}

.tracker-card {
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 184, 148, 0.15);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
    margin-bottom: 20px;
}

.tracker-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tracker-title {
    font-size: 18px;
    font-weight: 700;
    color: #00b894;
    margin-bottom: 4px;
}

.tracker-date { font-size: 12px; color: #5a5a7a; }
.tracker-stats { display: flex; gap: 20px; }
.tracker-stat { text-align: center; }

.tracker-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}

.tracker-stat-label {
    font-size: 10px;
    color: #5a5a7a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

.tracker-empty {
    text-align: center;
    padding: 30px;
    color: #4a4a6a;
    font-size: 14px;
    line-height: 1.6;
}

.tracker-exercises { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }

.tracker-exercise {
    background: rgba(255, 255, 255, 0.02);
    border-left: 3px solid #00b894;
    border-radius: 10px;
    padding: 12px 16px;
}

.tracker-exercise-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    gap: 12px;
}

.tracker-exercise-name {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    flex: 1;
}

.tracker-exercise-stat {
    font-size: 11px;
    color: #6fb3ff;
    background: rgba(111, 179, 255, 0.1);
    padding: 3px 10px;
    border-radius: 12px;
    white-space: nowrap;
}

.tracker-sets { display: flex; flex-direction: column; gap: 4px; }

.tracker-set {
    display: grid;
    grid-template-columns: 24px 1fr 20px 1fr 24px;
    gap: 10px;
    align-items: center;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 6px;
    font-size: 12px;
}

.set-number { color: #5a5a7a; font-weight: 600; text-align: center; }
.set-weight { color: #00b894; font-weight: 700; }
.set-times { color: #5a5a7a; text-align: center; }
.set-reps { color: #6fb3ff; font-weight: 600; }

.set-remove {
    background: rgba(255, 70, 70, 0.1);
    border: none;
    color: #ff6b6b;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    padding: 0;
}

.set-remove:hover {
    background: rgba(255, 70, 70, 0.3);
    transform: scale(1.1);
}

.tracker-add {
    background: rgba(111, 179, 255, 0.04);
    border: 1px dashed rgba(111, 179, 255, 0.2);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 16px;
}

.tracker-add input {
    width: 100%;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    font-size: 13px;
    color: #e0e0e8;
    outline: none;
    font-family: inherit;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.tracker-add input:focus {
    border-color: rgba(111, 179, 255, 0.3);
    background: rgba(255, 255, 255, 0.06);
}

.tracker-add input::placeholder { color: #4a4a6a; }

.tracker-add-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 8px;
}

.tracker-add-row input { margin-bottom: 0; }

.btn-tracker-add {
    background: rgba(0, 184, 148, 0.15);
    border: 1px solid rgba(0, 184, 148, 0.3);
    color: #00b894;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-tracker-add:hover {
    background: rgba(0, 184, 148, 0.25);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0, 184, 148, 0.2);
}

.tracker-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.btn-tracker-save {
    flex: 1;
    min-width: 200px;
    background: linear-gradient(135deg, #00b894, #00cec9);
    border: none;
    color: #ffffff;
    padding: 14px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 184, 148, 0.3);
}

.btn-tracker-save:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 184, 148, 0.5);
}

.btn-tracker-clear {
    background: rgba(255, 70, 70, 0.08);
    border: 1px solid rgba(255, 70, 70, 0.2);
    color: #ff6b6b;
    padding: 14px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
}

.btn-tracker-clear:hover { background: rgba(255, 70, 70, 0.18); }

.workout-log {
    background: rgba(16, 16, 32, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
}

.log-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.log-count {
    font-size: 11px;
    color: #6fb3ff;
    background: rgba(111, 179, 255, 0.1);
    padding: 3px 10px;
    border-radius: 12px;
    font-weight: 600;
}

.log-empty {
    text-align: center;
    padding: 30px;
    color: #4a4a6a;
    font-size: 13px;
}

.log-entries {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 600px;
    overflow-y: auto;
    padding-right: 4px;
}

.log-entries::-webkit-scrollbar { width: 4px; }
.log-entries::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.log-day {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 16px;
}

.log-day-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 8px;
}

.log-date { font-size: 13px; font-weight: 700; color: #6fb3ff; }

.log-day-stats {
    font-size: 11px;
    color: #8a8aaa;
    background: rgba(255, 255, 255, 0.04);
    padding: 3px 10px;
    border-radius: 12px;
}

.log-day-exercises { display: flex; flex-direction: column; gap: 6px; }

.log-exercise {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 8px;
    font-size: 12px;
}

.log-ex-name { color: #c0c0d8; flex: 1; }
.log-ex-info { color: #8a8aaa; font-size: 11px; white-space: nowrap; }
.log-ex-info strong { color: #00b894; }

.btn-clear-log {
    width: 100%;
    margin-top: 16px;
    padding: 10px;
    background: rgba(255, 70, 70, 0.06);
    border: 1px solid rgba(255, 70, 70, 0.15);
    color: #ff6b6b;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
}

.btn-clear-log:hover { background: rgba(255, 70, 70, 0.15); }

/* --- ТАЙМЕР ОТДЫХА --- */
#restTimerContainer { margin-bottom: 20px; }

.rest-timer {
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(111, 179, 255, 0.15);
    border-radius: 16px;
    padding: 20px 24px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.rest-timer.active {
    border-color: rgba(0, 184, 148, 0.4);
    box-shadow: 0 8px 40px rgba(0, 184, 148, 0.15);
    animation: restPulse 2s ease-in-out infinite;
}

@keyframes restPulse {
    0%, 100% { box-shadow: 0 8px 40px rgba(0, 184, 148, 0.15); }
    50% { box-shadow: 0 8px 50px rgba(0, 184, 148, 0.3); }
}

.rest-timer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}

.rest-timer-title {
    font-size: 14px;
    font-weight: 700;
    color: #00b894;
}

.rest-timer-auto {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #8a8aaa;
    cursor: pointer;
    user-select: none;
}

.rest-timer-auto input { cursor: pointer; accent-color: #00b894; }

.rest-timer-main {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 16px;
}

.rest-timer-circle {
    position: relative;
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.rest-timer-circle svg {
    position: absolute;
    top: 0;
    left: 0;
}

.rest-timer-display {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    font-variant-numeric: tabular-nums;
}

.rest-timer.active .rest-timer-display {
    color: #00b894;
    animation: timerPulse 1s ease-in-out infinite;
}

@keyframes timerPulse {
    0%, 100% { transform: translate(-50%, -50%) scale(1); }
    50% { transform: translate(-50%, -50%) scale(1.08); }
}

.rest-timer-controls {
    flex: 1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.rest-btn {
    flex: 1;
    min-width: 120px;
    padding: 12px 16px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
    border: 1px solid;
}

.rest-btn:disabled { opacity: 0.4; cursor: not-allowed; }

.rest-btn.play {
    background: rgba(0, 184, 148, 0.15);
    border-color: rgba(0, 184, 148, 0.3);
    color: #00b894;
}

.rest-btn.play:hover:not(:disabled) {
    background: rgba(0, 184, 148, 0.25);
    transform: translateY(-1px);
}

.rest-btn.pause {
    background: rgba(255, 217, 61, 0.15);
    border-color: rgba(255, 217, 61, 0.3);
    color: #ffd93d;
}

.rest-btn.pause:hover:not(:disabled) { background: rgba(255, 217, 61, 0.25); }

.rest-btn.reset {
    background: rgba(255, 70, 70, 0.08);
    border-color: rgba(255, 70, 70, 0.2);
    color: #ff6b6b;
}

.rest-btn.reset:hover:not(:disabled) { background: rgba(255, 70, 70, 0.18); }

.rest-timer-presets {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.rest-preset {
    padding: 10px 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #8a8aaa;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
}

.rest-preset:hover {
    background: rgba(111, 179, 255, 0.1);
    border-color: rgba(111, 179, 255, 0.3);
    color: #6fb3ff;
    transform: translateY(-2px);
}

.rest-preset:active { transform: translateY(0) scale(0.98); }

/* ============================================
   СВЕТЛАЯ ТЕМА
   ============================================ */
:root {
    --bg-primary: #0a0a12;
    --bg-secondary: #12122a;
    --bg-card: rgba(16, 16, 32, 0.6);
    --bg-hover: rgba(255, 255, 255, 0.03);
    --text-primary: #e0e0e8;
    --text-secondary: #8a8aaa;
    --text-muted: #5a5a7a;
    --text-dim: #4a4a6a;
    --border-color: rgba(255, 255, 255, 0.04);
    --border-hover: rgba(255, 255, 255, 0.08);
    --shadow-color: rgba(0, 0, 0, 0.3);
    --accent: #6fb3ff;
    --accent-hover: rgba(111, 179, 255, 0.15);
}

[data-theme="light"] {
    --bg-primary: #f5f6fa;
    --bg-secondary: #eef0f6;
    --bg-card: rgba(255, 255, 255, 0.85);
    --bg-hover: rgba(0, 0, 0, 0.03);
    --text-primary: #1a1a2e;
    --text-secondary: #4a4a6a;
    --text-muted: #6a6a8a;
    --text-dim: #8a8aaa;
    --border-color: rgba(0, 0, 0, 0.06);
    --border-hover: rgba(0, 0, 0, 0.12);
    --shadow-color: rgba(0, 0, 0, 0.08);
    --accent: #4488ff;
    --accent-hover: rgba(68, 136, 255, 0.12);
}

body {
    background: var(--bg-primary);
    color: var(--text-primary);
    transition: background 0.4s ease, color 0.4s ease;
}

[data-theme="light"] body::before {
    background: radial-gradient(ellipse at 30% 20%, #e8ecf5 0%, #f5f6fa 70%);
}

[data-theme="light"] .header {
    background: rgba(255, 255, 255, 0.75);
    border-bottom-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .header-content h1 {
    background: linear-gradient(135deg, #4488ff, #6c5ce7);
    -webkit-background-clip: text;
    background-clip: text;
}

[data-theme="light"] .header-content .subtitle { color: #6a6a8a; }

[data-theme="light"] .btn-nav,
[data-theme="light"] .btn-random,
[data-theme="light"] .btn-share,
[data-theme="light"] .btn-dashboard {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #4a4a6a;
}

[data-theme="light"] .btn-nav:hover,
[data-theme="light"] .btn-random:hover,
[data-theme="light"] .btn-share:hover,
[data-theme="light"] .btn-dashboard:hover {
    background: rgba(0, 0, 0, 0.06);
    color: #1a1a2e;
}

[data-theme="light"] .btn-nav.active {
    background: rgba(68, 136, 255, 0.12);
    border-color: rgba(68, 136, 255, 0.3);
    color: #4488ff;
}

[data-theme="light"] .quote-section {
    background: linear-gradient(135deg, rgba(68, 136, 255, 0.06), rgba(108, 92, 231, 0.06));
    border-bottom-color: rgba(68, 136, 255, 0.1);
}

[data-theme="light"] .quote-text { color: #1a1a2e; }

[data-theme="light"] .challenges-section {
    background: rgba(255, 255, 255, 0.5);
    border-bottom-color: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .challenge-card {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .challenge-name { color: #1a1a2e; }

[data-theme="light"] .search-section {
    background: rgba(255, 255, 255, 0.7);
    border-bottom-color: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] #searchInput {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #1a1a2e;
}

[data-theme="light"] #searchInput::placeholder { color: #8a8aaa; }

[data-theme="light"] .muscle-list {
    background: rgba(255, 255, 255, 0.6);
    border-right-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .list-item { color: #4a4a6a; }

[data-theme="light"] .list-item:hover {
    background: rgba(0, 0, 0, 0.03);
    color: #1a1a2e;
}

[data-theme="light"] .list-item.active {
    background: rgba(68, 136, 255, 0.1);
    border-left-color: #4488ff;
    color: #4488ff;
}

[data-theme="light"] .list-item .group-tag {
    background: rgba(0, 0, 0, 0.04);
    color: #6a6a8a;
}

[data-theme="light"] .body-view {
    background: rgba(255, 255, 255, 0.3);
    border-right-color: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .view-toggle-btn {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.08);
    color: #4a4a6a;
}

[data-theme="light"] .view-toggle-btn:hover {
    background: rgba(0, 0, 0, 0.08);
    color: #1a1a2e;
}

[data-theme="light"] .info-panel { background: rgba(255, 255, 255, 0.4); }

[data-theme="light"] .muscle-card,
[data-theme="light"] .nutrition-card,
[data-theme="light"] .tracker-card,
[data-theme="light"] .workout-log,
[data-theme="light"] .program-details-wrapper {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .card-name,
[data-theme="light"] .nutrition-card-title,
[data-theme="light"] .tracker-title,
[data-theme="light"] .log-title,
[data-theme="light"] .program-details-title {
    color: #1a1a2e;
}

[data-theme="light"] .card-latin,
[data-theme="light"] .card-views,
[data-theme="light"] .nutrition-subtitle,
[data-theme="light"] .tracker-date,
[data-theme="light"] .program-details-subtitle {
    color: #6a6a8a;
}

[data-theme="light"] .card-function {
    background: rgba(68, 136, 255, 0.06);
    border-color: rgba(68, 136, 255, 0.12);
    color: #4a4a6a;
}

[data-theme="light"] .card-description { color: #6a6a8a; }

[data-theme="light"] .exercise-card {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .exercise-card:hover {
    background: rgba(68, 136, 255, 0.05);
    border-color: rgba(68, 136, 255, 0.2);
}

[data-theme="light"] .exercise-card.expanded {
    background: rgba(68, 136, 255, 0.06);
    border-color: rgba(68, 136, 255, 0.25);
}

[data-theme="light"] .exercise-name { color: #1a1a2e; }
[data-theme="light"] .exercise-name-en { color: #8a8aaa; }
[data-theme="light"] .exercise-details { color: #4a4a6a; }
[data-theme="light"] .exercise-instructions { color: #4a4a6a; }
[data-theme="light"] .exercise-toggle { color: #8a8aaa; }
[data-theme="light"] .exercise-card.expanded .exercise-toggle { color: #4488ff; }
[data-theme="light"] .exercise-actions { border-top-color: rgba(0, 0, 0, 0.06); }

[data-theme="light"] .btn-complete {
    background: rgba(0, 184, 148, 0.1);
    border-color: rgba(0, 184, 148, 0.3);
    color: #00a884;
}

[data-theme="light"] .equipment-filter .filter-btn {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #6a6a8a;
}

[data-theme="light"] .equipment-filter .filter-btn.active {
    background: rgba(68, 136, 255, 0.12);
    border-color: rgba(68, 136, 255, 0.3);
    color: #4488ff;
}

[data-theme="light"] .list-filter-btn {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #6a6a8a;
}

[data-theme="light"] .list-filter-btn.active {
    background: rgba(255, 217, 61, 0.15);
    border-color: rgba(255, 217, 61, 0.4);
    color: #b8941a;
}

[data-theme="light"] .footer {
    background: rgba(255, 255, 255, 0.6);
    border-top-color: rgba(0, 0, 0, 0.04);
    color: #6a6a8a;
}

[data-theme="light"] .footer-disclaimer {
    background: rgba(255, 217, 61, 0.12);
    border-color: rgba(255, 217, 61, 0.3);
    color: #4a4a6a;
}

[data-theme="light"] .footer-disclaimer strong { color: #b8941a; }

[data-theme="light"] .dashboard-content {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(68, 136, 255, 0.2);
}

[data-theme="light"] .dashboard-title { color: #1a1a2e; }

[data-theme="light"] .stat-card {
    background: rgba(68, 136, 255, 0.06);
    border-color: rgba(68, 136, 255, 0.15);
}

[data-theme="light"] .stat-label,
[data-theme="light"] .dashboard-section-title { color: #6a6a8a; }

[data-theme="light"] .stat-value {
    background: linear-gradient(135deg, #4488ff, #fd79a8);
    -webkit-background-clip: text;
    background-clip: text;
}

[data-theme="light"] .history-item { background: rgba(0, 0, 0, 0.03); }
[data-theme="light"] .history-item-name { color: #4a4a6a; }

[data-theme="light"] .calendar-day {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .calendar-day.active {
    background: linear-gradient(135deg, #4488ff, #00b894);
    border-color: rgba(0, 184, 148, 0.6);
}

[data-theme="light"] .calendar-legend { color: #6a6a8a; }

[data-theme="light"] .data-actions .btn-data {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #4a4a6a;
}

[data-theme="light"] .btn-export {
    background: rgba(0, 184, 148, 0.1);
    border-color: rgba(0, 184, 148, 0.3);
    color: #00a884;
}

[data-theme="light"] .btn-import {
    background: rgba(255, 217, 61, 0.15);
    border-color: rgba(255, 217, 61, 0.4);
    color: #b8941a;
}

[data-theme="light"] .recovery-header {
    background: linear-gradient(135deg, rgba(253, 121, 168, 0.08), rgba(108, 92, 231, 0.08));
}

[data-theme="light"] .recovery-title { color: #1a1a2e; }

[data-theme="light"] .recovery-list {
    background: rgba(255, 255, 255, 0.6);
    border-right-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .recovery-item { color: #4a4a6a; }

[data-theme="light"] .recovery-item:hover {
    background: rgba(0, 0, 0, 0.03);
    color: #1a1a2e;
}

[data-theme="light"] .recovery-item.active {
    background: rgba(253, 121, 168, 0.1);
    border-left-color: #fd79a8;
    color: #d63384;
}

[data-theme="light"] .recovery-content { background: rgba(255, 255, 255, 0.4); }

[data-theme="light"] .recovery-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .recovery-phase {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .recovery-phase.open {
    background: rgba(253, 121, 168, 0.05);
    border-color: rgba(253, 121, 168, 0.25);
}

[data-theme="light"] .recovery-phase-title { color: #1a1a2e; }
[data-theme="light"] .recovery-exercise { background: rgba(0, 0, 0, 0.02); }
[data-theme="light"] .recovery-exercise-name { color: #1a1a2e; }
[data-theme="light"] .recovery-exercise-description { color: #6a6a8a; }

[data-theme="light"] .view-nutrition,
[data-theme="light"] .view-programs { background: rgba(255, 255, 255, 0.3); }

[data-theme="light"] .nutrition-field input,
[data-theme="light"] .nutrition-field select,
[data-theme="light"] .tracker-add input {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #1a1a2e;
}

[data-theme="light"] .nutrition-field label,
[data-theme="light"] .goal-name { color: #6a6a8a; }

[data-theme="light"] .toggle-btn {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #6a6a8a;
}

[data-theme="light"] .toggle-btn.active {
    background: rgba(0, 184, 148, 0.15);
    border-color: rgba(0, 184, 148, 0.4);
    color: #00a884;
}

[data-theme="light"] .goal-btn {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .goal-btn.active {
    background: rgba(68, 136, 255, 0.15);
    border-color: rgba(68, 136, 255, 0.4);
}

[data-theme="light"] .macro-card {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .macro-value { color: #1a1a2e; }
[data-theme="light"] .nutrition-details { background: rgba(0, 0, 0, 0.02); }
[data-theme="light"] .detail-row { color: #6a6a8a; }
[data-theme="light"] .detail-row strong { color: #1a1a2e; }
[data-theme="light"] .meal-item,
[data-theme="light"] .food-item { background: rgba(0, 0, 0, 0.02); }

[data-theme="light"] .food-tab {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #6a6a8a;
}

[data-theme="light"] .food-tab.active {
    background: rgba(68, 136, 255, 0.12);
    border-color: rgba(68, 136, 255, 0.3);
    color: #4488ff;
}

[data-theme="light"] .program-card {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .program-card:hover {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(68, 136, 255, 0.2);
}

[data-theme="light"] .program-card.active {
    background: rgba(68, 136, 255, 0.1);
    border-color: rgba(68, 136, 255, 0.4);
}

[data-theme="light"] .program-card-name { color: #1a1a2e; }
[data-theme="light"] .program-card-subtitle { color: #6a6a8a; }

[data-theme="light"] .program-day {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .program-day.open {
    background: rgba(68, 136, 255, 0.05);
    border-color: rgba(68, 136, 255, 0.2);
}

[data-theme="light"] .program-day-title { color: #1a1a2e; }
[data-theme="light"] .program-exercise { background: rgba(0, 0, 0, 0.02); }
[data-theme="light"] .program-exercise-name { color: #4a4a6a; }

[data-theme="light"] .program-tip {
    background: rgba(255, 217, 61, 0.08);
    color: #4a4a6a;
}

[data-theme="light"] .tracker-header { border-bottom-color: rgba(0, 0, 0, 0.06); }
[data-theme="light"] .tracker-stat-value { color: #1a1a2e; }
[data-theme="light"] .tracker-stat-label { color: #6a6a8a; }
[data-theme="light"] .tracker-exercise { background: rgba(0, 0, 0, 0.02); }
[data-theme="light"] .tracker-exercise-name { color: #1a1a2e; }
[data-theme="light"] .tracker-set { background: rgba(0, 0, 0, 0.03); }
[data-theme="light"] .set-number,
[data-theme="light"] .set-times { color: #6a6a8a; }

[data-theme="light"] .tracker-add {
    background: rgba(68, 136, 255, 0.05);
    border-color: rgba(68, 136, 255, 0.2);
}

[data-theme="light"] .log-day {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .log-exercise { background: rgba(0, 0, 0, 0.02); }
[data-theme="light"] .log-ex-name { color: #4a4a6a; }

[data-theme="light"] .toast {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(68, 136, 255, 0.3);
    color: #1a1a2e;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

[data-theme="light"] .btn-theme {
    background: rgba(68, 136, 255, 0.1);
    border-color: rgba(68, 136, 255, 0.25);
    color: #4488ff;
}

[data-theme="light"] .btn-theme:hover {
    background: rgba(68, 136, 255, 0.2);
    box-shadow: 0 4px 16px rgba(68, 136, 255, 0.3);
}

[data-theme="light"] .rest-timer {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 184, 148, 0.2);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .rest-timer.active {
    border-color: rgba(0, 184, 148, 0.5);
    box-shadow: 0 4px 30px rgba(0, 184, 148, 0.2);
}

[data-theme="light"] .rest-timer-display { color: #1a1a2e; }
[data-theme="light"] .rest-timer.active .rest-timer-display { color: #00a884; }
[data-theme="light"] .rest-timer-circle svg circle:first-child { stroke: rgba(0, 0, 0, 0.08); }

[data-theme="light"] .rest-preset {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #6a6a8a;
}

[data-theme="light"] .rest-preset:hover {
    background: rgba(68, 136, 255, 0.12);
    border-color: rgba(68, 136, 255, 0.3);
    color: #4488ff;
}

[data-theme="light"] .rest-timer-auto { color: #6a6a8a; }

/* Плавные переходы */
* {
    transition-property: background-color, border-color, color;
    transition-duration: 0.3s;
    transition-timing-function: ease;
}

.gif-modal,
.gif-modal *,
.body-overlay,
.toast,
.achievement-toast {
    transition-duration: 0.3s;
}

/* ============================================
   АДАПТИВНОСТЬ
   ============================================ */
@media (max-width: 1024px) {
    .view-muscles { grid-template-columns: 220px 1fr 1fr; }
    .view-recovery { grid-template-columns: 220px 1fr; }
    .body-image-container { max-width: 280px; }
    .recovery-content { padding: 24px; }
    .recovery-card { padding: 24px; }
    .programs-grid { grid-template-columns: 280px 1fr; }
    .view-programs { padding: 20px; }
}

@media (max-width: 768px) {
    .view-muscles { grid-template-columns: 1fr; }
    .view-recovery { grid-template-columns: 1fr; }
    .main-content {
        height: auto;
        min-height: calc(100vh - 120px);
    }
    .muscle-list { max-height: 250px; }
    .body-image-container { max-width: 200px; }
    .info-panel { padding: 16px 18px; }
    .header { flex-direction: column; align-items: flex-start; padding: 12px 16px; }
    .header-actions { width: 100%; flex-wrap: wrap; }
    .btn-random, .btn-share, .btn-dashboard, .btn-nav { flex: 1; font-size: 11px; padding: 6px 10px; }
    .muscle-card .card-name { font-size: 20px; }
    .challenges-section { padding: 10px 16px; }
    .challenge-card { flex: 0 0 180px; }
    .dashboard-content { padding: 20px 16px; }
    .dashboard-title { font-size: 20px; }
    .stat-value { font-size: 22px; }
    .gif-modal-content { padding: 8px; }
    .gif-modal-title { font-size: 12px; }
    .gif-modal-image img,
    .gif-modal img {
        width: 96vw !important;
        max-width: 96vw !important;
        max-height: 82vh !important;
    }
    .gif-modal-close {
        top: 6px;
        right: 6px;
        width: 38px;
        height: 38px;
        font-size: 18px;
    }
    .recovery-list { max-height: 200px; border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.03); }
    .recovery-content { padding: 16px; }
    .recovery-card { padding: 16px; }
    .recovery-card-icon { font-size: 36px; }
    .recovery-card-title { font-size: 18px; }
    .view-nutrition { padding: 16px; }
    .nutrition-grid { grid-template-columns: 1fr; }
    .nutrition-title { font-size: 22px; }
    .nutrition-kcal { font-size: 42px; }
    .macros-grid { grid-template-columns: 1fr; }
    .meal-item { flex-direction: column; align-items: flex-start; gap: 8px; }
    .meal-time { min-width: auto; }
    .view-programs { padding: 16px; }
    .programs-grid { grid-template-columns: 1fr; }
    .programs-title { font-size: 22px; }
    .program-details-title { font-size: 20px; }
    .program-exercise { grid-template-columns: 1fr; gap: 4px; }
    .program-exercise-sets,
    .program-exercise-rest { font-size: 11px; }
    .program-details-header { flex-direction: column; text-align: center; }
    .activity-calendar { grid-template-columns: repeat(6, 1fr); gap: 4px; padding: 8px; }
    .calendar-legend { flex-direction: column; align-items: flex-start; font-size: 10px; }
    .data-actions { flex-direction: column; }
    .btn-data { width: 100%; }
    .footer-disclaimer { font-size: 11px; padding: 10px 14px; }
    .tracker-card,
    .workout-log { padding: 16px; }
    .tracker-header { flex-direction: column; align-items: flex-start; }
    .tracker-add-row { grid-template-columns: 1fr; }
    .btn-tracker-add { width: 100%; }
    .tracker-actions { flex-direction: column; }
    .btn-tracker-save,
    .btn-tracker-clear { width: 100%; }
    .tracker-set { grid-template-columns: 20px 1fr 16px 1fr 20px; font-size: 11px; gap: 6px; }
    .btn-theme { width: 34px; height: 34px; font-size: 16px; }
    .rest-timer { padding: 16px; }
    .rest-timer-main { flex-direction: column; align-items: center; gap: 16px; }
    .rest-timer-circle { width: 100px; height: 100px; }
    .rest-timer-circle svg { width: 100px; height: 100px; }
    .rest-timer-display { font-size: 20px; }
    .rest-timer-controls { width: 100%; }
    .rest-btn { min-width: auto; }
    .rest-timer-presets { grid-template-columns: repeat(3, 1fr); }
    .rest-preset { font-size: 11px; padding: 8px 4px; }
    .achievement-toast {
        top: 20px;
        left: 16px;
        right: 16px;
        transform: translateX(0) translateY(-100px);
        min-width: auto;
    }
    .achievement-toast.show { transform: translateX(0) translateY(0); }
    .achievement-toast-icon { font-size: 28px; }
    .achievement-toast-title { font-size: 14px; }
}

@media (max-width: 480px) {
    .body-image-container { max-width: 150px; }
    .muscle-card { padding: 16px 18px; }
    .muscle-card .card-name { font-size: 18px; }
    .muscle-image-block img { max-height: 250px; }
    .rest-timer-presets { grid-template-columns: repeat(2, 1fr); }
}
/* ============================================
   📈 ГРАФИК ПРОГРЕССА
   ============================================ */
.progress-chart-block {
    background: rgba(16, 16, 32, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 184, 148, 0.15);
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 20px;
}

.progress-chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 12px;
}

.progress-chart-title {
    font-size: 14px;
    font-weight: 700;
    color: #00b894;
}

.progress-chart-select {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e0e0e8;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
    max-width: 280px;
}

.progress-chart-select:hover {
    border-color: rgba(0, 184, 148, 0.3);
    background: rgba(255, 255, 255, 0.06);
}

.progress-chart-select:focus {
    border-color: rgba(0, 184, 148, 0.5);
}

.progress-chart-select option {
    background: #1a1a2e;
    color: #e0e0e8;
}

.progress-chart-container {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    padding: 16px;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.progress-chart-svg {
    display: block;
    max-width: 100%;
    height: auto;
}

.progress-chart-empty {
    text-align: center;
    color: #4a4a6a;
    font-size: 13px;
    line-height: 1.6;
    padding: 40px 20px;
}

.progress-chart-stats {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.progress-chart-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

.progress-chart-stat-label {
    color: #5a5a7a;
}

.progress-chart-stat-value {
    color: #e0e0e8;
    font-weight: 700;
}

/* Светлая тема */
[data-theme="light"] .progress-chart-block {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 184, 148, 0.2);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .progress-chart-title {
    color: #00a884;
}

[data-theme="light"] .progress-chart-select {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    color: #1a1a2e;
}

[data-theme="light"] .progress-chart-select option {
    background: #ffffff;
    color: #1a1a2e;
}

[data-theme="light"] .progress-chart-container {
    background: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] .progress-chart-empty {
    color: #8a8aaa;
}

[data-theme="light"] .progress-chart-stat-label {
    color: #6a6a8a;
}

[data-theme="light"] .progress-chart-stat-value {
    color: #1a1a2e;
}

/* Адаптив */
@media (max-width: 768px) {
    .progress-chart-block {
        padding: 16px;
    }
    
    .progress-chart-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .progress-chart-select {
        width: 100%;
        max-width: none;
    }
    
    .progress-chart-container {
        padding: 8px;
        min-height: 200px;
    }
    
    .progress-chart-stats {
        gap: 16px;
    }
    
    .progress-chart-stat {
        font-size: 11px;
    }
}
/* ============================================
   💰 ПРЕМИУМ-РАЗДЕЛ
   ============================================ */

/* Кнопка в шапке */
.btn-premium {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.15), rgba(253, 121, 168, 0.15));
    border: 1px solid rgba(255, 217, 61, 0.3);
    color: #ffd93d;
    padding: 8px 16px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.btn-premium:hover {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.25), rgba(253, 121, 168, 0.25));
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(255, 217, 61, 0.2);
}

.btn-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.btn-premium:hover::before {
    left: 100%;
}

/* Модалка премиум */
.premium-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.premium-modal.show {
    display: flex;
}

.premium-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(12px);
    cursor: pointer;
}

.premium-content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 900px;
    max-height: 92vh;
    overflow-y: auto;
    background: linear-gradient(180deg, rgba(20, 20, 40, 0.98) 0%, rgba(10, 10, 22, 0.98) 100%);
    border: 1px solid rgba(255, 217, 61, 0.2);
    border-radius: 24px;
    padding: 36px;
    box-shadow: 
        0 20px 100px rgba(0, 0, 0, 0.9),
        0 0 80px rgba(255, 217, 61, 0.1);
}

.premium-content::-webkit-scrollbar { width: 6px; }
.premium-content::-webkit-scrollbar-thumb { background: #1a1a3a; border-radius: 10px; }

.premium-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 70, 70, 0.15);
    border: 1px solid rgba(255, 70, 70, 0.3);
    color: #ff6b6b;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 2;
}

.premium-close:hover {
    background: rgba(255, 70, 70, 0.3);
    transform: scale(1.1) rotate(90deg);
}

/* Hero */
.premium-hero {
    text-align: center;
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.premium-hero-icon {
    font-size: 64px;
    margin-bottom: 12px;
    animation: premiumDiamondPulse 2s ease-in-out infinite;
}

@keyframes premiumDiamondPulse {
    0%, 100% { transform: scale(1); filter: drop-shadow(0 0 20px rgba(255, 217, 61, 0.5)); }
    50% { transform: scale(1.1); filter: drop-shadow(0 0 40px rgba(255, 217, 61, 0.8)); }
}

.premium-hero-title {
    font-size: 32px;
    font-weight: 800;
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

.premium-hero-subtitle {
    font-size: 15px;
    color: #8a8aaa;
    line-height: 1.5;
}

/* Возможности */
.premium-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 32px;
}

.premium-feature {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    transition: all 0.3s ease;
}

.premium-feature:hover {
    background: rgba(255, 217, 61, 0.04);
    border-color: rgba(255, 217, 61, 0.15);
    transform: translateY(-2px);
}

.premium-feature-icon {
    font-size: 28px;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 217, 61, 0.08);
    border-radius: 10px;
}

.premium-feature-content { flex: 1; min-width: 0; }

.premium-feature-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.premium-feature-desc {
    font-size: 12px;
    color: #8a8aaa;
    line-height: 1.5;
    margin-bottom: 8px;
}

.premium-feature-compare {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    flex-wrap: wrap;
}

.premium-compare-free {
    color: #5a5a7a;
}

.premium-compare-arrow {
    color: #ffd93d;
    font-weight: 700;
}

.premium-compare-premium {
    color: #00b894;
    font-weight: 600;
}

/* Тарифы */
.premium-plans {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

.premium-plan {
    position: relative;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    padding: 24px;
    transition: all 0.3s ease;
}

.premium-plan.popular {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.08), rgba(253, 121, 168, 0.06));
    border-color: rgba(255, 217, 61, 0.3);
    box-shadow: 0 8px 40px rgba(255, 217, 61, 0.15);
    transform: scale(1.02);
}

.premium-plan:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 50px rgba(0, 0, 0, 0.4);
}

.premium-plan.popular:hover {
    transform: scale(1.02) translateY(-4px);
    box-shadow: 0 12px 60px rgba(255, 217, 61, 0.25);
}

.premium-plan-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    color: #0a0a12;
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(255, 217, 61, 0.4);
}

.premium-plan-name {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 12px;
}

.premium-plan-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 4px;
}

.premium-plan-amount {
    font-size: 36px;
    font-weight: 800;
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.premium-plan-period {
    font-size: 14px;
    color: #8a8aaa;
    font-weight: 500;
}

.premium-plan-desc {
    font-size: 12px;
    color: #5a5a7a;
    margin-bottom: 12px;
    font-style: italic;
}

.premium-plan-savings {
    display: inline-block;
    background: rgba(0, 184, 148, 0.12);
    color: #00b894;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 12px;
}

.premium-plan-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.premium-plan-feature {
    font-size: 13px;
    color: #b0b0c8;
    line-height: 1.5;
}

/* CTA */
.premium-cta {
    text-align: center;
    margin-bottom: 28px;
}

.btn-premium-cta {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    border: none;
    color: #0a0a12;
    padding: 18px 48px;
    border-radius: 50px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    font-family: inherit;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    box-shadow: 
        0 8px 32px rgba(255, 217, 61, 0.35),
        0 0 60px rgba(253, 121, 168, 0.2);
    position: relative;
    overflow: hidden;
}

.btn-premium-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 
        0 12px 48px rgba(255, 217, 61, 0.5),
        0 0 80px rgba(253, 121, 168, 0.3);
}

.btn-premium-cta:active {
    transform: translateY(-1px) scale(0.99);
}

.premium-cta-hint {
    font-size: 12px;
    color: #5a5a7a;
    margin-top: 12px;
    font-style: italic;
}

/* FAQ */
.premium-faq {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.premium-faq-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    padding: 12px 16px;
}

.premium-faq-q {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.premium-faq-a {
    font-size: 12px;
    color: #8a8aaa;
    line-height: 1.5;
}

/* Светлая тема */
[data-theme="light"] .btn-premium {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.2), rgba(253, 121, 168, 0.15));
    border-color: rgba(255, 217, 61, 0.4);
    color: #b8941a;
}

[data-theme="light"] .btn-premium:hover {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.35), rgba(253, 121, 168, 0.25));
}

[data-theme="light"] .premium-content {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(250, 250, 255, 0.99) 100%);
    border-color: rgba(255, 217, 61, 0.3);
}

[data-theme="light"] .premium-hero-title {
    background: linear-gradient(135deg, #b8941a, #d63384);
    -webkit-background-clip: text;
    background-clip: text;
}

[data-theme="light"] .premium-hero-subtitle { color: #6a6a8a; }

[data-theme="light"] .premium-feature {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .premium-feature:hover {
    background: rgba(255, 217, 61, 0.08);
    border-color: rgba(255, 217, 61, 0.25);
}

[data-theme="light"] .premium-feature-icon {
    background: rgba(255, 217, 61, 0.15);
}

[data-theme="light"] .premium-feature-title { color: #1a1a2e; }
[data-theme="light"] .premium-feature-desc { color: #6a6a8a; }
[data-theme="light"] .premium-compare-free { color: #8a8aaa; }

[data-theme="light"] .premium-plan {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .premium-plan.popular {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.12), rgba(253, 121, 168, 0.08));
    border-color: rgba(255, 217, 61, 0.4);
}

[data-theme="light"] .premium-plan-name { color: #1a1a2e; }
[data-theme="light"] .premium-plan-amount {
    background: linear-gradient(135deg, #b8941a, #d63384);
    -webkit-background-clip: text;
    background-clip: text;
}

[data-theme="light"] .premium-plan-period { color: #6a6a8a; }
[data-theme="light"] .premium-plan-desc { color: #8a8aaa; }
[data-theme="light"] .premium-plan-feature { color: #4a4a6a; }
[data-theme="light"] .premium-plan-features { border-top-color: rgba(0, 0, 0, 0.06); }

[data-theme="light"] .premium-faq {
    border-top-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .premium-faq-item {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .premium-faq-q { color: #1a1a2e; }
[data-theme="light"] .premium-faq-a { color: #6a6a8a; }

[data-theme="light"] .premium-cta-hint { color: #8a8aaa; }

/* Адаптив */
@media (max-width: 768px) {
    .btn-premium {
        flex: 1;
        font-size: 11px;
        padding: 6px 10px;
    }

    .premium-content {
        padding: 24px 16px;
    }

    .premium-hero-icon { font-size: 48px; }
    .premium-hero-title { font-size: 24px; }
    .premium-hero-subtitle { font-size: 13px; }

    .premium-features {
        grid-template-columns: 1fr;
    }

    .premium-plans {
        grid-template-columns: 1fr;
    }

    .premium-plan.popular {
        transform: scale(1);
    }

    .premium-plan.popular:hover {
        transform: translateY(-4px);
    }

    .premium-plan-amount { font-size: 28px; }

    .btn-premium-cta {
        padding: 14px 32px;
        font-size: 15px;
        width: 100%;
    }
}
/* ============================================
   🌍 КНОПКА ЯЗЫКА
   ============================================ */
.btn-lang {
    background: rgba(111, 179, 255, 0.08);
    border: 1px solid rgba(111, 179, 255, 0.2);
    color: #6fb3ff;
    padding: 8px 14px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-lang:hover {
    background: rgba(111, 179, 255, 0.18);
    border-color: rgba(111, 179, 255, 0.4);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(111, 179, 255, 0.2);
}

.btn-lang:active {
    transform: translateY(0) scale(0.98);
}

[data-theme="light"] .btn-lang {
    background: rgba(68, 136, 255, 0.1);
    border-color: rgba(68, 136, 255, 0.3);
    color: #4488ff;
}

[data-theme="light"] .btn-lang:hover {
    background: rgba(68, 136, 255, 0.2);
    box-shadow: 0 4px 16px rgba(68, 136, 255, 0.2);
}

@media (max-width: 768px) {
    .btn-lang {
        flex: 1;
        font-size: 11px;
        padding: 6px 10px;
    }
}
/* ============================================
   📱 МОБИЛЬНАЯ ШАПКА — исправление
   ============================================ */
@media (max-width: 768px) {
    .header {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 12px 8px !important;
        gap: 8px !important;
    }
    
    .header-content {
        width: 100% !important;
        text-align: center !important;
    }
    
    .header-content h1 {
    font-size: 26px;
    font-weight: 800;
    background: linear-gradient(135deg, #6fb3ff, #4488ff, #6fb3ff);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: logoShift 6s ease infinite;
    letter-spacing: -0.5px;
}
    
  @keyframes logoShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
} 
 .header-content .subtitle {
        font-size: 12px !important;
    }
    
    .header-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
    }
    
    .header-actions > button {
        flex: 0 0 auto !important;
        font-size: 12px !important;
        padding: 8px 10px !important;
    }
    
    .header-actions .btn-theme {
        padding: 8px !important;
        min-width: 36px !important;
    }
}

/* На очень узких экранах — прячем неважные кнопки */
@media screen and (max-width: 500px) {
    html body .header .header-actions .btn-share,
    html body .header .header-actions .btn-random {
        display: none !important;
    }
    /* Премиум оставлен — виден всегда */
}
/* ============================================
   🎨 SVG-МЫШЦЫ (тест)
   ============================================ */
.body-svg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.body-svg-layer.visible {
    opacity: 1;
    visibility: visible;
}

/* 🔥 Активный слой — передний */
.body-svg-layer.body-svg-front {
    z-index: 3;
}

/* 🔥 Неактивный слой — задний */
.body-svg-layer.body-svg-back {
    z-index: 2;
}

/* 🔥 Отключаем hover на НЕАКТИВНОМ слое */
.body-svg-layer:not(.visible),
.body-svg-layer:not(.visible) svg,
.body-svg-layer:not(.visible) svg path {
    pointer-events: none !important;
    visibility: hidden !important;
}
.body-svg-layer svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
}

.body-svg-layer svg path {
    pointer-events: auto;
    cursor: pointer;
    transition: 
        filter 0.4s ease, 
        opacity 0.4s ease,
        transform 0.4s ease;
    opacity: 0.2;
    animation: subtlePulse 4s ease-in-out infinite;
    filter: 
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5))
        drop-shadow(0 0 2px rgba(255, 71, 87, 0.3));
    transform-origin: center;      /* ← ДОБАВЛЕНО */
}

@keyframes subtlePulse {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 0.3; }
}

.body-svg-layer svg path:hover {
    opacity: 1;
    filter: 
        brightness(1.2)
        saturate(1.3)
        drop-shadow(0 4px 12px rgba(255, 71, 87, 0.6))
        drop-shadow(0 0 20px rgba(255, 71, 87, 0.4));
    animation: none;
/* 🔍 Zoom при hover */
    transform: scale(1.02);
    transform-origin: center;

}

.body-svg-layer svg path.active {
    opacity: 1;
    filter: brightness(1.5) drop-shadow(0 0 15px #ff4757);
    animation: musclePulse 2s ease-in-out infinite;
}

@keyframes musclePulse {
    0%, 100% { 
        filter: brightness(1.4) drop-shadow(0 0 12px #ff4757);
    }
    50% { 
        filter: brightness(1.8) drop-shadow(0 0 20px #ff4757);
    }
}
/* ============================================
   🎯 RIPPLE-ЭФФЕКТ НА КНОПКАХ
   ============================================ */
.btn-nav,
.btn-premium,
.btn-random,
.btn-share,
.btn-dashboard,
.btn-theme {
    transition: 
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.btn-nav:hover,
.btn-premium:hover,
.btn-random:hover,
.btn-share:hover,
.btn-dashboard:hover,
.btn-theme:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.btn-nav.active {
    background: rgba(111, 179, 255, 0.15);
    border-color: rgba(111, 179, 255, 0.4);
    box-shadow: 0 4px 16px rgba(111, 179, 255, 0.2);
    color: #6fb3ff;
}
.ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transform: scale(0);
    animation: rippleAnimation 0.6s ease-out;
    pointer-events: none;
    z-index: 0;
}

@keyframes rippleAnimation {
    to {
        transform: scale(4);
        opacity: 0;
    }
}
/* ============================================
   ✨ МИКРОАНИМАЦИИ — ЕДИНЫЕ ПЕРЕХОДЫ
   ============================================ */

/* Все кнопки, ссылки, элементы с кликом */
button,
a,
.list-item,
.challenge-card,
.exercise-card,
.recovery-item,
.program-card,
.food-tab,
.goal-btn,
.toggle-btn,
.filter-btn,
.quote-btn,
.card-favorite,
.stat-card,
.achievement-badge,
.history-item {
    transition: 
        transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        color 0.25s ease,
        opacity 0.25s ease;
}

/* Активное нажатие — лёгкое уменьшение */
button:active:not(:disabled),
.list-item:active,
.challenge-card:active,
.exercise-card:active {
    transform: scale(0.97);
}

/* Плавное появление текста */
.quote-text,
.card-name,
.card-latin,
.card-function,
.card-description {
    animation: smoothFadeIn 0.4s ease;
}

@keyframes smoothFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ============================================
   ✨ ПОЯВЛЕНИЕ ЭЛЕМЕНТОВ
   ============================================ */

/* Список мышц — постепенное появление */
.list-item {
    animation: slideInLeft 0.4s ease backwards;
}

.list-item:nth-child(1) { animation-delay: 0.02s; }
.list-item:nth-child(2) { animation-delay: 0.04s; }
.list-item:nth-child(3) { animation-delay: 0.06s; }
.list-item:nth-child(4) { animation-delay: 0.08s; }
.list-item:nth-child(5) { animation-delay: 0.10s; }
.list-item:nth-child(6) { animation-delay: 0.12s; }
.list-item:nth-child(7) { animation-delay: 0.14s; }
.list-item:nth-child(8) { animation-delay: 0.16s; }
.list-item:nth-child(9) { animation-delay: 0.18s; }
.list-item:nth-child(10) { animation-delay: 0.20s; }

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Челленджи — появление снизу */
.challenge-card {
    opacity: 1;
    transform: translateY(0);
}



@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Карточка мышцы — плавное появление */
.muscle-card {
    animation: cardFadeIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes cardFadeIn {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Карточки упражнений */
.exercise-card {
    animation: exerciseIn 0.3s ease backwards;
}

.exercise-card:nth-child(1) { animation-delay: 0.02s; }
.exercise-card:nth-child(2) { animation-delay: 0.04s; }
.exercise-card:nth-child(3) { animation-delay: 0.06s; }
.exercise-card:nth-child(4) { animation-delay: 0.08s; }
.exercise-card:nth-child(5) { animation-delay: 0.10s; }
.exercise-card:nth-child(6) { animation-delay: 0.12s; }
.exercise-card:nth-child(7) { animation-delay: 0.14s; }
.exercise-card:nth-child(8) { animation-delay: 0.16s; }

@keyframes exerciseIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ============================================
   ✨ ПУЛЬСАЦИЯ АКТИВНЫХ
   ============================================ */

/* Активная вкладка в шапке */
.btn-nav.active {
    animation: activePulse 3s ease-in-out infinite;
}

@keyframes activePulse {
    0%, 100% {
        box-shadow: 0 4px 16px rgba(111, 179, 255, 0.2);
    }
    50% {
        box-shadow: 0 4px 24px rgba(111, 179, 255, 0.4);
    }
}

/* Активная мышца в списке */
.list-item.active {
    animation: activeListItem 2s ease-in-out infinite;
}

@keyframes activeListItem {
    0%, 100% {
        box-shadow: 0 4px 20px rgba(255, 107, 107, 0.2);
    }
    50% {
        box-shadow: 0 4px 28px rgba(255, 107, 107, 0.4);
    }
}

/* Активный челлендж */
.challenge-card.completed {
    animation: completedPulse 2.5s ease-in-out infinite;
}

@keyframes completedPulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(0, 184, 148, 0);
    }
    50% {
        box-shadow: 0 0 24px rgba(0, 184, 148, 0.3);
    }
}

/* Активное состояние табов */
.food-tab.active,
.goal-btn.active,
.toggle-btn.active {
    animation: tabPulse 2s ease-in-out infinite;
}

@keyframes tabPulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(111, 179, 255, 0);
    }
    50% {
        box-shadow: 0 0 16px rgba(111, 179, 255, 0.3);
    }
}
/* ============================================
   ✨ HOVER-МИКРОЭФФЕКТЫ
   ============================================ */

/* Все интерактивные элементы — приподнимаются */
.list-item:hover,
.challenge-card:hover,
.exercise-card:hover,
.recovery-item:hover,
.program-card:hover,
.stat-card:hover,
.food-item:hover,
.achievement-badge:hover,
.history-item:hover {
    transform: translateY(-2px);
}

/* Иконки — крутятся при hover */
.challenge-card:hover .challenge-emoji,
.goal-btn:hover .goal-icon {
    transform: scale(1.15) rotate(-5deg);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Иконки — светятся при hover */
.food-tab:hover,
.toggle-btn:hover {
    background: rgba(111, 179, 255, 0.1);
    border-color: rgba(111, 179, 255, 0.3);
    color: #6fb3ff;
}

/* Цветная точка — увеличивается при hover */
.list-item:hover .color-dot {
    transform: scale(1.3);
    box-shadow: 0 0 12px currentColor;
}

/* Кнопки действий — микро-вращение */
.card-favorite:hover,
.quote-btn:hover,
.theme-toggle:hover {
    transform: rotate(10deg) scale(1.1);
}

/* Кнопка завершения упражнения */
.btn-complete:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(255, 107, 107, 0.2);
}

/* Полоса прогресса — увеличивается */
.challenge-card:hover .challenge-progress {
    height: 8px;
    transition: height 0.3s ease;
}
/* ============================================
   🔧 ФИКС ПРЫЖКОВ МОДАЛКИ ПРЕМИУМ
   ============================================ */

/* Отключаем все анимации внутри модалки */
.premium-modal *,
.premium-modal *::before,
.premium-modal *::after {
    animation: none !important;
    transition: none !important;
}

/* Отключаем transform при hover */
.premium-feature:hover,
.premium-plan:hover,
.premium-plan.popular:hover {
    transform: none !important;
}

/* Убираем scale у популярного тарифа */
.premium-plan.popular {
    transform: none !important;
}

/* Стабилизируем скролл */
.premium-content {
    scrollbar-gutter: stable;
    overflow-y: scroll;
}

/* Запрещаем скролл body когда открыта модалка */
body:has(.premium-modal.show) {
    overflow: hidden;
    padding-right: var(--scrollbar-width, 0);
}
/* ============================================
   🔧 ГЛУБОКИЕ МЫШЦЫ — почти невидимы
   ============================================ */

/* Поперечная мышца живота */
.body-svg-layer svg path[data-muscle-id="male_transversus_abdominis"],
/* Внутренняя косая мышца живота */
.body-svg-layer svg path[data-muscle-id="male_obliquus_internus"] {
    opacity: 0.05;   /* ← почти невидимы */
}

/* 🔥 При наведении — проявляются */
.body-svg-layer svg path[data-muscle-id="male_transversus_abdominis"]:hover,
.body-svg-layer svg path[data-muscle-id="male_obliquus_internus"]:hover {
    opacity: 1;
    animation: none;
    transform: scale(1.02);
    filter: 
        brightness(1.08)
        saturate(1.1)
        drop-shadow(0 3px 8px rgba(255, 71, 87, 0.4))
        drop-shadow(0 0 10px rgba(255, 71, 87, 0.25));
}

/* 🔥 Активная мышца (клик в списке) — ярко видна */
.body-svg-layer svg path[data-muscle-id="male_transversus_abdominis"].active,
.body-svg-layer svg path[data-muscle-id="male_obliquus_internus"].active {
    opacity: 1;
    transform: scale(1.01);
    filter: 
        brightness(1.5)
        saturate(1.4)
        drop-shadow(0 6px 16px rgba(255, 71, 87, 0.7));
    animation: musclePulse 2s ease-in-out infinite;
}
/* ============================================
   📊 СТАТИСТИКА ПРОЕКТА
   ============================================ */
.stats-section {
    position: relative;      /* ← ДОБАВИТЬ */
    z-index: 5;              /* ← ДОБАВИТЬ (ниже челленджей, но выше фона) */
    padding: 20px 30px;
    background: linear-gradient(135deg, 
        rgba(111, 179, 255, 0.04) 0%, 
        rgba(255, 107, 107, 0.04) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    max-width: 1200px;
    margin: 0 auto;
}

.stat-box {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 16px 12px;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.stat-box:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 107, 107, 0.3);
    box-shadow: 0 8px 24px rgba(255, 107, 107, 0.1);
}

.stat-box-icon {
    font-size: 24px;
    margin-bottom: 6px;
}

.stat-box-value {
    font-size: 24px;
    font-weight: 800;
    color: #ffd93d;                     /* ← сплошной золотой */
    line-height: 1.1;
    margin-bottom: 2px;
    text-shadow: 0 0 20px rgba(255, 217, 61, 0.5);  /* ← свечение */
}

.stat-box-label {
    font-size: 11px;
    color: #8a8aaa;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 📱 Адаптив */
@media (max-width: 900px) {
    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 500px) {
    .stats-section {
        padding: 16px 12px;
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .stat-box {
        padding: 12px 8px;
    }
    .stat-box-icon {
        font-size: 20px;
    }
    .stat-box-value {
        font-size: 20px;
    }
    .stat-box-label {
        font-size: 10px;
    }
}
.footer-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    color: #8a8aaa;
    font-size: 13px;
    flex-wrap: wrap;
}

.footer-stats span {
    color: #8a8aaa;
}

@media (max-width: 500px) {
    .footer-stats {
        font-size: 11px;
        gap: 6px;
        padding: 12px 8px;
    }
}
/* ============================================
   💬 ФОРМА ОБРАТНОЙ СВЯЗИ
   ============================================ */
.feedback-section {
    position: relative;              /* ← добавь */
    z-index: 50;                     /* ← добавь (выше mainContent z=10) */
    padding: 40px 30px;
    background: linear-gradient(180deg, 
        rgba(255, 217, 61, 0.06) 0%, 
        rgba(253, 121, 168, 0.04) 100%);
    border-top: 1px solid rgba(255, 217, 61, 0.15);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}


.feedback-inner {
    max-width: 700px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.feedback-header {
    text-align: center;
    margin-bottom: 24px;
}

.feedback-title {
    font-size: 26px;
    font-weight: 800;
    color: #ffd93d;                     /* ← базовый цвет */
    margin-bottom: 8px;
    text-shadow: 0 0 20px rgba(255, 217, 61, 0.4);
}

@supports (-webkit-background-clip: text) {
    .feedback-title {
        background: linear-gradient(135deg, #ffd93d, #fd79a8);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-shadow: none;
    }
}
.feedback-subtitle {
    font-size: 14px;
    color: #b0b0c8;                     /* ← светлее */
    line-height: 1.5;
}

.feedback-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    
    /* 🔧 Заметный фон */
    background: linear-gradient(135deg, 
        rgba(255, 217, 61, 0.08) 0%, 
        rgba(253, 121, 168, 0.06) 100%);
    border: 2px solid rgba(255, 217, 61, 0.3);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 32px rgba(255, 217, 61, 0.1);
}

.feedback-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.feedback-select,
.feedback-input,
.feedback-textarea {
    background: rgba(10, 10, 22, 0.95);
    border: 2px solid rgba(255, 217, 61, 0.4);   /* ← заметнее */
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 14px;
    color: #ffffff;
    font-family: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 0 0 1px rgba(255, 217, 61, 0.1);  /* ← лёгкое свечение */
}

.feedback-select:focus,
.feedback-input:focus,
.feedback-textarea:focus {
    outline: none;
    border-color: rgba(255, 217, 61, 0.8);
    box-shadow: 
        0 0 0 4px rgba(255, 217, 61, 0.15),
        0 0 20px rgba(255, 217, 61, 0.2);
}

.feedback-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8aaa' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
}

.feedback-select option {
    background: #1a1a2e;
    color: #ffffff;
}

.feedback-textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.5;
}

.feedback-select:focus,
.feedback-input:focus,
.feedback-textarea:focus {
    outline: none;
    border-color: rgba(255, 217, 61, 0.5);
    box-shadow: 0 0 0 3px rgba(255, 217, 61, 0.1);
}

.feedback-select::placeholder,
.feedback-input::placeholder,
.feedback-textarea::placeholder {
    color: #5a5a7a;
}

.feedback-btn {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    border: none;
    color: #0a0a12;
    padding: 12px 32px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 800;
    font-family: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 16px rgba(255, 217, 61, 0.25);
    white-space: nowrap;
}

.feedback-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 217, 61, 0.4);
}

.feedback-btn:active {
    transform: translateY(0);
}

.feedback-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.feedback-success {
    text-align: center;
    padding: 32px 24px;
    background: rgba(0, 184, 148, 0.05);
    border: 1px solid rgba(0, 184, 148, 0.2);
    border-radius: 16px;
    animation: fadeInSuccess 0.5s ease;
}

.feedback-success-icon {
    font-size: 48px;
    margin-bottom: 12px;
}

.feedback-success-title {
    font-size: 20px;
    font-weight: 800;
    color: #00b894;
    margin-bottom: 6px;
}

.feedback-success-text {
    font-size: 13px;
    color: #8a8aaa;
}

@keyframes fadeInSuccess {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 📱 Адаптив */
@media (max-width: 700px) {
    .feedback-section {
        padding: 32px 16px;
    }
    .feedback-form {
        padding: 16px;
    }
    .feedback-row {
        grid-template-columns: 1fr;
    }
    .feedback-title {
        font-size: 20px;
    }
    .feedback-btn {
        width: 100%;
        padding: 14px;
    }
}
/* ============================================
   💎 СИСТЕМА ПРЕМИУМА
   ============================================ */

/* Индикатор Премиума в шапке */
.btn-premium.premium-active {
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.2), rgba(253, 121, 168, 0.15));
    border-color: rgba(255, 217, 61, 0.5);
    box-shadow: 0 4px 16px rgba(255, 217, 61, 0.3);
    animation: premiumGlow 2s ease-in-out infinite;
}

@keyframes premiumGlow {
    0%, 100% { box-shadow: 0 4px 16px rgba(255, 217, 61, 0.3); }
    50% { box-shadow: 0 4px 24px rgba(255, 217, 61, 0.6); }
}

/* Плашка Премиум */
.premium-lock {
    position: fixed;
    inset: 0;
    z-index: 10001;              /* ← ДОБАВИТЬ */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;         /* ← ДОБАВИТЬ */
}

.premium-lock.show {
    opacity: 1;
    pointer-events: auto;         /* ← ДОБАВИТЬ */
}

.premium-lock-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
}

.premium-lock-content {
    position: relative;
    max-width: 420px;
    background: linear-gradient(135deg, rgba(20, 20, 40, 0.98), rgba(10, 10, 22, 0.98));
    border: 2px solid rgba(255, 217, 61, 0.4);
    border-radius: 20px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9), 0 0 80px rgba(255, 217, 61, 0.15);
}

.premium-lock-icon {
    font-size: 56px;
    margin-bottom: 12px;
    animation: premiumIconPulse 2s ease-in-out infinite;
}

@keyframes premiumIconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.premium-lock-title {
    font-size: 14px;
    color: #ffd93d;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.premium-lock-feature {
    font-size: 22px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 12px;
}

.premium-lock-desc {
    font-size: 14px;
    color: #8a8aaa;
    line-height: 1.5;
    margin-bottom: 24px;
}

.premium-lock-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.premium-lock-open {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    color: #0a0a12;
    border: none;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 6px 20px rgba(255, 217, 61, 0.3);
}

.premium-lock-open:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(255, 217, 61, 0.5);
}

.premium-lock-close {
    background: transparent;
    color: #8a8aaa;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 10px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.2s ease;
}

.premium-lock-close:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.3);
}
/* ============================================
   📈 ПОДСКАЗКА ПРЕМИУМА В ГРАФИКЕ
   ============================================ */
.chart-premium-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, 
        rgba(255, 217, 61, 0.1) 0%, 
        rgba(253, 121, 168, 0.08) 100%);
    border: 1px solid rgba(255, 217, 61, 0.3);
    border-radius: 10px;
    flex-wrap: wrap;
}

.chart-premium-hint-text {
    font-size: 13px;
    color: #ffd93d;
    font-weight: 600;
}

.chart-premium-hint-btn {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    border: none;
    color: #0a0a12;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.chart-premium-hint-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 217, 61, 0.4);
}

.progress-chart-select option:disabled {
    color: #ffd93d;
    opacity: 0.6;
    font-style: italic;
}

/* ============================================
   📓 ПОДСКАЗКА ПРЕМИУМА В ДНЕВНИКЕ
   ============================================ */
.log-premium-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: linear-gradient(135deg, 
        rgba(255, 217, 61, 0.1) 0%, 
        rgba(253, 121, 168, 0.08) 100%);
    border: 1px solid rgba(255, 217, 61, 0.3);
    border-radius: 10px;
    flex-wrap: wrap;
}

.log-premium-hint-text {
    font-size: 13px;
    color: #ffd93d;
    font-weight: 600;
}

.log-premium-hint-btn {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    border: none;
    color: #0a0a12;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.log-premium-hint-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 217, 61, 0.4);
}
/* ============================================
   📄 КНОПКА PDF
   ============================================ */
.btn-export-pdf {
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    color: #0a0a12;
    border: none;
    font-weight: 800;
    position: relative;
}

.btn-export-pdf:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 217, 61, 0.4);
}

.btn-export-pdf::after {
    content: '💎';
    position: absolute;
    top: -6px;
    right: -6px;
    font-size: 14px;
    background: linear-gradient(135deg, #ffd93d, #fd79a8);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(255, 217, 61, 0.5);
}
/* ============================================ */
/* 📄 ПАГИНАЦИЯ + ПРЕМИУМ-ПЛАШКА УПРАЖНЕНИЙ */
/* ============================================ */

/* Кнопка «Показать ещё» */
.btn-show-more {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 20px auto 10px;
    padding: 14px 24px;
    background: linear-gradient(135deg, #4a5fc1 0%, #6b7fd7 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(74, 95, 193, 0.3);
}

.btn-show-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 95, 193, 0.4);
}

.btn-show-more:active {
    transform: translateY(0);
}

/* Счётчик «Показано X из Y» */
.exercises-counter {
    text-align: center;
    font-size: 13px;
    color: #8892b0;
    margin-top: 12px;
    padding-bottom: 8px;
}

/* Плашка Премиума */
.premium-exercises-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    padding: 18px 20px;
    background: linear-gradient(135deg, rgba(255, 217, 61, 0.08) 0%, rgba(255, 71, 87, 0.08) 100%);
    border: 1px solid rgba(255, 217, 61, 0.25);
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.premium-exercises-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #ffd93d 0%, #ff4757 100%);
}

.premium-exercises-icon {
    font-size: 36px;
    line-height: 1;
}

.premium-exercises-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.premium-exercises-text strong {
    font-size: 15px;
    font-weight: 700;
    color: #ffd93d;
    line-height: 1.3;
}

.premium-exercises-text span {
    font-size: 12px;
    color: #8892b0;
    line-height: 1.4;
}

.premium-exercises-btn {
    display: block;
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, #ffd93d 0%, #ffb800 100%);
    color: #1a1a2e;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(255, 217, 61, 0.3);
}

.premium-exercises-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255, 217, 61, 0.5);
}

.premium-exercises-btn:active {
    transform: translateY(0);
}
/* ============================================ */
/* 🎨 SVG-ИКОНКИ */
/* ============================================ */
.svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    flex-shrink: 0;
    color: inherit;
    stroke: currentColor;
}

.svg-icon-placeholder {
    display: inline-block;
    width: 24px;
    height: 24px;
}
/* ============================================ */
/* 📊 АНАЛИТИКА В DASHBOARD */
/* ============================================ */
.analytics-block {
    margin-bottom: 24px;
}

.analytics-block:last-child {
    margin-bottom: 0;
}

.analytics-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: #6fb3ff;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.analytics-chart {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 16px;
    min-height: 180px;
}

.analytics-empty {
    text-align: center;
    color: #4a4a6a;
    font-size: 12px;
    padding: 40px 20px;
}

/* SVG-графики */
.analytics-chart svg {
    width: 100%;
    height: auto;
    display: block;
}

.analytics-chart .chart-line {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.analytics-chart .chart-point {
    transition: r 0.2s ease;
    cursor: pointer;
}

.analytics-chart .chart-point:hover {
    r: 6;
}

.analytics-chart .chart-label {
    font-size: 10px;
    fill: #6a6a8a;
    font-family: inherit;
}

.analytics-chart .chart-value {
    font-size: 11px;
    fill: #ffffff;
    font-weight: 600;
    font-family: inherit;
}

.analytics-chart .streak-cell {
    transition: opacity 0.2s ease;
    cursor: pointer;
}

.analytics-chart .streak-cell:hover {
    opacity: 0.7;
}
/* ============================================ */
/* 🎯 СИНЕРГИСТЫ — вспомогательные мышцы */
/* ============================================ */
.exercise-synergists {
    margin-top: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(111, 179, 255, 0.15);
    border-radius: 10px;
}

.synergists-title {
    font-size: 12px;
    font-weight: 600;
    color: #6fb3ff;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.synergists-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.synergist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.synergist-item:hover {
    background: rgba(111, 179, 255, 0.1);
    transform: translateX(2px);
}

.synergist-item.primary {
    background: rgba(255, 107, 107, 0.08);
    border-left: 3px solid #ff6b6b;
}

.synergist-item.primary:hover {
    background: rgba(255, 107, 107, 0.15);
}

.synergist-name {
    flex: 1;
    font-size: 12px;
    color: #d0d0e0;
}

.synergist-percent {
    font-size: 12px;
    font-weight: 600;
    color: #6fb3ff;
    min-width: 40px;
    text-align: right;
}

.synergist-item.primary .synergist-percent {
    color: #ff6b6b;
}

.synergist-bar {
    width: 60px;
    height: 4px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 2px;
    overflow: hidden;
}

.synergist-bar-fill {
    height: 100%;
    background: #6fb3ff;
    border-radius: 2px;
    transition: width 0.3s ease;
}

.synergist-item.primary .synergist-bar-fill {
    background: #ff6b6b;
}

/* Мобильная адаптация */
@media (max-width: 600px) {
    .synergist-bar {
        width: 40px;
    }
    
    .synergist-name {
        font-size: 11px;
    }
    
    .synergist-percent {
        font-size: 11px;
    }
}
/* ============================================ */
/* 🎯 СИНЕРГИСТЫ МЫШЦЫ (под анатомией) */
/* ============================================ */
.muscle-synergists-block {
    margin-top: 20px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(111, 179, 255, 0.15);
    border-radius: 12px;
}

.muscle-synergists-title {
    font-size: 14px;
    font-weight: 700;
    color: #6fb3ff;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.muscle-synergists-subtitle {
    font-size: 11px;
    color: #6a6a8a;
    margin-bottom: 12px;
}

.muscle-synergists-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.muscle-synergist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

.muscle-synergist-item:hover {
    background: rgba(111, 179, 255, 0.1);
    transform: translateX(3px);
}

.muscle-synergist-name {
    flex: 1;
    font-size: 12px;
    color: #d0d0e0;
}

.muscle-synergist-arrow {
    color: #6fb3ff;
    font-size: 16px;
    opacity: 0.5;
    transition: opacity 0.2s ease, transform 0.2s ease;
    flex-shrink: 0;
    margin-left: auto;
}

.muscle-synergist-item:hover .muscle-synergist-arrow {
    opacity: 1;
    transform: translateX(4px);
}

@media (max-width: 600px) {
    .muscle-synergist-name {
        font-size: 11px;
    }
}
/* ============================================ */
/* ⚠️ ОШИБКИ ПО ТЕХНИКЕ */
/* ============================================ */
.exercise-mistakes {
    margin-top: 12px;
    padding: 12px;
    background: rgba(255, 71, 87, 0.05);
    border-left: 3px solid #ff4757;
    border-radius: 8px;
}

.mistakes-title {
    font-size: 13px;
    font-weight: 700;
    color: #ff4757;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mistake-item {
    padding: 10px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 6px;
}

.mistake-item:last-child {
    margin-bottom: 0;
}

.mistake-error {
    font-size: 12px;
    font-weight: 600;
    color: #ff6b6b;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mistake-consequence {
    font-size: 11px;
    color: #ffa502;
    margin-bottom: 6px;
    padding-left: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mistake-fix {
    font-size: 11px;
    color: #00b894;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-left: 20px;
}
/* ============================================
   ДОБАВКИ
   ============================================ */
.supplements-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.supplements-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.supplements-subtitle {
    font-size: 14px;
    color: #8892b0;
    margin-bottom: 20px;
}

.supplements-search {
    margin-bottom: 16px;
}

.supplements-search input {
    width: 100%;
    padding: 12px 16px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
}

.supplements-search input:focus {
    outline: none;
    border-color: #6fb3ff;
}

.supplements-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.suppl-cat-btn {
    padding: 8px 14px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    color: #8892b0;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.suppl-cat-btn:hover {
    background: rgba(111, 179, 255, 0.1);
    color: #6fb3ff;
}

.suppl-cat-btn.active {
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    color: #fff;
    border-color: transparent;
}

.supplements-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

.suppl-card {
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 18px;
    transition: all 0.2s;
}

.suppl-card:hover {
    border-color: rgba(111, 179, 255, 0.3);
    transform: translateY(-2px);
}

.suppl-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 4px;
}

.suppl-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

.suppl-popular {
    background: linear-gradient(135deg, #ffd93d, #ffb800);
    color: #000;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 8px;
    white-space: nowrap;
}

.suppl-card-subtitle {
    font-size: 12px;
    color: #5a5a7a;
    margin-bottom: 10px;
}

.suppl-card-desc {
    font-size: 13px;
    color: #8892b0;
    line-height: 1.5;
    margin-bottom: 10px;
}

.suppl-card-rating {
    font-size: 14px;
    margin-bottom: 12px;
}

.suppl-card-toggle {
    width: 100%;
    padding: 10px;
    background: rgba(111, 179, 255, 0.1);
    border: 1px solid rgba(111, 179, 255, 0.2);
    border-radius: 10px;
    color: #6fb3ff;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.suppl-card-toggle:hover {
    background: rgba(111, 179, 255, 0.2);
}

.suppl-card-details {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.suppl-block {
    margin-bottom: 14px;
}

.suppl-block-title {
    font-size: 12px;
    font-weight: 700;
    color: #6fb3ff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.suppl-block-text {
    font-size: 13px;
    color: #b0b8d0;
    line-height: 1.5;
}

.suppl-block-natural {
    background: rgba(0, 184, 148, 0.08);
    border-left: 3px solid #00b894;
    padding: 12px;
    border-radius: 8px;
}

.suppl-block-natural .suppl-block-title {
    color: #00b894;
}

.suppl-alternatives {
    list-style: none;
    padding: 0;
    margin: 0;
}

.suppl-alternatives li {
    padding: 4px 0;
    font-size: 13px;
    color: #b0b8d0;
}

.suppl-alternatives strong {
    color: #fff;
}

.suppl-block-warning {
    background: rgba(255, 71, 87, 0.08);
    border-left: 3px solid #ff4757;
    padding: 12px;
    border-radius: 8px;
}

.suppl-block-warning .suppl-block-title {
    color: #ff4757;
}

.supplements-empty {
    text-align: center;
    padding: 40px 20px;
    color: #5a5a7a;
    font-size: 14px;
}

.supplements-disclaimer {
    margin-top: 30px;
    padding: 16px;
    background: rgba(255, 71, 87, 0.05);
    border: 1px solid rgba(255, 71, 87, 0.15);
    border-radius: 12px;
    font-size: 13px;
    color: #b0b8d0;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

@media (max-width: 600px) {
    .supplements-grid {
        grid-template-columns: 1fr;
    }
}
/* ============================================
   СРАВНЕНИЕ ТРЕНИРОВОК
   ============================================ */
.comparison-block {
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
}

.comparison-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.comparison-hint {
    font-size: 13px;
    color: #5a5a7a;
    text-align: center;
    padding: 16px;
}

.comparison-selects {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.comparison-selects select {
    flex: 1;
    padding: 10px 14px;
    background: rgba(16, 16, 32, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}

.comparison-arrow {
    color: #6fb3ff;
    font-size: 18px;
}

.comparison-result {
    margin-top: 16px;
}

.comp-section {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.comp-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.comp-section-title {
    font-size: 13px;
    font-weight: 700;
    color: #8892b0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.comp-section-title.comp-added {
    color: #00b894;
}

.comp-section-title.comp-removed {
    color: #ff4757;
}

.comp-ex {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 12px;
}

.comp-ex-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.comp-ex-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
}

.comp-ex-col {
    text-align: center;
}

.comp-ex-col:first-child {
    text-align: left;
}

.comp-ex-col:last-child {
    text-align: right;
}

.comp-ex-label {
    font-size: 11px;
    color: #5a5a7a;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.comp-ex-value {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.comp-ex-reps {
    font-size: 12px;
    color: #8892b0;
    margin-top: 2px;
}

.comp-ex-delta {
    font-size: 13px;
    color: #00b894;
    text-align: center;
    margin-top: 10px;
    padding: 6px;
    background: rgba(0, 184, 148, 0.08);
    border-radius: 6px;
}

.comp-ex-volume {
    font-size: 11px;
    color: #5a5a7a;
    text-align: center;
    margin-top: 6px;
}

.comp-ex-name {
    font-size: 13px;
    color: #b0b8d0;
    padding: 6px 0;
}

.comp-notfound {
    opacity: 0.7;
}

@media (max-width: 600px) {
    .comparison-selects {
        flex-direction: column;
    }
    
    .comparison-arrow {
        transform: rotate(90deg);
    }
}
/* ============================================
   МОДАЛКА ЗАМЕНЫ
   ============================================ */
.replace-modal {
    position: fixed;
    inset: 0;
    z-index: 10002;
    display: none;
}
.replace-modal.show {
    display: block;
}
.replace-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
}
.replace-content {
    position: relative;
    max-width: 700px;
    max-height: 90vh;
    overflow-y: auto;
    margin: 5vh auto;
    background: rgba(16, 16, 32, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 24px;
    color: #fff;
}
.replace-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    color: #8892b0;
    cursor: pointer;
    padding: 8px;
}
.replace-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
}
.replace-source {
    background: rgba(111, 179, 255, 0.08);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 20px;
}
.replace-source-label {
    font-size: 11px;
    color: #5a5a7a;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.replace-source-name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}
.replace-source-equip {
    font-size: 13px;
    color: #8892b0;
    margin-top: 2px;
}
.replace-reason-title {
    font-size: 13px;
    color: #8892b0;
    margin-bottom: 10px;
}
.replace-reasons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.replace-reason-btn {
    padding: 10px 16px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #8892b0;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}
.replace-reason-btn:hover {
    border-color: #6fb3ff;
    color: #6fb3ff;
}
.replace-reason-btn.active {
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    color: #fff;
    border-color: transparent;
}
.replace-equipment-toggle {
    margin-bottom: 16px;
}
.replace-equipment-btn {
    padding: 8px 14px;
    background: transparent;
    border: 1px dashed rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    color: #8892b0;
    cursor: pointer;
    font-size: 12px;
}
.replace-equipment-panel {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
}
.replace-equip-title {
    font-size: 13px;
    color: #8892b0;
    margin-bottom: 12px;
}
.replace-equip-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}
.replace-equip-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #b0b8d0;
}
.replace-equip-save {
    padding: 8px 16px;
    background: #6fb3ff;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.replace-results-title {
    font-size: 13px;
    color: #8892b0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}
.replace-card {
    display: flex;
    gap: 14px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 12px;
    align-items: flex-start;
}
.replace-card-img {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}
.replace-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.replace-card-info {
    flex: 1;
    min-width: 0;
}
.replace-card-name {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}
.replace-card-equip {
    font-size: 12px;
    color: #8892b0;
    margin-bottom: 8px;
}
.replace-card-why,
.replace-card-what {
    font-size: 12px;
    color: #b0b8d0;
    line-height: 1.4;
    margin-bottom: 4px;
}
.replace-card-why strong,
.replace-card-what strong {
    color: #6fb3ff;
}
.replace-card-btn {
    padding: 8px 14px;
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
    white-space: nowrap;
}
.replace-empty {
    text-align: center;
    color: #5a5a7a;
    font-size: 13px;
    padding: 20px;
}
.exercise-card.highlight {
    box-shadow: 0 0 0 2px #6fb3ff;
    transition: box-shadow 0.3s;
}

@media (max-width: 600px) {
    .replace-content {
        margin: 2vh 10px;
        max-height: 96vh;
        padding: 18px;
    }
    .replace-card {
        flex-direction: column;
    }
    .replace-card-img {
        width: 100%;
        height: 120px;
    }
    .replace-card-btn {
        width: 100%;
    }
    .replace-equip-list {
        grid-template-columns: 1fr;
    }
}
/* ============================================
   КАРТОЧКА ТРЕНИРОВКИ
   ============================================ */
.btn-share-workout {
    padding: 6px 12px;
    background: rgba(0, 184, 148, 0.1);
    border: 1px solid rgba(0, 184, 148, 0.2);
    border-radius: 8px;
    color: #00b894;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    margin-left: 6px;
}
.btn-share-workout:hover {
    background: rgba(0, 184, 148, 0.2);
    transform: translateY(-1px);
}
.sharecard-modal {
    position: fixed;
    inset: 0;
    z-index: 10003;
    display: none;
}
.sharecard-modal.show {
    display: block;
}
.sharecard-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(8px);
}
.sharecard-content {
    position: relative;
    max-width: 700px;
    max-height: 92vh;
    overflow-y: auto;
    margin: 4vh auto;
    background: rgba(16, 16, 32, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 24px;
    color: #fff;
}
.sharecard-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    color: #8892b0;
    cursor: pointer;
    padding: 8px;
}
.sharecard-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sharecard-mode-title,
.sharecard-options-title {
    font-size: 13px;
    color: #8892b0;
    margin-bottom: 10px;
}
.sharecard-mode {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
.sharecard-mode-btn {
    padding: 10px 20px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #8892b0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s;
}
.sharecard-mode-btn:hover {
    border-color: #6fb3ff;
}
.sharecard-mode-btn.active {
    background: linear-gradient(135deg, #6fb3ff, #00b894);
    color: #fff;
    border-color: transparent;
}
.sharecard-options {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}
.sharecard-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #b0b8d0;
}
.sharecard-preview-wrap {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}
.sharecard-canvas {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
.sharecard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.sharecard-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
}
.sharecard-btn-download {
    background: linear-gradient(135deg, #6fb3ff, #4a5fc1);
    color: #fff;
}
.sharecard-btn-download:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(111, 179, 255, 0.4);
}
.sharecard-btn-share {
    background: linear-gradient(135deg, #00b894, #6fb3ff);
    color: #fff;
}
.sharecard-btn-share:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 184, 148, 0.4);
}
@media (max-width: 600px) {
    .sharecard-content {
        margin: 2vh 10px;
        max-height: 96vh;
        padding: 18px;
    }
    .sharecard-actions {
        flex-direction: column;
    }
    .sharecard-mode {
        flex-direction: column;
    }
}

/* ============================================
   ТРЕКЕР ВОДЫ
   ============================================ */
.water-tracker {
    background: linear-gradient(135deg, rgba(41, 128, 185, 0.08), rgba(52, 152, 219, 0.05));
    border: 1px solid rgba(52, 152, 219, 0.2);
    border-radius: 16px;
    padding: 20px;
    margin-top: 20px;
}

.water-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.water-title {
    font-size: 16px;
    font-weight: 700;
    color: #5dade2;
    display: flex;
    align-items: center;
    gap: 8px;
}

.water-date {
    font-size: 12px;
    color: #5a5a7a;
}

.water-main {
    margin-bottom: 16px;
}

.water-amount {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 12px;
    justify-content: center;
}

.water-current {
    font-size: 32px;
    font-weight: 800;
    color: #5dade2;
}

.water-sep {
    font-size: 20px;
    color: #4a4a6a;
    margin: 0 4px;
}

.water-goal {
    font-size: 20px;
    font-weight: 600;
    color: #8892b0;
}

.water-unit {
    font-size: 14px;
    color: #5a5a7a;
}

.water-progress {
    width: 100%;
    height: 8px;
    background: rgba(52, 152, 219, 0.1);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 6px;
}

.water-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3498db, #5dade2, #85c1e9);
    border-radius: 4px;
    transition: width 0.4s ease;
    box-shadow: 0 0 10px rgba(93, 173, 226, 0.5);
}

.water-percent {
    text-align: right;
    font-size: 12px;
    font-weight: 700;
    color: #5dade2;
}

.water-actions {
    display: flex;
    gap: 8px;
}

.water-btn {
    flex: 1;
    padding: 10px 14px;
    background: rgba(52, 152, 219, 0.15);
    border: 1px solid rgba(52, 152, 219, 0.3);
    border-radius: 10px;
    color: #5dade2;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.water-btn:hover {
    background: rgba(52, 152, 219, 0.3);
    transform: translateY(-2px);
}

.water-btn:active {
    transform: translateY(0);
}

.water-btn-reset {
    flex: 0 0 auto;
    padding: 10px 14px;
    background: rgba(255, 71, 87, 0.1);
    border-color: rgba(255, 71, 87, 0.3);
    color: #ff4757;
}

.water-btn-reset:hover {
    background: rgba(255, 71, 87, 0.2);
}

@media (max-width: 600px) {
    .water-tracker {
        padding: 16px;
    }
    .water-current {
        font-size: 26px;
    }
    .water-btn {
        padding: 8px 10px;
        font-size: 12px;
    }
}
/* ============================================
   🎯 СИНЕРГИСТЫ — ПОДСВЕТКА
   ============================================ */
.body-svg-layer svg path.synergist-active {
    fill: #ffb800 !important;
    opacity: 0.5 !important;
    animation: none !important;
    filter: 
        drop-shadow(0 2px 6px rgba(255, 184, 0, 0.5))
        drop-shadow(0 0 10px rgba(255, 184, 0, 0.3)) !important;
    pointer-events: none !important;
}

/* Если синергист — на активном слое, всё равно amber */
.body-svg-layer svg path.synergist-active:hover {
    fill: #ffb800 !important;
    opacity: 0.7 !important;
}
/* 🔥 ЖЁСТКО: скрытый слой — никаких hover */
.body-svg-layer:not(.visible) svg path,
.body-svg-layer:not(.visible) svg,
.body-svg-layer:not(.visible) {
    pointer-events: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    display: none !important;   /* ⭐ ЖЁСТКО */
}

.body-svg-layer.visible svg path {
    pointer-events: auto;
}
/* ============================================
   🌍 КНОПКА ЯЗЫКА
   ============================================ */
.btn-lang {
    padding: 8px 14px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #8892b0;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    letter-spacing: 0.5px;
    min-width: 44px;
    text-align: center;
}

.btn-lang:hover {
    background: rgba(111, 179, 255, 0.1);
    border-color: #6fb3ff;
    color: #6fb3ff;
    transform: translateY(-1px);
}

@media (max-width: 500px) {
    .btn-lang {
        padding: 6px 10px;
        font-size: 11px;
        min-width: 38px;
    }
}
/* ============================================
   CUSTOM SELECT (выпадающий список)
   ============================================ */
.custom-select {
    position: relative;
    width: 100%;
}

.custom-select-btn {
    width: 100%;
    padding: 12px 16px;
    background: rgba(16, 16, 32, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: #e0e0f0;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    transition: all 0.2s;
    font-family: inherit;
}

.custom-select-btn:hover {
    border-color: rgba(111, 179, 255, 0.3);
    background: rgba(16, 16, 32, 0.8);
}

.custom-select-btn:focus {
    outline: none;
    border-color: #6fb3ff;
    box-shadow: 0 0 0 3px rgba(111, 179, 255, 0.1);
}

.custom-select-arrow {
    color: #8892b0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: transform 0.2s;
}

.custom-select.open .custom-select-arrow {
    transform: rotate(180deg);
}

.custom-select-list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #12122a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
    max-height: 280px;
    overflow-y: auto;
    z-index: 100;
    padding: 4px;
}

.custom-select-list::-webkit-scrollbar {
    width: 6px;
}

.custom-select-list::-webkit-scrollbar-track {
    background: transparent;
}

.custom-select-list::-webkit-scrollbar-thumb {
    background: rgba(111, 179, 255, 0.3);
    border-radius: 3px;
}

.custom-select-option {
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}

.custom-select-option:hover {
    background: rgba(111, 179, 255, 0.1);
}

.custom-select-option.selected {
    background: rgba(111, 179, 255, 0.15);
    border-left: 3px solid #6fb3ff;
    padding-left: 9px;
}

.custom-select-option-name {
    font-size: 14px;
    font-weight: 600;
    color: #e0e0f0;
    margin-bottom: 2px;
}

.custom-select-option-desc {
    font-size: 12px;
    color: #8892b0;
    line-height: 1.3;
}

/* Открытый селект — подсветить кнопку */
.custom-select.open .custom-select-btn {
    border-color: #6fb3ff;
}