& {
    max-width: 100%;
    background-color: #fff;
    line-height: 30px;
    box-shadow: 0 0 20px -6px rgba(0, 0, 0, .1);
    box-sizing: border-box;
    border: 1px solid #0003;
    overflow: hidden;
    width: auto;
    height: auto;
    max-height: 360px;

    >[item] {
        cursor: default;
        padding: 0 16px;

        &[selected] {
            color: #29e;
        }

        &.focus {
            background-color: #2ca2f9;
            color: #fff;
        }

        &:active {
            background-color: #1c82c9;
            color: #fff;
        }

        &[disabled] {
            color: #bbb;
            background-color: transparent;
        }
    }
    >[empty]{
        opacity: .6;
    }
}

&[iconed] {
    padding-left: 30px;

    &:before {
        content: "";
        display: block;
        position: absolute;
        height: 100%;
        top: 0;
        left: 0;
        width: 30px;
        background: #f2f4f6;
    }

    >div {
        filter: grayscale(1);
        position: relative;

        &:hover,
        &:active,
        &[selected] {
            filter: grayscale(0);
        }


        margin-left: -30px;
        padding-left: 36px;
        background-repeat: no-repeat;
        background-size: auto 16px;
        background-position-y: 50%;
        background-position-x: 8px;
    }
}

>[adder] {
    padding: 0 16px;
    text-align: right;

    a {
        cursor: pointer;
        vertical-align: top;
        margin-left: 10px;
    }
}

&>input {
    height: 28px;
    line-height: 28px;
    padding: 0 16px;
    border: none;
    appearance: none;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: block;
    position: sticky;
    top: 0;
    border-bottom: 1px solid #0006;

    &:focus {
        outline-offset: -1px;
        outline: 1px solid #2ca2f9;
    }
}

&[searching] {
    &::before {
        content: "正在搜索..";
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        display: block;
        font-size: 12px;
        text-align: right;
        pointer-events: none;
        padding: 0 16px;
    }
}

&[empty] {
    background-color: #fff;
}

b {
    border: 1px solid #29e;
    background-color: #29e2;
    font-weight: 400;
    border-radius: 2px;
}