.code-boxes-col-1-1 {
    width: 100%;
}

.code-boxes-col-2-1 {
    display: inline-block;
    vertical-align: top;
}

.code-box {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0 0 16px;
    border: 1px solid @site-border-color-split;
    border-radius: @border-radius-sm;
    transition: all 0.2s;
    &.dark {
        border-color: #2F334D;
        .code-box-demo {
            border-bottom-color: #2F334D;
        }
        .code-box-title {
            background: rgb(14, 14, 23);
            a, a:hover {
                color: #BFBFBF;
            }
        }
        .code-box-actions {
            border-top-color: #2F334D;
        }
    }
    &:target {
        border: 1px solid @primary-color;
    }
    &-expand-trigger {
        position: relative;
        margin-left: 8px;
        color: #3B4357;
        font-size: 18px;
        cursor: pointer;
        opacity: 0.8;
        transition: all 0.3s;
    }
    &-title {
        position: absolute;
        top: -14px;
        margin-left: 16px;
        padding: 1px 8px;
        color: #777;
        background: #FFF;
        border-radius: @border-radius-sm @border-radius-sm 0 0;
        transition: background-color 0.4s;
        a,
        a:hover {
            color: @site-text-color;
            font-weight: 500;
            font-size: @font-size-base;
        }
    }
    &-description {
        padding: 18px 24px 12px;
    }
    a.edit-button {
        position: absolute;
        top: 7px;
        right: -16px;
        padding-right: 6px;
        font-size: 12px;
        text-decoration: none;
        background: #FFF;
        transform: scale(0.9);
    }
    &-demo {
        padding: 42px 24px 50px;
        color: rgba(0, 0, 0, 0.65);
        border-bottom: 1px solid @site-border-color-split;
        .icon-demo-content {
            .anticon {
                font-size: 26px;
            }
            .icon-box {
                display: flex;
                flex-wrap: wrap;
                .icon-item {
                    padding: 20px 0;
                    border-radius: 4px;
                    &:hover {
                        background-color: #EEE;
                    }
                    .icon-name {
                        width: 180px;
                        text-align: center;
                        cursor: pointer;
                        p {
                            font-size: 14px;
                            padding: 10px 0 0;
                            user-select: none;
                        }
                    }
                    .anticon {
                        font-size: 26px;
                    }
                }
            }
        }
    }
    iframe {
        width: 100%;
        border: 0;
    }
    &-meta {
        &.markdown {
            position: relative;
            width: 100%;
            font-size: @font-size-base;
            border-radius: 0 0 @border-radius-sm @border-radius-sm;
            transition: background-color 0.4s;
        }
        blockquote {
            margin: 0;
        }
        h4,
        section& p {
            width: 98%;
            margin: 0;
        }
        > p {
            width: 100%;
            margin: 0.5em 0;
            padding-right: 25px;
            font-size: 12px;
            word-break: break-word;
        }
    }
    &.expand &-meta {
        border-bottom: 1px dashed @site-border-color-split;
        border-radius: 0;
    }
    .code-expand-icon {
        cursor: pointer;
        background-color: #FFF;
        border-radius: 50%;
    }
    .code-expand-icon-show,
    .code-expand-icon-hide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        box-shadow: none;
        transition: all 0.4s;
        user-select: none;
    }
    .code-expand-icon-show {
        opacity: 0.55;
        pointer-events: auto;
        &:hover {
            opacity: 1;
        }
    }
    .code-expand-icon.ant-tooltip-open .code-expand-icon-show {
        opacity: 1;
    }
    .code-expand-icon-hide {
        opacity: 0;
        pointer-events: none;
    }
    .highlight-wrapper {
        display: none;
        overflow: auto;
        border-radius: 0 0 @border-radius-sm @border-radius-sm;
        &-expand {
            display: block;
        }
    }
    .highlight {
        position: relative;
        pre {
            margin: 0;
            padding: 0;
            background: #FFF;
        }
        &:not(:first-child) {
            border-top: 1px dashed @site-border-color-split;
        }
    }
    &-actions {
        padding-top: 12px;
        text-align: center;
        border-top: 1px dashed @site-border-color-split;
        opacity: 0.7;
        transition: opacity 0.3s;
        &:hover {
            opacity: 1;
        }
        > i,
        > form,
        > span {
            position: relative;
            display: inline-block;
            width: 16px;
            height: 16px;
            margin-left: 16px;
            vertical-align: top;
            &:first-child {
                margin-left: 0;
            }
        }
        > form {
            top: -2px;
        }
    }
    &-code-copy {
        width: 20px;
        height: 20px;
        color: @site-text-color-secondary;
        font-size: 14px;
        line-height: 20px;
        text-align: center;
        background: #FFF;
        border-radius: 20px;
        cursor: pointer;
        transition: all 0.24s;
        &:hover {
            color: @site-text-color-secondary;
            transform: scale(1.2);
        }
        &.anticon-check {
            color: @green-6 !important;
            font-weight: bold;
        }
    }
    &-codepen {
        width: 20px;
        height: 20px;
        overflow: hidden;
        text-indent: -9999px;
        background:
            transparent
            url("https://gw.alipayobjects.com/zos/rmsportal/OtZslpOjYXijshDERXwc.svg") center / 14px
            no-repeat;
        border: 0;
        cursor: pointer;
        transition: all 0.3s;
    }
    &-riddle {
        display: none;
        width: 20px;
        height: 20px;
        overflow: hidden;
        text-indent: -9999px;
        background:
            transparent
            url("https://gw.alipayobjects.com/zos/rmsportal/DlHbxMCyeuyOrqOdbgik.svg") center / 14px
            no-repeat;
        border: 0;
        cursor: pointer;
        transition: all 0.3s;
    }
    &-codesandbox {
        width: 20px;
        height: 20px;
        overflow: hidden;
        text-indent: -9999px;
        background:
            transparent
            url("https://gw.alipayobjects.com/zos/rmsportal/aaYmtdDyHSCkXyLZVgGK.svg") center / 14px
            no-repeat;
        border: 0;
        cursor: pointer;
        transition: all 0.3s;
    }
    .highlight-wrapper:hover &-code-copy,
    .highlight-wrapper:hover &-codepen,
    .highlight-wrapper:hover &-codesandbox,
    .highlight-wrapper:hover &-riddle {
        opacity: 1;
    }
    pre {
        width: auto;
        margin: 0;
        code {
            background: #FFF;
            border: none;
        }
    }
    &-debug {
        border-color: @purple-3;
    }
    &-debug &-title a {
        color: @purple-6;
    }
}

.show-riddle-button .code-box-riddle {
    display: block;
}
