:root { 
    --glass: rgba(255, 255, 255, 0.4); 
    --accent: #db3450; 
    --success: #2ecc71; 
}

/* Глобальное исправление размеров */
* { box-sizing: border-box; }

body { 
    background: linear-gradient(135deg, #f52032cb 0%, hwb(86 0% 25% / 0.671) 100%); 
    min-height: 100vh; 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    display: flex; 
    justify-content: center; 
    padding: 20px; 
    margin: 0;
}

.main-app { width: 100%; max-width: 1000px; display: flex; flex-direction: column; gap: 20px; }

/* Общие контейнеры */
.player-container, .upload-section, .comments-section { 
    background: var(--glass); 
    backdrop-filter: blur(10px); 
    border-radius: 25px; 
    border: 1px solid rgba(255,255,255,0.5); 
    width: 100%;
}

/* ПЛЕЕР */
.player-container { display: flex; padding: 0; overflow: hidden; }

.side-filters { 
    width: 220px; 
    padding: 25px; 
    background: rgba(255,255,255,0.2); 
    border-right: 1px solid rgba(255,255,255,0.2);
    flex-shrink: 0;
}

.filter-link { 
    display: block; 
    padding: 10px; 
    color: #333; 
    text-decoration: none; 
    border-radius: 8px;
    margin-bottom: 5px;
    transition: 0.3s;
}
.filter-link:hover { background: rgba(255,255,255,0.3); color: var(--accent); }

.player-main { flex-grow: 1; padding: 25px; display: flex; flex-direction: column; min-width: 0; }
.cover-wrapper { width: 100%; height: 250px; border-radius: 20px; overflow: hidden; margin-bottom: 15px; }
#current-cover { width: 100%; height: 100%; object-fit: cover; }
/* Стилизация самого контейнера аудио */
audio {
    width: 100%;
    height: 40px; /* Фиксированная высота для предсказуемого скругления */
    border-radius: 50px; /* Создает форму капсулы */
    background-color: #f1f3f4; /* Светлый фон для основы */
    outline: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* Легкая тень для объема */
}

/* Специфические настройки для браузеров на движке Chromium (Chrome, Opera, Edge) */
audio::-webkit-media-controls-panel {
    background-color: rgba(255, 255, 255, 0.9); /* Делаем внутреннюю панель светлее */
    border-radius: 50px; /* Дублируем скругление внутренней части */
}

/* Убираем стандартную рамку фокуса, чтобы не портила вид */
audio:focus {
    outline: none;
}

.playlist { height: 280px; overflow-y: auto; margin-top: 20px; padding-right: 5px; }
.track-item { 
    display: flex; align-items: center; padding: 12px; margin-bottom: 8px; 
    background: rgba(255,255,255,0.2); border-radius: 12px; cursor: pointer; 
}
.track-item.active { background: var(--accent); color: white; }
.mini-img { width: 45px; height: 45px; border-radius: 8px; margin-right: 15px; object-fit: cover; }

/* УПРАВЛЕНИЕ БИБЛИОТЕКОЙ */
.upload-section { padding: 25px; text-align: center; }
.upload-form { display: flex; flex-direction: column; align-items: center; gap: 15px; }

.file-input-label {
    background: rgba(255, 255, 255, 0.3);
    border: 2px dashed rgba(255, 255, 255, 0.5);
    padding: 20px;
    width: 100%;
    max-width: 400px;
    border-radius: 15px;
    cursor: pointer;
}

/* КНОПКИ */
button, .refresh-btn { 
    background: var(--accent); 
    color: rgb(46, 46, 46); 
    border: none; 
    padding: 12px 25px; 
    border-radius: 10px; 
    font-weight: bold; 
    cursor: pointer; 
    transition: 0.3s;
}
.upload-form button { background: var(--success); }
button:hover { filter: brightness(1.1); transform: translateY(-2px); }

/* КОММЕНТАРИИ */
.comments-section { padding: 25px; }
.comment-card { background: rgba(255,255,255,0.2); padding: 20px; border-radius: 15px; margin-top: 15px; }
textarea { 
    width: 100%; border-radius: 12px; padding: 15px; 
    border: 1px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.3); 
    font-family: inherit; margin-bottom: 10px;
}
.file-format-badge {
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(0, 0, 0, 0.1);
    text-transform: uppercase;
    margin-left: 10px;
    flex-shrink: 0; /* Чтобы бейдж не сжимался */
}
/* Добавьте это в ваш файл style.css */
.author-input {
    width: 100%;
    border-radius: 12px;
    padding: 10px 15px;
    border: 1px solid rgba(255,255,255,0.3);
    background: rgba(255,255,255,0.3);
    font-family: inherit;
    margin-bottom: 10px;
    font-weight: bold;
}

.comment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 5px;
}

.comment-author {
    font-weight: bold;
    color: #2c3e50;
    font-size: 0.95rem;
}
.track-item.active .file-format-badge {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border-color: rgba(255, 255, 255, 0.3);
}
.hidden { display: none !important; }