
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:Arial,Helvetica,sans-serif;background:#1b1b1b url("../musik/pic/back.jpg") center top;color:#fff;}
#app{width:1280px;margin:12px auto;background:#2b2b2b;border:1px solid #555;border-radius:10px;overflow:hidden;box-shadow:0 0 20px rgba(0,0,0,.5);}
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 16px;
background:#333;
border-bottom:1px solid #555;
}

.headerLeft{
display:flex;
align-items:center;
gap:15px;
}

.headerButtons{
display:flex;
gap:10px;
}

.headerButtons button{
padding:8px 18px;
border:none;
border-radius:5px;
background:#555;
color:#fff;
font-size:14px;
cursor:pointer;
transition:.2s;
}

.headerButtons button:hover{
background:#FFD84A;
color:#000;
}

#logo{width:70px;height:auto;}
header h1{color:#FFD84A;font-size:24px;font-weight:normal;}
#version{color:#999;margin-top:3px;font-size:12px;}
#zoneContainer{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;}
.zone{
    background:#3b3b3b;
    border:1px solid #666;
    border-radius:10px;
    padding:12px;
    box-shadow:0 3px 12px rgba(0,0,0,.35);
}
.zone h2{
    color:#FFD84A;
    font-size:22px;
    font-weight:bold;
    margin-bottom:10px;
}
.field{margin-bottom:8px;}
.field label{display:block;margin-bottom:2px;color:#ccc;font-size:13px;}
.field input[type=file],.field select,.device{width:100%;}
.field select,.device{padding:4px 6px;background:#444;color:#fff;border:1px solid #666;border-radius:4px;font-size:13px;}
.adFieldHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.adFieldHeading>label{margin-bottom:2px;}
.adShuffleLabel{display:flex!important;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;}
.adShuffleLabel input{width:auto;margin:0;}
.adOptions.hidden{display:none;}
.adEnabledField>label{display:flex;align-items:center;gap:7px;cursor:pointer;color:#FFD84A;font-weight:bold;}
.adEnabledField input{width:16px;height:16px;margin:0;}
.buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px;}
.buttons button{
    height:42px;
    background:#555;
    color:#fff;
    border:none;
    border-radius:5px;
    cursor:pointer;
    font-size:20px;
    font-weight:bold;
    transition:.2s;
}
.buttons button:hover{background:#FFD84A;color:#000;}
.zone audio{
    width:100%;
    margin-top:12px;
    height:32px;
}
.status{
    margin-top:6px;
    background:#1f2d1f;
    border:1px solid #3e7a3e;
    border-radius:5px;
    padding:5px 8px;
    color:#9CFF9C;
    font-size:12px;
    min-height:24px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
footer{padding:10px;text-align:center;color:#888;border-top:1px solid #444;background:#262626;font-size:12px;}
@media(max-width:1300px){#app{width:98%;}}
@media(max-width:900px){#zoneContainer{grid-template-columns:1fr;}}
.singlePlayerApp{max-width:700px;}
.singlePlayerApp #zoneContainer{grid-template-columns:1fr;}


/* Cover layout prepared */
.zoneContent{
    display:block;
}
.coverBox{
    width:160px;
    height:160px;
    border:1px solid #666;
    border-radius:8px;
    background:#222;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.coverImage{
    width:100%;
    height:100%;
    object-fit:cover;
}
.controls{min-width:0;}


.zone.playing{
    border:2px solid #FFD84A;
    box-shadow:0 0 18px rgba(255,216,74,.35);
}


.limiterField label{
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}

.limiterField input[type=checkbox]{
    width:16px;
    height:16px;
}


/* Lautstärke unter dem Cover */
.volumeField{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 7px;
}

.volumeField label{
    margin:0;
    color:#ccc;
    font-size:13px;
}

.volumeField .volume{
    width:150px;
}

.playlistSection{padding:9px 10px 0}
.playlistHeadingRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.playlistHeadingRow h2{color:#FFD84A;font-size:20px;font-weight:normal}
#playlistCount{color:#aaa;font-size:12px}
.playlistGallery{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:2px}
.playlistCard{position:relative;display:grid;grid-template-rows:58px auto;gap:2px;min-width:0;padding:0 0 4px;overflow:hidden;border:1px solid #666;border-radius:6px;background:#292929;color:#fff;cursor:pointer;text-align:left;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:border-color .18s,transform .18s,box-shadow .18s}
.playlistCard:hover{transform:translateY(-2px);border-color:#FFD84A;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.playlistCard.is-active{border-color:#23d765;box-shadow:inset 0 0 0 3px #23d765,0 0 14px rgba(35,215,101,.35)}
.playlistCard img{width:100%;height:58px;object-fit:contain;background:#171717}
.playlistCard span,.playlistCard small{display:block;overflow:hidden;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}
.playlistCard span{color:#FFD84A;font-size:9px;font-weight:bold}
.playlistCard small{color:#bbb;font-size:10px}
@media(max-width:700px){.playlistGallery{grid-template-columns:repeat(6,minmax(0,1fr))}.playlistCard{grid-template-rows:58px auto}.playlistCard img{height:58px}.zoneContent{grid-template-columns:1fr}.leftColumn{display:grid;place-items:center}}
@media(max-width:480px){.playlistGallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.singlePlayerApp #zoneContainer{padding-top:8px}
.singlePlayerApp .zone{padding:9px 10px}
.singlePlayerApp .zone h2{margin-bottom:6px;font-size:16px}
.singlePlayerApp .field{margin-bottom:6px}
.singlePlayerApp .zone audio{height:30px;margin-top:7px}
.singlePlayerApp .buttons{margin-top:6px}
.singlePlayerApp .buttons button{height:34px;font-size:17px}
.headerButtons{align-items:flex-end;gap:6px}
.headerButtons button{display:grid;place-items:center;width:34px;height:32px;padding:0;font-size:16px}
.headerVolume{display:grid;gap:2px;width:88px;color:#aaa;font-size:10px}
.headerVolume span{line-height:1;white-space:nowrap}
.headerVolume input{width:72px;min-width:0;height:17px;margin:0;accent-color:#FFD84A;cursor:pointer}
.singlePlayerApp .zone{min-height:0}
.statusAdRow{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;margin-bottom:5px}
.statusAdRow .field{margin:0}
.statusAdRow .status{min-height:20px;margin:0;padding:3px 7px;font-size:10px}
@media(max-width:600px){header{align-items:flex-start;gap:8px}.headerLeft{gap:8px}.headerButtons{align-self:center}.headerVolume{width:76px}.headerVolume input{width:64px}header h1{font-size:18px}#version{display:none}}
