.yinxiaodivs {
    width: 100%;
}

.player-controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
    padding: 0.3rem;
    border-radius: 3px;
    border: 1px solid #eee;
    margin-top: 0.75rem;
}

.night .player-controls{
    border: 1px solid #444;
    background-color: #181a1b;
}

.loop-btn{
    background-color: unset;
    border: unset;
}

.loop-btn i{
    color: #34495e;
    font-size: 0.6rem;
    font-weight: bold;
    cursor: pointer;
}

.loop-btn.active i{
    color: #5fb878;
}

.play-btn {
    background: none;
    border: 2px solid #16baaa;
    color: #16baaa;
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.35rem;
}

.time-display {
    font-family: monospace;
    color: #5a6a7a;
    min-width: 5rem;
    text-align: center;
    flex-shrink: 0;
    font-size: 0.55rem;
}

.night .time-display{
    color: #bbb;
}

.progress-container {
    flex: 1;
    height: 20px;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
}

.progress-track {
    width: 100%;
    height: 6px;
    background: #eee;
    border-radius: 3px;
    position: relative;
    overflow: visible;
}

.night .progress-track{
    background-color: #444;
}

.progress-filled {
    height: 100%;
    background: #16baaa;
    border-radius: 3px;
    width: 0%;
    pointer-events: none;
}

.progress-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #16baaa;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/***************************************************************/

.effects-panel {
    margin-bottom: 0.15rem;
}

.effects-panel{
    margin-top: 0.75rem;
}

.effects-div{
    border: 1px solid #eee;
    border-radius: 3px;
    margin-bottom: 0.75rem;
}

.night .effects-div{
    border:1px solid #444;
}

.category-title {
    height: 1.8rem;
    line-height: 1.8rem;
    padding-left: 0.5rem;
    font-size: 0.6rem;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 8px;
}

.night .category-title {
    border-bottom: 1px solid #444;
}

.category-title span.tag {
    font-size: 0.6rem;
    color: #16baaa;
}

.effects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.6rem;
    padding: 0.6rem;
}

.effect-card {
    background: #f6f7fa;
    border: 1px solid #eee;
    border-radius: 3px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.night .effect-card{
    background: #232627;
    border: 1px solid #444;
}

.effect-card.active {
    border-color: #19baaa;
}

.effect-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem;
    background-color: #fff;
    border-bottom: 1px solid #eee;;
}

.night .effect-header{
    background-color: #151515;
    border-bottom: 1px solid #444;
}

.status-light {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
    border: none;
    outline: none;
    background: #abb1c1;
}

.night .status-light{
    background: #5a6a7a;
}

.status-light.active , .night .status-light.active {
    background: #2ed573;
    box-shadow: 0 0 8px #2ed573;
}

.effect-params {
    padding: 0.25rem;
}

.param-item {
    margin-bottom: 0.25rem;
    padding: 0.5rem 0.5rem 1rem 0.5rem;
    border-radius: 3px;
    border: 1px solid #eeee;
    background-color: #fff;
}

.night .param-item{
    border: 1px solid #444;
    background-color: #181a1b;
}

.param-item:last-child {
    margin-bottom: 0px;
}

.param-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.param-label {
    color: #5a6a7a;
    font-size: 0.5rem;
}

.night .param-label{
    color: #aaa;
}

.param-locked {
    pointer-events: none !important;
}

.param-locked .param-label::after {
    content: ' (关闭后可调)';
    color: #ff4757;
    font-size: 0.5rem;
}

.param-val {
    text-align: right;
    font-family: 'Courier New', monospace;
    min-width: 40px;
}

.action-bar {
    border: 1px solid #eee;
}

.night .action-bar {
    border: 1px solid #444;
}

#file-input,
#sync-audio {
    display: none;
}