div.tag-controller {
    display: grid;
    align-items: center;
    padding: 5px 10px;
    border-radius: 20px;
    border: 0;
    background-color: #333;
    color: white;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    white-space: normal;
}
div.tag-controller input {
    width: 100%;
}
div.tag-controller.view, div.tag-controller.view .tags {
    background-color: rgba(0,0,0,0);
    white-space: normal;
}
div.tag-controller *:not(input):not(select) {
    margin: 0;
    padding: 0;
    background-color: #333;
}
div.tag-controller .tags {
    display: inline-block;
}
div.tag-controller div.tags div.tag * {
    background-color: rgba(0,0,0,0)
}
div.tag {
    display: inline-flex;
    color: white;
    align-items: center;
    font-size: 10px;
    background-color: #888 !important;
    padding: 5px !important;
    border-radius: 5px;
    margin: 1px !important;
    white-space: nowrap;
}
div.tag.edit > [data-remove]:before {
    content: "x";
    display: inline-flex;
    align-items: center;
    margin: 0 5px 0 0;
    padding: 0;
    height: 5px;
}